Skip to content

Commit bdea5bd

Browse files
authored
sqlite: fixed sqlite column type override (#1986)
We should not assume that a table has a default schema name in the override config. Because different sql databases can have different default schemas. Fixes: #1985
1 parent d4fe46f commit bdea5bd

File tree

17 files changed

+259
-2
lines changed

17 files changed

+259
-2
lines changed

internal/cmd/shim.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ func pluginOverride(o config.Override) *plugin.Override {
1919
colParts := strings.Split(o.Column, ".")
2020
switch len(colParts) {
2121
case 2:
22-
table.Schema = "public"
2322
table.Name = colParts[0]
2423
column = colParts[1]
2524
case 3:

internal/codegen/sdk/sdk.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func Matches(o *plugin.Override, n *plugin.Identifier, defaultSchema string) boo
3232
if o.Table.Catalog != "" && !MatchString(o.Table.Catalog, n.Catalog) {
3333
return false
3434
}
35-
if o.Table.Schema == "" && schema != "" {
35+
if o.Table.Schema == "" && n.Schema != "" {
3636
return false
3737
}
3838
if o.Table.Schema != "" && !MatchString(o.Table.Schema, schema) {

internal/endtoend/testdata/overrides/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/overrides/sqlite/go/models.go

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SELECT 1;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
total bigint NOT NULL,
4+
retyped text NOT NULL
5+
);
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"name": "override",
7+
"engine": "sqlite",
8+
"schema": "schema.sql",
9+
"queries": "query.sql",
10+
"overrides": [
11+
{
12+
"go_type": "github.com/kyleconroy/sqlc-testdata/pkg.CustomType",
13+
"column": "foo.retyped"
14+
}
15+
]
16+
}
17+
]
18+
}

internal/endtoend/testdata/overrides_go_struct_tags/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/overrides_go_struct_tags/sqlite/go/models.go

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SELECT 1;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
tagged text NOT NULL
4+
);
5+
6+
CREATE TABLE bar (
7+
other text NOT NULL,
8+
also_tagged text NOT NULL
9+
);
10+
11+
CREATE TABLE baz (
12+
other text NOT NULL,
13+
also_tagged text NOT NULL
14+
);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"name": "override",
7+
"engine": "sqlite",
8+
"schema": "schema.sql",
9+
"queries": "query.sql",
10+
"overrides": [
11+
{
12+
"go_struct_tag": "a:\"b\" x:\"y,z\"",
13+
"column": "foo.tagged"
14+
},
15+
{
16+
"go_struct_tag": "also:\"tagged\"",
17+
"column": "*.also_tagged"
18+
}
19+
]
20+
}
21+
]
22+
}

internal/endtoend/testdata/overrides_go_types/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/overrides_go_types/sqlite/go/models.go

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SELECT 1;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
total bigint NOT NULL,
4+
retyped text NOT NULL
5+
);
6+
7+
CREATE TABLE bar (
8+
other text NOT NULL,
9+
total bigint NOT NULL,
10+
also_retyped text NOT NULL
11+
);
12+
13+
CREATE TABLE baz (
14+
other text NOT NULL,
15+
total bigint NOT NULL,
16+
also_retyped text NOT NULL
17+
);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"name": "override",
7+
"engine": "sqlite",
8+
"schema": "schema.sql",
9+
"queries": "query.sql",
10+
"overrides": [
11+
{
12+
"go_type": "github.com/kyleconroy/sqlc-testdata/pkg.CustomType",
13+
"column": "foo.retyped"
14+
},
15+
{
16+
"go_type": "github.com/kyleconroy/sqlc-testdata/pkg.CustomType",
17+
"column": "*.also_retyped"
18+
}
19+
]
20+
}
21+
]
22+
}

0 commit comments

Comments
 (0)