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

Fixed string constants and queries splitting. #490

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alxivnov
Copy link

@alxivnov alxivnov commented Jun 2, 2024

\ at the end of string constants breaks string/query splitting. Here is the test:

-- \ at the end of strting query splitting
SELECT 'some''', '\', ';';

SELECT E'some\'', E'\\', E';';

SELECT 'some''', '\', ';', E'some\'', E'\\', E';';

SELECT E'some\'', E'\\', E';', 'some''', '\', ';';

peterpp added a commit to pematon/adminer that referenced this pull request Sep 20, 2024
peterpp added a commit to pematon/adminer that referenced this pull request Sep 20, 2024
peterpp added a commit to pematon/adminer that referenced this pull request Sep 20, 2024
@peterpp
Copy link
Contributor

peterpp commented Sep 20, 2024

Thanks for sharing, but your fix contains several problems:

  • C-style escapes depends on SQL dialect and server settings.
  • String constants letter E is PostgreSQL specific and is case-insensitive.
  • Added "[^']" rule works only for single quotes, but main cycle detects various types of string quotes.

Here you can find a solution for MySQL and PostgreSQL based on your work (if you are interested): pematon@aa519b7

peterpp added a commit to pematon/adminer that referenced this pull request Sep 21, 2024
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

Successfully merging this pull request may close these issues.

2 participants