Bump calcite SQL parser identifier max length from default 128 (SqlParser.DEFAULT_IDENTIFIER_MAX_LENGTH) to 1024. #14363
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For Pinot queries that involve extensive flattened JSON log matching, the default SQL parser identifier limit of 128 characters is insufficient. For example, a JSON log like
{"aaa": {"bbb": {"ccc": 1}}
gets flattened automatically and converted into a structured table with a single column with the column nameaaa.bbb.ccc
. In this case, the column name is 11 characters long, but in real-world applications, it could easily exceed 128 characters.This PR raises the identifier length limit from the default 128 (as defined by SqlParser.DEFAULT_IDENTIFIER_MAX_LENGTH) to 1024. Currently, this value cannot be adjusted via configuration, but if necessary in the future, the public static variable that holds this limit can be made configurable with minimal effort.