webyog / sqlyog-community

Webyog provides monitoring and management tools for open source relational databases. We develop easy-to-use MySQL client tools for performance tuning and database management. Webyog's solutions include SQL Diagnostic Manager for MySQL performance optimization and SQLyog for MySQL administration. More than 35,000 companies (including Amazon, IBM, Salesforce, AT&T, eBay, and GE) and 2.5 million users rely on Webyog's solutions to provide valuable insights into their databases. Webyog is an Idera, Inc. company.
https://webyog.com/
GNU General Public License v2.0
2.19k stars 322 forks source link

Schema Sync tool reports incomplete query with ENUM datatype #2271

Closed sibwy closed 3 years ago

sibwy commented 3 years ago

When an ENUM field is exceptionally long, the schema sync tool truncates the field name, creating invalid SQL.

Reproducible with MySQL v8.0.22 using the below steps:

1) CREATE DATABASE from_db;

2) CREATE DATABASE to_db;

3) CREATE TABLE from_db.t1 ( id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, Country ENUM('US','GB','AU','ZA','AD','AE','AF','AG','AI','AL','AM','AO','AQ','AR','AS','AT','AW','AX','AZ','BA','BB','BD','BE','BF','BG','BH','BI','BJ','BL','BM','BN','BO','BQ','BR','BS','BT','BV','BW','BY','BZ','CA','CC','CD','CF','CG','CH','CI','CK','CL','CM','CN','CO','CR','CU','CV','CW','CX','CY','CZ','DE','DJ','DK','DM','DO','DZ','EC','EE','EG','EH','ER','ES','ET','FI','FJ','FK','FM','FO','FR','GA','GD','GE','GF','GG','GH','GI','GL','GM','GN','GP','GQ','GR','GS','GT','GU','GW','GY','HK','HM','HN','HR','HT','HU','ID','IE','IL','IM','IN','IO','IQ','IR','IS','IT','JE','JM','JO','JP','KE','KG','KH','KI','KM','KN','KP','KR','KW','KY','KZ','LA','LB','LC','LI','LK','LR','LS','LT','LU','LV','LY','MA','MC','MD','ME','MF','MG','MH','MK','ML','MM','MN','MO','MP','MQ','MR','MS','MT','MU','MV','MW','MX','MY','MZ','NA','NC','NE','NF','NG','NI','NL','NO','NP','NR','NU','NZ','OM','PA','PE','PF','PG','PH','PK','PL','PM','PN','PR','PS','PT','PW','PY','QA','RE','RO','RS','RU','RW','SA','SB','SC','SD','SE','SG','SH','SI','SJ','SK','SL','SM','SN','SO','SR','SS','ST','SV','SX','SY','SZ','TC','TD','TF','TG','TH','TJ','TK','TL','TM','TN','TO','TR','TT','TV','TW','TZ','UA','UG','UM','UY','UZ','VA','VC','VE','VG','VI','VN','VU','WF','WS','YE','YT','ZM','ZW') NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODB DEFAULT CHARSET=latin1;

4) Now use the Schema sync tool to sync "from_db" -> "to_db"

The query generated is incomplete and leads to an error on execution.

The user report can be found in SF >> 00865048

sibwy commented 3 years ago

Fixed in v13.1.8.