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

Support empty double-quoted string in SQL object body #3121

Conversation

robverschoor
Copy link
Contributor

@robverschoor robverschoor commented Nov 14, 2024

Description

This fixes the long-standing bug that a reference to a double-quoted empty string, when located in the body of a procedure, function or trigger, raises an error even though QUOTED_IDENTIFIER is OFF. This is due to the PG backend interpreting any double-quoted string as an identifier, whose length cannot be zero. It is fixed by replacing "" by '' at the ANTLR stage.

Signed-off-by: Rob Verschoor [email protected]

Issues Resolved

BABEL-5385 Comparison to empty double-quoted string raises error about 'zero-length delimited identifier'

Test Scenarios Covered

  • Use case based - Yes

  • Boundary conditions - Yes

  • Arbitrary inputs - N/A

  • Negative test cases - Yes

  • Minor version upgrade tests - N/A

  • Major version upgrade tests - N/A

  • Performance tests - N/A

  • Tooling impact - N/A

  • Client tests - N/A

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.

For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@coveralls
Copy link
Collaborator

coveralls commented Nov 14, 2024

Pull Request Test Coverage Report for Build 11843318267

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 5 of 5 (100.0%) changed or added relevant lines in 1 file are covered.
  • 265 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.002%) to 74.723%

Files with Coverage Reduction New Missed Lines %
contrib/babelfishpg_tsql/src/tsqlIface.cpp 265 90.3%
Totals Coverage Status
Change from base Build 11831695974: 0.002%
Covered Lines: 45637
Relevant Lines: 61075

💛 - Coveralls

@kuntalghosh kuntalghosh merged commit d939542 into babelfish-for-postgresql:BABEL_4_X_DEV Nov 18, 2024
46 checks passed
@robverschoor robverschoor deleted the empty_double_quoted_string branch November 18, 2024 09:31
roshan0708 pushed a commit to amazon-aurora/babelfish_extensions that referenced this pull request Nov 20, 2024
…postgresql#3121)

This fixes the long-standing bug that a reference to a double-quoted empty string, when located in the body of a procedure, function or trigger, raises an error even though QUOTED_IDENTIFIER is OFF. This is due to the PG backend interpreting any double-quoted string as an identifier, whose length cannot be zero. It is fixed by replacing "" by '' at the ANTLR stage.

Signed-off-by: Rob Verschoor <[email protected]>
roshan0708 pushed a commit to amazon-aurora/babelfish_extensions that referenced this pull request Nov 20, 2024
…postgresql#3121)

This fixes the long-standing bug that a reference to a double-quoted empty string, when located in the body of a procedure, function or trigger, raises an error even though QUOTED_IDENTIFIER is OFF. This is due to the PG backend interpreting any double-quoted string as an identifier, whose length cannot be zero. It is fixed by replacing "" by '' at the ANTLR stage.

Signed-off-by: Rob Verschoor <[email protected]>
rishabhtanwar29 pushed a commit to amazon-aurora/babelfish_extensions that referenced this pull request Nov 25, 2024
…postgresql#3121)

This fixes the long-standing bug that a reference to a double-quoted empty string, when located in the body of a procedure, function or trigger, raises an error even though QUOTED_IDENTIFIER is OFF. This is due to the PG backend interpreting any double-quoted string as an identifier, whose length cannot be zero. It is fixed by replacing "" by '' at the ANTLR stage.

Signed-off-by: Rob Verschoor <[email protected]>
shardgupta pushed a commit that referenced this pull request Nov 25, 2024
This fixes the long-standing bug that a reference to a double-quoted empty string, when located in the body of a procedure, function or trigger, raises an error even though QUOTED_IDENTIFIER is OFF. This is due to the PG backend interpreting any double-quoted string as an identifier, whose length cannot be zero. It is fixed by replacing "" by '' at the ANTLR stage.

Signed-off-by: Rob Verschoor <[email protected]>
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.

4 participants