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
ER_TOO_LONG_IDENT error when using pre-aggreations in MySQL #86
Comments
Hey Reto! Thanks for posting this! MySQL is very restrictive in terms of table name length. First of all I think we can replace integer timestamp with string version. |
@paveltiunov What do you mean with string version of the timestamp? Like date + time, e.g. "201904231718". This would save 2 characters 😃 |
@gizmodus Hey Reto! I mean we can use for example the same base32 encoding we use for hash. |
What about having a table to store the mapping of the tables? |
@beefs Hey Sunny! Great question! Cube.js was designed to minimize requirements for target DB in terms of pre-aggregations and one of design decision was not to store metadata in DB itself due to many big data backends doesn't support consistent transactional inserts/updates. |
This issue happens on Postgres too, the table names are truncated and will not work. |
Describe the bug
As discussed with @paveltiunov: I get the following error when using pre-aggregations with MySQL:
ER_TOO_LONG_IDENT: Identifier name 'xxxxxxxx_xxxxxxxxxxxxxxxxx_category_and_date_grxbl5i2_qpwevmo0_1555596567123' is too long
To Reproduce
Define a pre-aggregation in the cube.js schema with a long name.
Version:
0.4.5
The text was updated successfully, but these errors were encountered: