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

mysql TINYINT (1) #2289

Closed fstark-fms closed 2 years ago

fstark-fms commented 2 years ago

The SQLyog Schema Synchronization Tool stopped implementing display width for INT types when the display width was deprecated.

Mysql does not have BOOL, it uses TINYINT(1) as the equivalent. (https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html)

So how are we supposed to define TINYINT (1) columns if INT types' display width is deprecated (from 8.0.17) and not implemented by the schema sync tool?

We will not be able to read INT display width from mysql 8.0.19: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html - "now statements that include data type definitions in their output no longer show the display width for integer types"

BUT right below it, on the 8.0.19 news page, it says there is an exception: TINYINT(1): The type is TINYINT(1). MySQL Connectors make the assumption that TINYINT(1) columns originated as BOOLEAN columns; this exception enables them to continue to make that assumption.

Which means that the SQLYog Schema Synchronization tool must ALSO make that exception please - You will have to catch and allow TINYINT (1) to read and write the display with.

sibwy commented 2 years ago

Please contact us by email at ideramysqlsupport@idera.com about this. The way we use GitHub is strictly as an issue-tracker for known issues and not for support or discussions. This is necessary in order to keep the system manageable.