Add support double quotes as a single token in SQLNormalizer#11197
Add support double quotes as a single token in SQLNormalizer#11197
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 62 metrics, 9 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056834
Total [baseline] (11.094 s) : 0, 11093721
Agent [candidate] (1.057 s) : 0, 1057451
Total [candidate] (11.209 s) : 0, 11208869
section appsec
Agent [baseline] (1.28 s) : 0, 1280128
Total [baseline] (11.063 s) : 0, 11062511
Agent [candidate] (1.263 s) : 0, 1263435
Total [candidate] (11.047 s) : 0, 11047219
section iast
Agent [baseline] (1.242 s) : 0, 1241802
Total [baseline] (11.303 s) : 0, 11302796
Agent [candidate] (1.234 s) : 0, 1233810
Total [candidate] (11.32 s) : 0, 11320362
section profiling
Agent [baseline] (1.196 s) : 0, 1195766
Total [baseline] (11.037 s) : 0, 11037211
Agent [candidate] (1.184 s) : 0, 1183951
Total [candidate] (10.96 s) : 0, 10960130
gantt
title petclinic - break down per module: candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.239 ms) : 0, 1239
BytebuddyAgent [baseline] (635.301 ms) : 0, 635301
BytebuddyAgent [candidate] (635.45 ms) : 0, 635450
AgentMeter [baseline] (29.402 ms) : 0, 29402
AgentMeter [candidate] (29.435 ms) : 0, 29435
GlobalTracer [baseline] (249.209 ms) : 0, 249209
GlobalTracer [candidate] (249.342 ms) : 0, 249342
AppSec [baseline] (32.319 ms) : 0, 32319
AppSec [candidate] (32.404 ms) : 0, 32404
Debugger [baseline] (60.346 ms) : 0, 60346
Debugger [candidate] (60.409 ms) : 0, 60409
Remote Config [baseline] (593.141 µs) : 0, 593
Remote Config [candidate] (600.851 µs) : 0, 601
Telemetry [baseline] (8.828 ms) : 0, 8828
Telemetry [candidate] (8.838 ms) : 0, 8838
Flare Poller [baseline] (3.588 ms) : 0, 3588
Flare Poller [candidate] (3.593 ms) : 0, 3593
section appsec
crashtracking [baseline] (1.254 ms) : 0, 1254
crashtracking [candidate] (1.224 ms) : 0, 1224
BytebuddyAgent [baseline] (687.056 ms) : 0, 687056
BytebuddyAgent [candidate] (675.854 ms) : 0, 675854
AgentMeter [baseline] (12.415 ms) : 0, 12415
AgentMeter [candidate] (12.259 ms) : 0, 12259
GlobalTracer [baseline] (251.554 ms) : 0, 251554
GlobalTracer [candidate] (249.566 ms) : 0, 249566
AppSec [baseline] (187.95 ms) : 0, 187950
AppSec [candidate] (186.981 ms) : 0, 186981
Debugger [baseline] (66.593 ms) : 0, 66593
Debugger [candidate] (64.988 ms) : 0, 64988
Remote Config [baseline] (594.297 µs) : 0, 594
Remote Config [candidate] (576.236 µs) : 0, 576
Telemetry [baseline] (7.995 ms) : 0, 7995
Telemetry [candidate] (7.926 ms) : 0, 7926
Flare Poller [baseline] (3.491 ms) : 0, 3491
Flare Poller [candidate] (3.481 ms) : 0, 3481
IAST [baseline] (24.486 ms) : 0, 24486
IAST [candidate] (24.187 ms) : 0, 24187
section iast
crashtracking [baseline] (1.259 ms) : 0, 1259
crashtracking [candidate] (1.213 ms) : 0, 1213
BytebuddyAgent [baseline] (817.531 ms) : 0, 817531
BytebuddyAgent [candidate] (810.048 ms) : 0, 810048
AgentMeter [baseline] (11.577 ms) : 0, 11577
AgentMeter [candidate] (11.405 ms) : 0, 11405
GlobalTracer [baseline] (240.002 ms) : 0, 240002
GlobalTracer [candidate] (240.408 ms) : 0, 240408
AppSec [baseline] (28.611 ms) : 0, 28611
AppSec [candidate] (27.384 ms) : 0, 27384
Debugger [baseline] (63.232 ms) : 0, 63232
Debugger [candidate] (63.247 ms) : 0, 63247
Remote Config [baseline] (540.413 µs) : 0, 540
Remote Config [candidate] (527.003 µs) : 0, 527
Telemetry [baseline] (7.685 ms) : 0, 7685
Telemetry [candidate] (7.756 ms) : 0, 7756
Flare Poller [baseline] (3.447 ms) : 0, 3447
Flare Poller [candidate] (3.422 ms) : 0, 3422
IAST [baseline] (31.811 ms) : 0, 31811
IAST [candidate] (32.472 ms) : 0, 32472
section profiling
crashtracking [baseline] (1.201 ms) : 0, 1201
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (700.486 ms) : 0, 700486
BytebuddyAgent [candidate] (691.454 ms) : 0, 691454
AgentMeter [baseline] (8.98 ms) : 0, 8980
AgentMeter [candidate] (8.935 ms) : 0, 8935
GlobalTracer [baseline] (208.637 ms) : 0, 208637
GlobalTracer [candidate] (207.369 ms) : 0, 207369
AppSec [baseline] (32.788 ms) : 0, 32788
AppSec [candidate] (32.487 ms) : 0, 32487
Debugger [baseline] (65.755 ms) : 0, 65755
Debugger [candidate] (65.548 ms) : 0, 65548
Remote Config [baseline] (574.12 µs) : 0, 574
Remote Config [candidate] (568.107 µs) : 0, 568
Telemetry [baseline] (7.809 ms) : 0, 7809
Telemetry [candidate] (7.768 ms) : 0, 7768
Flare Poller [baseline] (3.497 ms) : 0, 3497
Flare Poller [candidate] (3.508 ms) : 0, 3508
ProfilingAgent [baseline] (93.782 ms) : 0, 93782
ProfilingAgent [candidate] (93.278 ms) : 0, 93278
Profiling [baseline] (94.355 ms) : 0, 94355
Profiling [candidate] (93.828 ms) : 0, 93828
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056200
Total [baseline] (8.899 s) : 0, 8898566
Agent [candidate] (1.063 s) : 0, 1062912
Total [candidate] (8.872 s) : 0, 8871851
section iast
Agent [baseline] (1.231 s) : 0, 1230569
Total [baseline] (9.567 s) : 0, 9566864
Agent [candidate] (1.24 s) : 0, 1240385
Total [candidate] (9.548 s) : 0, 9547940
gantt
title insecure-bank - break down per module: candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.223 ms) : 0, 1223
crashtracking [candidate] (1.234 ms) : 0, 1234
BytebuddyAgent [baseline] (634.95 ms) : 0, 634950
BytebuddyAgent [candidate] (639.33 ms) : 0, 639330
AgentMeter [baseline] (29.267 ms) : 0, 29267
AgentMeter [candidate] (29.591 ms) : 0, 29591
GlobalTracer [baseline] (249.841 ms) : 0, 249841
GlobalTracer [candidate] (250.26 ms) : 0, 250260
AppSec [baseline] (32.537 ms) : 0, 32537
AppSec [candidate] (32.623 ms) : 0, 32623
Debugger [baseline] (59.882 ms) : 0, 59882
Debugger [candidate] (59.872 ms) : 0, 59872
Remote Config [baseline] (617.683 µs) : 0, 618
Remote Config [candidate] (605.456 µs) : 0, 605
Telemetry [baseline] (8.158 ms) : 0, 8158
Telemetry [candidate] (8.847 ms) : 0, 8847
Flare Poller [baseline] (3.581 ms) : 0, 3581
Flare Poller [candidate] (4.32 ms) : 0, 4320
section iast
crashtracking [baseline] (1.226 ms) : 0, 1226
crashtracking [candidate] (1.231 ms) : 0, 1231
BytebuddyAgent [baseline] (809.362 ms) : 0, 809362
BytebuddyAgent [candidate] (818.0 ms) : 0, 818000
AgentMeter [baseline] (11.331 ms) : 0, 11331
AgentMeter [candidate] (11.435 ms) : 0, 11435
GlobalTracer [baseline] (238.754 ms) : 0, 238754
GlobalTracer [candidate] (239.087 ms) : 0, 239087
AppSec [baseline] (28.269 ms) : 0, 28269
AppSec [candidate] (29.432 ms) : 0, 29432
Debugger [baseline] (63.812 ms) : 0, 63812
Debugger [candidate] (64.943 ms) : 0, 64943
Remote Config [baseline] (533.791 µs) : 0, 534
Remote Config [candidate] (526.263 µs) : 0, 526
Telemetry [baseline] (7.769 ms) : 0, 7769
Telemetry [candidate] (7.829 ms) : 0, 7829
Flare Poller [baseline] (3.487 ms) : 0, 3487
Flare Poller [candidate] (3.451 ms) : 0, 3451
IAST [baseline] (30.01 ms) : 0, 30010
IAST [candidate] (28.272 ms) : 0, 28272
LoadParameters
See matching parameters
SummaryFound 2 performance improvements and 0 performance regressions! Performance is the same for 18 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section baseline
no_agent (1.263 ms) : 1250, 1276
. : milestone, 1263,
iast (3.255 ms) : 3212, 3298
. : milestone, 3255,
iast_FULL (6.33 ms) : 6263, 6397
. : milestone, 6330,
iast_GLOBAL (3.72 ms) : 3659, 3782
. : milestone, 3720,
profiling (2.372 ms) : 2347, 2397
. : milestone, 2372,
tracing (1.959 ms) : 1942, 1976
. : milestone, 1959,
section candidate
no_agent (1.268 ms) : 1256, 1281
. : milestone, 1268,
iast (3.294 ms) : 3246, 3342
. : milestone, 3294,
iast_FULL (6.404 ms) : 6336, 6471
. : milestone, 6404,
iast_GLOBAL (3.751 ms) : 3686, 3815
. : milestone, 3751,
profiling (2.314 ms) : 2289, 2338
. : milestone, 2314,
tracing (1.885 ms) : 1869, 1900
. : milestone, 1885,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section baseline
no_agent (18.035 ms) : 17854, 18215
. : milestone, 18035,
appsec (19.851 ms) : 19646, 20057
. : milestone, 19851,
code_origins (18.232 ms) : 18052, 18412
. : milestone, 18232,
iast (17.985 ms) : 17808, 18162
. : milestone, 17985,
profiling (18.426 ms) : 18244, 18608
. : milestone, 18426,
tracing (18.185 ms) : 18005, 18366
. : milestone, 18185,
section candidate
no_agent (18.729 ms) : 18541, 18916
. : milestone, 18729,
appsec (18.884 ms) : 18699, 19069
. : milestone, 18884,
code_origins (18.036 ms) : 17854, 18218
. : milestone, 18036,
iast (18.061 ms) : 17879, 18244
. : milestone, 18061,
profiling (18.34 ms) : 18157, 18524
. : milestone, 18340,
tracing (17.844 ms) : 17668, 18019
. : milestone, 17844,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section baseline
no_agent (1.494 ms) : 1482, 1505
. : milestone, 1494,
appsec (3.838 ms) : 3614, 4062
. : milestone, 3838,
iast (2.281 ms) : 2211, 2351
. : milestone, 2281,
iast_GLOBAL (2.324 ms) : 2254, 2394
. : milestone, 2324,
profiling (2.115 ms) : 2060, 2170
. : milestone, 2115,
tracing (2.089 ms) : 2035, 2143
. : milestone, 2089,
section candidate
no_agent (1.49 ms) : 1478, 1501
. : milestone, 1490,
appsec (2.555 ms) : 2500, 2610
. : milestone, 2555,
iast (2.276 ms) : 2207, 2346
. : milestone, 2276,
iast_GLOBAL (2.32 ms) : 2250, 2390
. : milestone, 2320,
profiling (2.105 ms) : 2050, 2159
. : milestone, 2105,
tracing (2.083 ms) : 2029, 2136
. : milestone, 2083,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.62.0-SNAPSHOT~644d404a40, baseline=1.62.0-SNAPSHOT~0d1c44d515b
dateFormat X
axisFormat %s
section baseline
no_agent (15.498 s) : 15498000, 15498000
. : milestone, 15498000,
appsec (14.773 s) : 14773000, 14773000
. : milestone, 14773000,
iast (18.876 s) : 18876000, 18876000
. : milestone, 18876000,
iast_GLOBAL (17.968 s) : 17968000, 17968000
. : milestone, 17968000,
profiling (15.021 s) : 15021000, 15021000
. : milestone, 15021000,
tracing (14.996 s) : 14996000, 14996000
. : milestone, 14996000,
section candidate
no_agent (15.043 s) : 15043000, 15043000
. : milestone, 15043000,
appsec (14.717 s) : 14717000, 14717000
. : milestone, 14717000,
iast (18.037 s) : 18037000, 18037000
. : milestone, 18037000,
iast_GLOBAL (17.988 s) : 17988000, 17988000
. : milestone, 17988000,
profiling (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
tracing (14.75 s) : 14750000, 14750000
. : milestone, 14750000,
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b0fbac1afe
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| quoted = !quoted; | ||
| if (b == '\'' && !escaped && !doubleQuoted) { | ||
| singleQuoted = !singleQuoted; | ||
| } else if (b == '"' && !singleQuoted) { |
There was a problem hiding this comment.
We allow a hanging backslash inside a double quoted string because backslash is only used to escape single quotes in SQL, right?
It would be useful to clarify this decision in the comment.
ygree
left a comment
There was a problem hiding this comment.
Looks good but needs some clarification
| INSERT INTO country (country_name, country_name_eng, country_code) VALUES (?, ?, ?);""" | ||
| "SELECT * FROM TABLE WHERE userId = ',' and foo=foo.bar" | "SELECT * FROM TABLE WHERE userId = ? and foo=foo.bar" | ||
| "SELECT * FROM TABLE WHERE userId = ','||foo.bar" | "SELECT * FROM TABLE WHERE userId = ?||foo.bar" | ||
| "CLOSE \"<unnamed portal 1>\"" | "CLOSE \"<unnamed portal 1>\"" |
There was a problem hiding this comment.
btw, forward slashes can be used to avoid cluttering, e.g. /SELECT "x\", 123 FROM t/
What Does This Do
Treat
CLOSE "this is one token"as two tokens, just like for single quotes.Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: APMS-19336
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.