fix(mysql): Escape column names with backticks to handle reserved keyword#67
Open
rickalee wants to merge 1 commit intojulien040:mainfrom
Open
fix(mysql): Escape column names with backticks to handle reserved keyword#67rickalee wants to merge 1 commit intojulien040:mainfrom
rickalee wants to merge 1 commit intojulien040:mainfrom
Conversation
…words
Fixes issue where MySQL tables with reserved keyword columns (e.g., `order`)
cannot be queried due to missing backtick escaping in generated SQL.
Changes:
- Add flavor parameter to constructSQLQuery() and efficientConstructSQLQuery()
- Use flavor.Quote() to properly escape column names based on database type
- MySQL uses backticks (`column`), PostgreSQL uses double quotes ("column")
- Apply escaping to both SELECT columns and ORDER BY clauses
Impact:
- Enables querying WordPress Content Connect tables (wp_post_to_post)
- Fixes queries on any MySQL table with reserved keyword columns
- Similar to PR julien040#57 which fixed PostgreSQL column name handling
Tested:
- Successfully queried wp_post_to_post table with 'order' column
- Verified COUNT, SELECT, and aggregation queries work correctly
- Tested with 284,909 relationship records
Example working query:
SELECT id1, id2, name FROM msresearch.wp_post_to_post LIMIT 5
Previously failed with:
Error 1064: syntax error near 'order FROM `local`.`wp_post_to_post`'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes issue where MySQL tables with reserved keyword columns (e.g.,
order) cannot be queried due to missing backtick escaping in generated SQL.Changes:
column), PostgreSQL uses double quotes ("column")Impact:
Tested:
Example working query:
SELECT id1, id2, name FROM connection.post_to_post LIMIT 5