Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

usmallint type is included in database structure for MySql but also disallowed #11150

Open
timanderson opened this issue Jan 13, 2022 · 2 comments

Comments

@timanderson
Copy link

timanderson commented Jan 13, 2022

The file applications/dashboard/settings/structure.php defines tables including Media and Ban which define column types of usmallint and uint.

The file library/database/class.mysqlstructure.php defines $validColumnTypes which does not include usmallint or uint.

As a result, when you run utility/structure or utility/update you get an exception "The specified data type (smallint unsigned) is not accepted for the MySQL database."

Either usmallint should not be used, or it should be added to the valid column types, I am not sure what the rationale was for excluding it.

My current fix is to change these types to int.

@charrondev
Copy link
Contributor

Are you using percona? On our setups it looks like usmallint gets passed in the table creation to percona, which creates a column like this smallint(5) unsigned. Our driver knows how to understand that.

@timanderson
Copy link
Author

No I am using MySQL Community Edition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants