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