Skip to content

Commit b0057da

Browse files
committed
fix(sqlite): Correctly skip unknown statements
Without updating loc, the unknown statement would be included in the text of the next query.
1 parent b8160b5 commit b0057da

File tree

7 files changed

+146
-0
lines changed

7 files changed

+146
-0
lines changed

internal/endtoend/testdata/sqlite_skip_todo/db/db.go

+31
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/sqlite_skip_todo/db/models.go

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/sqlite_skip_todo/db/query.sql.go

+66
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
-- name: PragmaForeignKeysEnable :exec
2+
PRAGMA foreign_keys = 1;
3+
4+
-- name: ListFoo :many
5+
SELECT * FROM foo;
6+
7+
-- name: PragmaForeignKeysDisable :exec
8+
PRAGMA foreign_keys = 0;
9+
10+
-- name: PragmaForeignKeysGet :one
11+
PRAGMA foreign_keys;
12+
13+
-- name: GetFoo :many
14+
SELECT * FROM foo
15+
WHERE bar = ?;
16+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CREATE TABLE foo (
2+
bar text
3+
);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"version": "2",
3+
"sql": [
4+
{
5+
"engine": "sqlite",
6+
"queries": "query.sql",
7+
"schema": "schema.sql",
8+
"gen": {
9+
"go": {
10+
"package": "db",
11+
"out": "db"
12+
}
13+
}
14+
}
15+
]
16+
}

internal/engine/sqlite/parse.go

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func (p *Parser) Parse(r io.Reader) ([]ast.Statement, error) {
6969
converter := &cc{}
7070
out := converter.convert(stmt)
7171
if _, ok := out.(*ast.TODO); ok {
72+
loc = stmt.GetStop().GetStop() + 2
7273
continue
7374
}
7475
len := (stmt.GetStop().GetStop() + 1) - loc

0 commit comments

Comments
 (0)