mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
for #30109 # Details This PR fixes an issue in our current SQL parsing library that was causing queries like this to be marked invalid: ``` SELECT * FROM table_name WHERE column_name LIKE '\_%' ESCAPE '\' ``` This is valid in SQLite because the `\` is not considered an escape character by default. From [the SQLite docs](https://www.sqlite.org/lang_expr.html) (see section 3 "Literal Values (Constants)"; emphasis mine): > A string constant is formed by enclosing the string in single quotes ('). A single quote within the string can be encoded by putting two single quotes in a row - as in Pascal. C-style escapes using the backslash character are not supported because they are not standard SQL. # Use of forked code Part of the fix for this was [submitted as a PR to the node-sql-parser library](https://github.com/taozhi8833998/node-sql-parser/pull/2496) we now use, and merged. I then found that another fix was needed, which I submitted as [a separate PR](https://github.com/taozhi8833998/node-sql-parser/pull/2512). As these fixes have yet to be made part of an official release of the library, I made a fork off of the release we were using (5.3.10) and bundled the necessary build artifacts with Fleet. We have an [ADR proposing the use of submodules for this purpose](https://github.com/fleetdm/fleet/pull/31079); I'm happy to implement that instead if we approve that, although for a front-end module with a build step it's a bit more complicated. Hopefully this code will be released in `node-sql-parser` soon and we can revert back to using the dependency. Here is the [full set of changes](https://github.com/taozhi8833998/node-sql-parser/compare/master...sgress454:node-sql-parser:5.3.10-plus). # Checklist for submitter - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [X] Manual QA for all new/changed functionality
40 lines
No EOL
697 B
Text
40 lines
No EOL
697 B
Text
# markdown
|
|
*.md
|
|
|
|
# output directories
|
|
build
|
|
vendor
|
|
node_modules
|
|
|
|
# generated artifacts
|
|
assets/bundle*.*
|
|
assets/*@*.svg
|
|
assets/*@*.png
|
|
assets/*@*.eot
|
|
assets/*@*.woff
|
|
assets/*@*.woff2
|
|
assets/*@*.ttf
|
|
frontend/templates/react.tmpl
|
|
bindata.go
|
|
server/bindata/generated.go
|
|
*.cover
|
|
*.test
|
|
*.log
|
|
|
|
# typescript generated test files
|
|
tmp/
|
|
|
|
# editors
|
|
.vscode
|
|
.idea
|
|
|
|
# fleetdm.com website (uses its own formatting conventions)
|
|
website/
|
|
|
|
# certain frontend files that are not meant to be formatted
|
|
frontend/components/FleetAce/mode.ts
|
|
frontend/components/FleetAce/theme.ts
|
|
frontend/utilities/node-sql-parser
|
|
|
|
# github workflow yaml, which may contain shell scripts that shouldn't be formatted
|
|
.github/workflows/* |