1include/master-slave.inc
2Warnings:
3Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
4Note	####	Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
5[connection master]
6# Create tables
7CREATE TABLE point_geom(id INT PRIMARY KEY, pt POINT NOT NULL, SPATIAL INDEX(pt));
8CREATE TABLE linestring_geom(id INT PRIMARY KEY, lnstr LINESTRING NOT NULL, SPATIAL INDEX(lnstr));
9CREATE TABLE polygon_geom(id INT PRIMARY KEY, poly POLYGON NOT NULL, SPATIAL INDEX(poly));
10CREATE TABLE multipoint_geom(id INT PRIMARY KEY, mpt MULTIPOINT NOT NULL, SPATIAL INDEX(mpt));
11CREATE TABLE multilinestring_geom(id INT PRIMARY KEY, mlnstr MULTILINESTRING NOT NULL, SPATIAL INDEX(mlnstr));
12CREATE TABLE multipolygon_geom(id INT PRIMARY KEY, mpoly MULTIPOLYGON NOT NULL, SPATIAL INDEX(mpoly));
13CREATE TABLE geometrycollection_geom(id INT PRIMARY KEY, geomcoll GEOMETRYCOLLECTION NOT NULL, SPATIAL INDEX(geomcoll));
14CREATE TABLE geom_data(id INT PRIMARY KEY , geom GEOMETRY NOT NULL, SPATIAL INDEX(geom));
15# Insert different GEOMETRY data
16INSERT INTO point_geom VALUES
17(10,ST_GEOMFROMTEXT('POINT(0 0)')),
18(11,ST_GEOMFROMTEXT('POINT(6 4)')),
19(12,ST_GEOMFROMTEXT('POINT(3 4)')),
20(13,ST_GEOMFROMTEXT('POINT(5 5)')),
21(14,ST_GEOMFROMTEXT('POINT(2 1)'));
22INSERT INTO linestring_geom VALUES
23(20,ST_GEOMFROMTEXT('LINESTRING(0 0,5 5,6 6)')),
24(21,ST_GEOMFROMTEXT('LINESTRING(2 3,4 5)')),
25(22,ST_GEOMFROMTEXT('LINESTRING(3 0,7 5,6 3,2 0)')),
26(23,ST_GEOMFROMTEXT('LINESTRING(5 0,9 5,2 6)')),
27(24,ST_GEOMFROMTEXT('LINESTRING(0 0,5 3,3 4,7 7,9 0)'));
28INSERT INTO polygon_geom VALUES
29(30,ST_GEOMFROMTEXT('POLYGON((0 0,6 7,8 8,3 9,0 0),(3 6,4 6,4 7,3 6))')),
30(31,ST_GEOMFROMTEXT('POLYGON((1 2,5 4,9 9,1 9,1 2))')),
31(32,ST_GEOMFROMTEXT('POLYGON((2 3,3 5,8 1,2 6,2 3))')),
32(33,ST_GEOMFROMTEXT('POLYGON((8 0,2 7,5 6,9 5,8 0))')),
33(34,ST_GEOMFROMTEXT('POLYGON((5 2,5 10,10 10,10 2,5 2),(7 5,9 5,8 8,6 9,7 5))'));
34INSERT INTO multipoint_geom VALUES
35(40,ST_GEOMFROMTEXT('MULTIPOINT(2 2,3 3,4 4)')),
36(41,ST_GEOMFROMTEXT('MULTIPOINT(1 2,3 0,7 4,6 6)')),
37(42,ST_GEOMFROMTEXT('MULTIPOINT(2 9,3 4,6 4,5 5,3 3)')),
38(43,ST_GEOMFROMTEXT('MULTIPOINT(8 7,2 1,5 4,3 4,2 8,4 5)')),
39(44,ST_GEOMFROMTEXT('MULTIPOINT(3 6,2 3,7 3)'));
40INSERT INTO multilinestring_geom VALUES
41(50,ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 3,4 5),(6 6,8 8,9 9,10 10))')),
42(51,ST_GEOMFROMTEXT('MULTILINESTRING((2 3,5 6,4 4,1 1),(2 6,5 8,7 9,9 10))')),
43(52,ST_GEOMFROMTEXT('MULTILINESTRING((0 1,6 3,7 5),(6 2,5 8,6 9))')),
44(53,ST_GEOMFROMTEXT('MULTILINESTRING((5 5,3 7,7 8),(2 2,6 9,10 9),(1 2,6 7,9 9))')),
45(54,ST_GEOMFROMTEXT('MULTILINESTRING((0 1,5 3,8 5),(7 6,9 8,10 9,10 11))'));
46INSERT INTO multipolygon_geom VALUES
47(60,ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((2 2,4 5,6 2,2 2)))')),
48(61,ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 6,6 6,6 0,0 0)),((2 1,2 3,5 3,5 1,2 1)))')),
49(62,ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 7,7 7,7 0,0 0)),((3 3,5 6,7 3,3 3)),((2 6,5 8,8 6,2 6)))')),
50(63,ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 8,8 8,8 0,0 0)),((0 0,0 2,2 2,2 0,0 0)))')),
51(64,ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 9,9 9,9 0,0 0)),((1 1,1 3,3 3,3 1,1 1)))'));
52INSERT INTO geometrycollection_geom VALUES
53(70,ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
54                            'POINT(0 0),'
55                            'LINESTRING(0 0,10 10),'
56                            'POLYGON((0 0,0 10,10 10,10 0, 0 0)),'
57                            'MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),'
58                            'MULTILINESTRING((0 0,10 10),(0 10,10 0)),'
59                            'MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))')),
60(71,ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
61                            'POINT(4 5),'
62                            'LINESTRING(0 0,10 10,11 11),'
63                            'POLYGON((0 0,0 8,8 8,8 0, 0 0)),'
64                            'MULTIPOINT(0 0,4 4,6 4,8 6,9 9,12 12),'
65                            'MULTILINESTRING((0 0,11 11),(0 8,1 0)),'
66                            'MULTIPOLYGON(((0 0,0 9,9 9,9 0,0 0)),((1 1,4 4,4 1,1 1))))')),
67(72,ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
68                            'POINT(0 0),'
69                            'LINESTRING(0 0,2 2,3 3,4 4),'
70                            'POLYGON((0 0,0 5,5 5,5 0, 0 0)),'
71                            'MULTIPOINT(0 5,1 6),'
72                            'MULTILINESTRING((0 0,9 9,10 10),(0 1,1 0),(1 0,1 1,1 2,1 3,1 4)),'
73                            'MULTIPOLYGON(((0 0,0 6,6 6,6 0,0 0)),((1 1,7 10,9 8,7 4,1 1))))'));
74INSERT INTO geom_data SELECT * FROM point_geom;
75INSERT INTO geom_data SELECT * FROM linestring_geom;
76INSERT INTO geom_data SELECT * FROM polygon_geom;
77INSERT INTO geom_data SELECT * FROM multipoint_geom;
78INSERT INTO geom_data SELECT * FROM multilinestring_geom;
79INSERT INTO geom_data SELECT * FROM multipolygon_geom;
80INSERT INTO geom_data SELECT * FROM geometrycollection_geom;
81include/sync_slave_sql_with_master.inc
82[Connection Slave]
83# Check whether data was inserted on the slave
84SELECT id, ST_ASTEXT(geom) FROM geom_data;
85id	ST_ASTEXT(geom)
8610	POINT(0 0)
8711	POINT(6 4)
8812	POINT(3 4)
8913	POINT(5 5)
9014	POINT(2 1)
9120	LINESTRING(0 0,5 5,6 6)
9221	LINESTRING(2 3,4 5)
9322	LINESTRING(3 0,7 5,6 3,2 0)
9423	LINESTRING(5 0,9 5,2 6)
9524	LINESTRING(0 0,5 3,3 4,7 7,9 0)
9630	POLYGON((0 0,6 7,8 8,3 9,0 0),(3 6,4 6,4 7,3 6))
9731	POLYGON((1 2,5 4,9 9,1 9,1 2))
9832	POLYGON((2 3,3 5,8 1,2 6,2 3))
9933	POLYGON((8 0,2 7,5 6,9 5,8 0))
10034	POLYGON((5 2,5 10,10 10,10 2,5 2),(7 5,9 5,8 8,6 9,7 5))
10140	MULTIPOINT((2 2),(3 3),(4 4))
10241	MULTIPOINT((1 2),(3 0),(7 4),(6 6))
10342	MULTIPOINT((2 9),(3 4),(6 4),(5 5),(3 3))
10443	MULTIPOINT((8 7),(2 1),(5 4),(3 4),(2 8),(4 5))
10544	MULTIPOINT((3 6),(2 3),(7 3))
10650	MULTILINESTRING((0 0,2 3,4 5),(6 6,8 8,9 9,10 10))
10751	MULTILINESTRING((2 3,5 6,4 4,1 1),(2 6,5 8,7 9,9 10))
10852	MULTILINESTRING((0 1,6 3,7 5),(6 2,5 8,6 9))
10953	MULTILINESTRING((5 5,3 7,7 8),(2 2,6 9,10 9),(1 2,6 7,9 9))
11054	MULTILINESTRING((0 1,5 3,8 5),(7 6,9 8,10 9,10 11))
11160	MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((2 2,4 5,6 2,2 2)))
11261	MULTIPOLYGON(((0 0,0 6,6 6,6 0,0 0)),((2 1,2 3,5 3,5 1,2 1)))
11362	MULTIPOLYGON(((0 0,0 7,7 7,7 0,0 0)),((3 3,5 6,7 3,3 3)),((2 6,5 8,8 6,2 6)))
11463	MULTIPOLYGON(((0 0,0 8,8 8,8 0,0 0)),((0 0,0 2,2 2,2 0,0 0)))
11564	MULTIPOLYGON(((0 0,0 9,9 9,9 0,0 0)),((1 1,1 3,3 3,3 1,1 1)))
11670	GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10),POLYGON((0 0,0 10,10 10,10 0,0 0)),MULTIPOINT((0 0),(2 2),(4 4),(6 6),(8 8),(10 10)),MULTILINESTRING((0 0,10 10),(0 10,10 0)),MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))
11771	GEOMETRYCOLLECTION(POINT(4 5),LINESTRING(0 0,10 10,11 11),POLYGON((0 0,0 8,8 8,8 0,0 0)),MULTIPOINT((0 0),(4 4),(6 4),(8 6),(9 9),(12 12)),MULTILINESTRING((0 0,11 11),(0 8,1 0)),MULTIPOLYGON(((0 0,0 9,9 9,9 0,0 0)),((1 1,4 4,4 1,1 1))))
11872	GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,2 2,3 3,4 4),POLYGON((0 0,0 5,5 5,5 0,0 0)),MULTIPOINT((0 5),(1 6)),MULTILINESTRING((0 0,9 9,10 10),(0 1,1 0),(1 0,1 1,1 2,1 3,1 4)),MULTIPOLYGON(((0 0,0 6,6 6,6 0,0 0)),((1 1,7 10,9 8,7 4,1 1))))
119SELECT COUNT(*) FROM geom_data;
120COUNT(*)
12133
122SELECT ST_AREA(geom) FROM geom_data WHERE ST_GEOMETRYTYPE(geom) = 'POLYGON';
123ST_AREA(geom)
12419.5
12534
1262
12718
12833.5
129include/diff_tables.inc [master:geom_data, slave:geom_data]
130[Connection Master]
131# Create a view on LINESTRING type
132CREATE VIEW linestring_view
133AS SELECT ST_NUMPOINTS(geom) AS numpoints, ST_LENGTH(geom) AS length
134FROM geom_data WHERE ST_GEOMETRYTYPE(geom) = 'LINESTRING';
135# Create a view on GEOMETRYCOLLECTION type
136CREATE VIEW geomcollection_view
137AS SELECT ST_NUMGEOMETRIES(geom) as numgeometries, ST_GEOMETRYN(geom,3) as nthgeom
138FROM geom_data WHERE ST_GEOMETRYTYPE(geom) = 'GEOMETRYCOLLECTION';
139include/sync_slave_sql_with_master.inc
140[Connection Slave]
141# Check whether views were created on slave
142SELECT * FROM linestring_view;
143numpoints	length
1443	8.485281374238571
1452	2.8284271247461903
1464	13.639192214932638
1473	13.474192049298324
1485	20.34712976162561
149SELECT numgeometries, ST_ASTEXT(nthgeom) FROM geomcollection_view;
150numgeometries	ST_ASTEXT(nthgeom)
1516	POLYGON((0 0,0 10,10 10,10 0,0 0))
1526	POLYGON((0 0,0 8,8 8,8 0,0 0))
1536	POLYGON((0 0,0 5,5 5,5 0,0 0))
154include/diff_tables.inc [master:geom_data, slave:geom_data]
155[Connection Master]
156# Drop the views
157DROP VIEW linestring_view;
158DROP VIEW geomcollection_view;
159include/sync_slave_sql_with_master.inc
160[Connection Slave]
161# Check whether views are dropped on slave
162SELECT * FROM linestring_view;
163ERROR 42S02: Table 'test.linestring_view' doesn't exist
164SELECT * FROM geomcollection_view;
165ERROR 42S02: Table 'test.geomcollection_view' doesn't exist
166[Connection Master]
167# Update a row in the table
168UPDATE geom_data SET geom = ST_GEOMFROMTEXT('POINT(4 5)') WHERE id = 10;
169include/sync_slave_sql_with_master.inc
170[Connection Slave]
171# Check whether row is updated on slave
172SELECT id, ST_ASTEXT(geom) FROM geom_data WHERE id = 10;
173id	ST_ASTEXT(geom)
17410	POINT(4 5)
175include/diff_tables.inc [master:geom_data, slave:geom_data]
176[Connection Master]
177# Delete a row from the table
178DELETE FROM geom_data WHERE id = 13;
179include/sync_slave_sql_with_master.inc
180[Connection Slave]
181# Check whether row is deleted on slave
182SELECT COUNT(geom) FROM geom_data;
183COUNT(geom)
18432
185include/diff_tables.inc [master:geom_data, slave:geom_data]
186[Connection Master]
187# Drop the spatial index from the table
188ALTER TABLE geom_data DROP INDEX geom;
189include/sync_slave_sql_with_master.inc
190[Connection Slave]
191# Check whether spatial index is dropped on slave
192SHOW CREATE TABLE geom_data;
193Table	Create Table
194geom_data	CREATE TABLE `geom_data` (
195  `id` int(11) NOT NULL,
196  `geom` geometry NOT NULL,
197  PRIMARY KEY (`id`)
198) ENGINE=InnoDB DEFAULT CHARSET=latin1
199[Connection Master]
200# Add spatial index to the column of GEOMETRY data type
201ALTER TABLE geom_data ADD SPATIAL INDEX(geom);
202include/sync_slave_sql_with_master.inc
203[Connection Slave]
204# Check whether spatial index is added on slave
205SHOW CREATE TABLE geom_data;
206Table	Create Table
207geom_data	CREATE TABLE `geom_data` (
208  `id` int(11) NOT NULL,
209  `geom` geometry NOT NULL,
210  PRIMARY KEY (`id`),
211  SPATIAL KEY `geom` (`geom`)
212) ENGINE=InnoDB DEFAULT CHARSET=latin1
213[Connection Master]
214# Add a column of GEOMETRY data type
215ALTER TABLE geom_data ADD COLUMN geom1 GEOMETRY;
216# Insert values into the column
217UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POINT(2 3)') WHERE id = 10;
218UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POINT(0 0)') WHERE id = 11;
219UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POINT(9 9)') WHERE id = 12;
220UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POINT(8 7)') WHERE id = 14;
221UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('LINESTRING(0 0,1 1,2 2,3 3)') WHERE id = 20;
222UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('LINESTRING(5 5,6 7,2 3,9 9)') WHERE id = 21;
223UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('LINESTRING(6 6,8 9,6 7,10 10)') WHERE id = 22;
224UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('LINESTRING(7 7,5 5,7 8,4 5)') WHERE id = 23;
225UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('LINESTRING(9 9,1 6,0 0,2 3)') WHERE id = 24;
226UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POLYGON((0 0,0 6,6 6,6 0,0 0))') WHERE id = 30;
227UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POLYGON((0 0,6 6,6 0,0 0))') WHERE id = 31;
228UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POLYGON((0 0,0 7,7 7,7 0,0 0))') WHERE id = 32;
229UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POLYGON((1 1,1 6,6 6,6 1,1 1))') WHERE id = 33;
230UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('POLYGON((2 2,2 8,8 8,8 2,2 2))') WHERE id = 34;
231UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOINT(3 4,5 6,10 10,4 4)') WHERE id = 40;
232UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOINT(0 0,2 2,3 3)') WHERE id = 41;
233UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOINT(5 5,5 6,5 7,5 8)') WHERE id = 42;
234UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOINT(7 8,2 3,5 6)') WHERE id = 43;
235UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOINT(6 7,3 4,2 5,7 8,9 9)') WHERE id = 44;
236UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTILINESTRING((5 6,8 8,9 9),(0 0,3 3,6 7))') WHERE id = 50;
237UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTILINESTRING((5 6,8 8,9 9),(0 0,3 3,6 7),(1 1,5 5))') WHERE id = 51;
238UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTILINESTRING((6 7,9 9,10 10),(0 0,3 3,6 7))') WHERE id = 52;
239UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTILINESTRING((7 6,7 8,7 9),(1 1,4 4,7 7))') WHERE id = 53;
240UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTILINESTRING((4 6,9 8,7 9),(3 0,3 3,3 7))') WHERE id = 54;
241UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 3,3 3,3 0,0 0)),((3 7,6 9,9 7,3 7)))') WHERE id = 60;
242UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOLYGON(((1 1,1 4,4 4,4 1,1 1)),((4 7,7 9,10 7,4 7)))') WHERE id = 61;
243UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOLYGON(((2 2,2 5,5 5,5 2,2 2)),((5 6,7 10,9 7,5 6)),((0 0,5 5,5 0,0 0)))') WHERE id = 62;
244UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOLYGON(((3 3,3 6,6 6,6 3,3 3)),((0 0,0 2,2 2,2 0,0 0)))') WHERE id = 63;
245UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('MULTIPOLYGON(((4 4,4 7,7 7,7 4,4 4)),((5 7,6 9,9 7,5 7)))') WHERE id = 64;
246UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
247                                                 'POINT(6 7),'
248                                                 'LINESTRING(4 4,5 5,8 8,10 10),'
249                                                 'POLYGON((3 3,3 6,6 6,6 3,3 3)),'
250                                                 'MULTIPOINT(5 5,7 8,9 10,10 10),'
251                                                 'MULTILINESTRING((2 2,3 4,5 5),(5 6,7 7,7 8,9 9)),'
252                                                 'MULTIPOLYGON(((4 4,4 7,7 7,7 4,4 4)),((3 3,5 6,7 3,3 3))))')
253WHERE id = 70;
254UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
255                                                 'POINT(7 8),'
256                                                 'LINESTRING(5 5,6 6,9 9,10 10),'
257                                                 'POLYGON((0 0,0 8,8 8,8 0,0 0)),'
258                                                 'MULTIPOINT(7 5,7 8,7 10,7 11),'
259                                                 'MULTILINESTRING((2 1,3 6,9 5),(9 6,8 7,7 6,5 9)),'
260                                                 'MULTIPOLYGON(((0 0,0 4,4 4,4 0,0 0)),((6 3,5 6,7 3,6 3))))')
261WHERE id = 71;
262UPDATE geom_data SET geom1 = ST_GEOMFROMTEXT('GEOMETRYCOLLECTION('
263                                                 'POINT(9 6),'
264                                                 'LINESTRING(7 8,7 9,7 10),'
265                                                 'POLYGON((4 5,6 7,9 5,4 5)),'
266                                                 'MULTIPOINT(5 0,6 0),'
267                                                 'MULTILINESTRING((4 3,4 7,4 8),(4 4,5 6,7 6,8 8,10 10)),'
268                                                 'MULTIPOLYGON(((7 7,7 10,10 10,10 7,7 7)),((3 4,5 7,7 4,3 4))))')
269WHERE id = 72;
270include/sync_slave_sql_with_master.inc
271[Connection Slave]
272# Check whether the column is added and populated on slave
273SHOW CREATE TABLE geom_data;
274Table	Create Table
275geom_data	CREATE TABLE `geom_data` (
276  `id` int(11) NOT NULL,
277  `geom` geometry NOT NULL,
278  `geom1` geometry DEFAULT NULL,
279  PRIMARY KEY (`id`),
280  SPATIAL KEY `geom` (`geom`)
281) ENGINE=InnoDB DEFAULT CHARSET=latin1
282SELECT id, ST_ASTEXT(geom1), ST_GEOMETRYTYPE(geom1), ST_DIMENSION(geom1) FROM geom_data;
283id	ST_ASTEXT(geom1)	ST_GEOMETRYTYPE(geom1)	ST_DIMENSION(geom1)
28410	POINT(2 3)	POINT	0
28511	POINT(0 0)	POINT	0
28612	POINT(9 9)	POINT	0
28714	POINT(8 7)	POINT	0
28820	LINESTRING(0 0,1 1,2 2,3 3)	LINESTRING	1
28921	LINESTRING(5 5,6 7,2 3,9 9)	LINESTRING	1
29022	LINESTRING(6 6,8 9,6 7,10 10)	LINESTRING	1
29123	LINESTRING(7 7,5 5,7 8,4 5)	LINESTRING	1
29224	LINESTRING(9 9,1 6,0 0,2 3)	LINESTRING	1
29330	POLYGON((0 0,0 6,6 6,6 0,0 0))	POLYGON	2
29431	POLYGON((0 0,6 6,6 0,0 0))	POLYGON	2
29532	POLYGON((0 0,0 7,7 7,7 0,0 0))	POLYGON	2
29633	POLYGON((1 1,1 6,6 6,6 1,1 1))	POLYGON	2
29734	POLYGON((2 2,2 8,8 8,8 2,2 2))	POLYGON	2
29840	MULTIPOINT((3 4),(5 6),(10 10),(4 4))	MULTIPOINT	0
29941	MULTIPOINT((0 0),(2 2),(3 3))	MULTIPOINT	0
30042	MULTIPOINT((5 5),(5 6),(5 7),(5 8))	MULTIPOINT	0
30143	MULTIPOINT((7 8),(2 3),(5 6))	MULTIPOINT	0
30244	MULTIPOINT((6 7),(3 4),(2 5),(7 8),(9 9))	MULTIPOINT	0
30350	MULTILINESTRING((5 6,8 8,9 9),(0 0,3 3,6 7))	MULTILINESTRING	1
30451	MULTILINESTRING((5 6,8 8,9 9),(0 0,3 3,6 7),(1 1,5 5))	MULTILINESTRING	1
30552	MULTILINESTRING((6 7,9 9,10 10),(0 0,3 3,6 7))	MULTILINESTRING	1
30653	MULTILINESTRING((7 6,7 8,7 9),(1 1,4 4,7 7))	MULTILINESTRING	1
30754	MULTILINESTRING((4 6,9 8,7 9),(3 0,3 3,3 7))	MULTILINESTRING	1
30860	MULTIPOLYGON(((0 0,0 3,3 3,3 0,0 0)),((3 7,6 9,9 7,3 7)))	MULTIPOLYGON	2
30961	MULTIPOLYGON(((1 1,1 4,4 4,4 1,1 1)),((4 7,7 9,10 7,4 7)))	MULTIPOLYGON	2
31062	MULTIPOLYGON(((2 2,2 5,5 5,5 2,2 2)),((5 6,7 10,9 7,5 6)),((0 0,5 5,5 0,0 0)))	MULTIPOLYGON	2
31163	MULTIPOLYGON(((3 3,3 6,6 6,6 3,3 3)),((0 0,0 2,2 2,2 0,0 0)))	MULTIPOLYGON	2
31264	MULTIPOLYGON(((4 4,4 7,7 7,7 4,4 4)),((5 7,6 9,9 7,5 7)))	MULTIPOLYGON	2
31370	GEOMETRYCOLLECTION(POINT(6 7),LINESTRING(4 4,5 5,8 8,10 10),POLYGON((3 3,3 6,6 6,6 3,3 3)),MULTIPOINT((5 5),(7 8),(9 10),(10 10)),MULTILINESTRING((2 2,3 4,5 5),(5 6,7 7,7 8,9 9)),MULTIPOLYGON(((4 4,4 7,7 7,7 4,4 4)),((3 3,5 6,7 3,3 3))))	GEOMETRYCOLLECTION	2
31471	GEOMETRYCOLLECTION(POINT(7 8),LINESTRING(5 5,6 6,9 9,10 10),POLYGON((0 0,0 8,8 8,8 0,0 0)),MULTIPOINT((7 5),(7 8),(7 10),(7 11)),MULTILINESTRING((2 1,3 6,9 5),(9 6,8 7,7 6,5 9)),MULTIPOLYGON(((0 0,0 4,4 4,4 0,0 0)),((6 3,5 6,7 3,6 3))))	GEOMETRYCOLLECTION	2
31572	GEOMETRYCOLLECTION(POINT(9 6),LINESTRING(7 8,7 9,7 10),POLYGON((4 5,6 7,9 5,4 5)),MULTIPOINT((5 0),(6 0)),MULTILINESTRING((4 3,4 7,4 8),(4 4,5 6,7 6,8 8,10 10)),MULTIPOLYGON(((7 7,7 10,10 10,10 7,7 7)),((3 4,5 7,7 4,3 4))))	GEOMETRYCOLLECTION	2
316include/diff_tables.inc [master:geom_data, slave:geom_data]
317[Connection Master]
318# Drop a column from the table
319ALTER TABLE geom_data DROP COLUMN geom1;
320include/sync_slave_sql_with_master.inc
321[Connection Slave]
322# Check whether column is dropped on slave
323SHOW CREATE TABLE geom_data;
324Table	Create Table
325geom_data	CREATE TABLE `geom_data` (
326  `id` int(11) NOT NULL,
327  `geom` geometry NOT NULL,
328  PRIMARY KEY (`id`),
329  SPATIAL KEY `geom` (`geom`)
330) ENGINE=InnoDB DEFAULT CHARSET=latin1
331[Connection Master]
332# Drop all the tables
333DROP TABLE point_geom;
334DROP TABLE linestring_geom;
335DROP TABLE polygon_geom;
336DROP TABLE multipoint_geom;
337DROP TABLE multilinestring_geom;
338DROP TABLE multipolygon_geom;
339DROP TABLE geometrycollection_geom;
340DROP TABLE geom_data;
341include/sync_slave_sql_with_master.inc
342[Connection Slave]
343# Check whether table is dropped on slave
344SELECT COUNT(id) FROM geom_data;
345ERROR 42S02: Table 'test.geom_data' doesn't exist
346include/rpl_end.inc
347