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

Two single or double quote escapes single or double quote when string is surrounded by same type of quote #696

Merged
merged 37 commits into from
Aug 2, 2022

Conversation

MitchellGale
Copy link
Contributor

Description

Adds implementation for double quotes working to escape a single quote.

Uses string builder to generate query in String Utils. Only escapes quote when outside quotes are matching, does not work for `. Below are examples of how the new queries function.

SELECT 'I''m';          -> I'm
SELECT 'I''''m';        -> I''m
SELECT "I''m";          -> I''m
SELECT "I""m";          -> I"m
SELECT \`I\`\`m\`;      -> I``m
SELECT 'I""''m';        -> I""'m

Issues Resolved

[Issue #682]

Check List

  • New functionality includes testing.
    • All tests pass, including unit test, integration test and doctest
  • New functionality has been documented.
    • New functionality has javadoc added
    • New functionality has user manual doc added
  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@MitchellGale MitchellGale requested a review from a team as a code owner July 15, 2022 20:11
joshuali925
joshuali925 previously approved these changes Jul 21, 2022
Copy link
Member

@joshuali925 joshuali925 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@penghuo
Copy link
Collaborator

penghuo commented Jul 21, 2022

could you add docs to explain the unquote also?

MitchellGale and others added 27 commits July 22, 2022 08:43
Signed-off-by: Andrew Carbonetto <[email protected]>
… is now expected number.

'I\'m' -> I'm
'I\\''m' -> I\'m
'I\\\'m' -> I\'m

Signed-off-by: mitchellg <[email protected]>
… static and non-static imports

Signed-off-by: mitchellg <[email protected]>
… Added case for double, double quote being converted to single, double quote.

Signed-off-by: mitchellg <[email protected]>
…gle of their respective type when the string is quoted by the same type. Added some unit tests to test for that condition in StringUtilsTest.java.

Signed-off-by: mitchellg <[email protected]>
…rrounded by same string. Consistent with MySQL standard.

Signed-off-by: mitchellg <[email protected]>
Signed-off-by: mitchellg <[email protected]>
…rom if statement to break off for a return. Added unit test, removed unit tests for whichquote function. Removed whichquote function.

Signed-off-by: mitchellg <[email protected]>
…back tick to skip over String Builder. Fixed issue with strings passed to unquotetext being too small casuing array bounds access issue.

Signed-off-by: mitchellg <[email protected]>
Signed-off-by: mitchellg <[email protected]>
… double quote escape implementation.

Signed-off-by: mitchellg <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented Jul 22, 2022

Codecov Report

Merging #696 (ba86654) into main (592c58b) will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #696   +/-   ##
=========================================
  Coverage     94.74%   94.75%           
- Complexity     2857     2858    +1     
=========================================
  Files           283      283           
  Lines          7676     7678    +2     
  Branches        560      560           
=========================================
+ Hits           7273     7275    +2     
  Misses          349      349           
  Partials         54       54           
Flag Coverage Δ
query-workbench 62.76% <ø> (ø)
sql-engine 97.74% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ilter/lucene/relevance/SimpleQueryStringQuery.java 100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us.

@Yury-Fridlyand
Copy link
Collaborator

Please, fix code style:

Error: [checkstyle] [ERROR] /home/runner/work/sql/sql/common/src/main/java/org/opensearch/sql/common/utils/StringUtils.java:30: Line is longer than 100 characters (found 114). [LineLength]
Error: [checkstyle] [ERROR] /home/runner/work/sql/sql/common/src/main/java/org/opensearch/sql/common/utils/StringUtils.java:31: Line is longer than 100 characters (found 109). [LineLength]

ps48 pushed a commit to ps48/sql that referenced this pull request Jul 28, 2022
…pensearch-project#696 and 317 all together. (opensearch-project#479) (opensearch-project#481)

Signed-off-by: Yury Fridlyand <[email protected]>
(cherry picked from commit 646ce3c)

Co-authored-by: Yury-Fridlyand <[email protected]>
ps48 pushed a commit to ps48/sql that referenced this pull request Jul 28, 2022
ps48 added a commit that referenced this pull request Jul 28, 2022
* Disable flaky test in JdbcTestIT. (#475)

Signed-off-by: penghuo <[email protected]>

* Update dependency opensearch-ml-client group name (#477)

Signed-off-by: jackieyanghan <[email protected]>

* Collected fixes related to bugs #280, #302, #783, #696 and 317 all together. (#479)

Signed-off-by: Yury Fridlyand <[email protected]>

* Add JDK 8 to CI Matrix  (#483) (#484)

* fixed references in java 8 and added to ci matrix
* filter test that fails due to jdk 8 bug
* use different degree to radian conversion for difference in jdk
* skip date time format tests that cause error due to jdk bug
* only disable DateTime unit test on Java 8

Bypassing failed DCO check

Signed-off-by: David Cui <[email protected]>
(cherry picked from commit b6fccbd)

Co-authored-by: David Cui <[email protected]>

* Add parse docs to PPL commands index (#486) (#487)

Signed-off-by: Joshua Li <[email protected]>

* Add 1.3.0 release notes (#492)

Signed-off-by: Eugene Lee <[email protected]>

* Add Kmeans and AD command documentation (#493) (#497)

Signed-off-by: jackieyanghan <[email protected]>
(cherry picked from commit ee4bce0)

* Bump version to 1.3.1

Signed-off-by: Sayali Gaikawad <[email protected]>

* Bump ml

Signed-off-by: Sayali Gaikawad <[email protected]>

* Add new zip

Signed-off-by: Sayali Gaikawad <[email protected]>

* Updated release drafter

Signed-off-by: Sayali Gaikawad <[email protected]>

* Remove checked-in ml-commons dependency (#529)

Signed-off-by: jackieyanghan <[email protected]>

* Bump workbench to 1.3.1 (#540)

Signed-off-by: Joshua Li <[email protected]>

* Bug Fix, return default ID when log4j ThreadContext is empty (#538) (#539) (#543)

Signed-off-by: penghuo <[email protected]>
(cherry picked from commit 54b7257)

* Incremented version to 1.3.2. (#593)

Signed-off-by: Zelin Hao <[email protected]>
Signed-off-by: Joshua Li <[email protected]>

Co-authored-by: Joshua Li <[email protected]>

* Version bump 1.3.3

Signed-off-by: pgodithi <[email protected]>

* [1.3] Bump spring-beans to 5.2.20 (#632)

Signed-off-by: Joshua Li <[email protected]>

* Version bump 1.3.3

Signed-off-by: pgodithi <[email protected]>

* Incremented version to 1.3.4. (#681)

* Incremented version to 1.3.4.

Signed-off-by: Zelin Hao <[email protected]>

* bump jackson to 2.13.2

Signed-off-by: Joshua Li <[email protected]>

Co-authored-by: Joshua Li <[email protected]>

Co-authored-by: Peng Huo <[email protected]>
Co-authored-by: Jackie Han <[email protected]>
Co-authored-by: Yury-Fridlyand <[email protected]>
Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>
Co-authored-by: David Cui <[email protected]>
Co-authored-by: Eugene Lee <[email protected]>
Co-authored-by: Sayali Gaikawad <[email protected]>
Co-authored-by: Sayali Gaikawad <[email protected]>
Co-authored-by: Joshua Li <[email protected]>
Co-authored-by: Zelin Hao <[email protected]>
Co-authored-by: pgodithi <[email protected]>
Co-authored-by: Anirudha (Ani) Jadhav <[email protected]>
@joshuali925 joshuali925 merged commit 68663d1 into opensearch-project:main Aug 2, 2022
@dai-chen
Copy link
Collaborator

dai-chen commented Aug 2, 2022

could you add docs to explain the unquote also?

+1. Probably can add here: https://github.com/opensearch-project/sql/blob/main/docs/user/general/datatypes.rst#string-data-types

MitchellGale added a commit to Bit-Quill/opensearch-project-sql that referenced this pull request Aug 5, 2022
… is surrounded by same type of quote (opensearch-project#696)

Signed-off-by: MitchellGale-BitQuill <[email protected]>
@MaxKsyunz MaxKsyunz added enhancement New feature or request SQL labels Sep 27, 2022
Yury-Fridlyand added a commit to Bit-Quill/opensearch-project-sql that referenced this pull request Sep 29, 2022
@Yury-Fridlyand Yury-Fridlyand deleted the Integ-DoubleQuote branch January 12, 2023 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request SQL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants