Skip to content

Commit 58b08ae

Browse files
authored
fix (engine/sqlite): normalize table names (#3162) (#3657)
1 parent 0b952b4 commit 58b08ae

File tree

8 files changed

+101
-4
lines changed

8 files changed

+101
-4
lines changed

internal/endtoend/testdata/quoted_tablename/sqlite/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/quoted_tablename/sqlite/go/models.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/quoted_tablename/sqlite/go/query.sql.go

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- name: TestList :many
2+
SELECT * FROM users;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-- Example queries for sqlc
2+
CREATE TABLE "users"
3+
(
4+
id TEXT NOT NULL
5+
);
6+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"engine": "sqlite",
7+
"schema": "schema.sql",
8+
"queries": "query.sql",
9+
"name": "querytest"
10+
}
11+
]
12+
}

internal/engine/sqlite/convert.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ type Delete_stmt interface {
203203
func (c *cc) convertDelete_stmtContext(n Delete_stmt) ast.Node {
204204
if qualifiedName, ok := n.Qualified_table_name().(*parser.Qualified_table_nameContext); ok {
205205

206-
tableName := qualifiedName.Table_name().GetText()
206+
tableName := identifier(qualifiedName.Table_name().GetText())
207207
relation := &ast.RangeVar{
208208
Relname: &tableName,
209209
}
@@ -854,7 +854,7 @@ func (c *cc) convertReturning_caluseContext(n parser.IReturning_clauseContext) *
854854
}
855855

856856
func (c *cc) convertInsert_stmtContext(n *parser.Insert_stmtContext) ast.Node {
857-
tableName := n.Table_name().GetText()
857+
tableName := identifier(n.Table_name().GetText())
858858
rel := &ast.RangeVar{
859859
Relname: &tableName,
860860
}
@@ -936,7 +936,7 @@ func (c *cc) convertTablesOrSubquery(n []parser.ITable_or_subqueryContext) []ast
936936
}
937937

938938
if from.Table_name() != nil {
939-
rel := from.Table_name().GetText()
939+
rel := identifier(from.Table_name().GetText())
940940
rv := &ast.RangeVar{
941941
Relname: &rel,
942942
Location: from.GetStart().GetStart(),

internal/engine/sqlite/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ type tableNamer interface {
1212

1313
func parseTableName(c tableNamer) *ast.TableName {
1414
name := ast.TableName{
15-
Name: c.Table_name().GetText(),
15+
Name: identifier(c.Table_name().GetText()),
1616
}
1717
if c.Schema_name() != nil {
1818
name.Schema = c.Schema_name().GetText()

0 commit comments

Comments
 (0)