diff --git a/internal/endtoend/testdata/case_sensitive/sqlite/go/db.go b/internal/endtoend/testdata/case_sensitive/sqlite/go/db.go new file mode 100644 index 0000000000..fb6ae669f6 --- /dev/null +++ b/internal/endtoend/testdata/case_sensitive/sqlite/go/db.go @@ -0,0 +1,31 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.19.1 + +package querytest + +import ( + "context" + "database/sql" +) + +type DBTX interface { + ExecContext(context.Context, string, ...interface{}) (sql.Result, error) + PrepareContext(context.Context, string) (*sql.Stmt, error) + QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error) + QueryRowContext(context.Context, string, ...interface{}) *sql.Row +} + +func New(db DBTX) *Queries { + return &Queries{db: db} +} + +type Queries struct { + db DBTX +} + +func (q *Queries) WithTx(tx *sql.Tx) *Queries { + return &Queries{ + db: tx, + } +} diff --git a/internal/endtoend/testdata/case_sensitive/sqlite/go/models.go b/internal/endtoend/testdata/case_sensitive/sqlite/go/models.go new file mode 100644 index 0000000000..2619e2a85c --- /dev/null +++ b/internal/endtoend/testdata/case_sensitive/sqlite/go/models.go @@ -0,0 +1,14 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.19.1 + +package querytest + +import ( + "database/sql" +) + +type Contact struct { + Pid sql.NullString + Customername sql.NullString +} diff --git a/internal/endtoend/testdata/case_sensitive/sqlite/go/query.sql.go b/internal/endtoend/testdata/case_sensitive/sqlite/go/query.sql.go new file mode 100644 index 0000000000..9bd23658cf --- /dev/null +++ b/internal/endtoend/testdata/case_sensitive/sqlite/go/query.sql.go @@ -0,0 +1,29 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.19.1 +// source: query.sql + +package querytest + +import ( + "context" + "database/sql" +) + +const insertContact = `-- name: InsertContact :exec +INSERT INTO contacts ( + pid, + CustomerName +) +VALUES (?,?) +` + +type InsertContactParams struct { + Pid sql.NullString + Customername sql.NullString +} + +func (q *Queries) InsertContact(ctx context.Context, arg InsertContactParams) error { + _, err := q.db.ExecContext(ctx, insertContact, arg.Pid, arg.Customername) + return err +} diff --git a/internal/endtoend/testdata/case_sensitive/sqlite/query.sql b/internal/endtoend/testdata/case_sensitive/sqlite/query.sql new file mode 100644 index 0000000000..82616fd664 --- /dev/null +++ b/internal/endtoend/testdata/case_sensitive/sqlite/query.sql @@ -0,0 +1,12 @@ +CREATE TABLE contacts ( + pid TEXT, + CustomerName TEXT +); + +-- name: InsertContact :exec +INSERT INTO contacts ( + pid, + CustomerName +) +VALUES (?,?) +; diff --git a/internal/endtoend/testdata/case_sensitive/sqlite/sqlc.json b/internal/endtoend/testdata/case_sensitive/sqlite/sqlc.json new file mode 100644 index 0000000000..fd6d575377 --- /dev/null +++ b/internal/endtoend/testdata/case_sensitive/sqlite/sqlc.json @@ -0,0 +1 @@ +{"version": "1", "packages": [{"path": "go", "engine": "sqlite", "schema": "query.sql", "queries": "query.sql", "name": "querytest"}]} \ No newline at end of file diff --git a/internal/engine/sqlite/convert.go b/internal/engine/sqlite/convert.go index a730fabdb6..9690e255f4 100644 --- a/internal/engine/sqlite/convert.go +++ b/internal/engine/sqlite/convert.go @@ -426,7 +426,7 @@ func (c *cc) getCols(core *parser.Select_coreContext) []ast.Node { } if col.AS_() != nil { - name := col.Column_alias().GetText() + name := identifier(col.Column_alias().GetText()) target.Name = &name } @@ -738,7 +738,7 @@ func (c *cc) convertExprLists(lists []parser.IExprContext) *ast.List { func (c *cc) convertColumnNames(cols []parser.IColumn_nameContext) *ast.List { list := &ast.List{Items: []ast.Node{}} for _, c := range cols { - name := c.GetText() + name := identifier(c.GetText()) list.Items = append(list.Items, &ast.ResTarget{ Name: &name, }) @@ -841,7 +841,7 @@ func (c *cc) convertUpdate_stmtContext(n Update_stmt) ast.Node { list := &ast.List{} for i, col := range n.AllColumn_name() { - colName := col.GetText() + colName := identifier(col.GetText()) target := &ast.ResTarget{ Name: &colName, Val: c.convert(n.Expr(i)),