Skip to content

Commit dfdf989

Browse files
committed
fix: missing import with pointer overrides, solves #2168 #2125
1 parent 115c8df commit dfdf989

File tree

21 files changed

+324
-1
lines changed

21 files changed

+324
-1
lines changed

internal/codegen/golang/imports.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ func (i *importer) usesType(typ string) bool {
6868
for _, strct := range i.Structs {
6969
for _, f := range strct.Fields {
7070
fType := trimSliceAndPointerPrefix(f.Type)
71-
if strings.HasPrefix(fType, typ) {
71+
tType := trimSliceAndPointerPrefix(typ)
72+
if strings.HasPrefix(fType, tType) {
7273
return true
7374
}
7475
}

internal/endtoend/testdata/overrides_pointers/mysql/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_pointers/mysql/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: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"name": "override",
7+
"engine": "mysql",
8+
"schema": "schema.sql",
9+
"queries": "query.sql",
10+
"overrides": [
11+
{
12+
"go_type": {
13+
"import": "github.com/jackc/pgtype",
14+
"type": "Text",
15+
"package": "t",
16+
"pointer": true
17+
},
18+
"column": "foo.retyped"
19+
}
20+
]
21+
}
22+
]
23+
}

internal/endtoend/testdata/overrides_pointers/postgresql/pgx/v4/go/db.go

Lines changed: 32 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_pointers/postgresql/pgx/v4/go/models.go

Lines changed: 18 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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
total bigint NOT NULL,
4+
tags text[] NOT NULL,
5+
byte_seq bytea NOT NULL,
6+
retyped text NOT NULL,
7+
langs text[]
8+
);
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"engine": "postgresql",
7+
"sql_package": "pgx/v4",
8+
"name": "override",
9+
"schema": "schema.sql",
10+
"queries": "query.sql",
11+
"overrides": [
12+
{
13+
"go_type": {
14+
"import": "github.com/jackc/pgtype",
15+
"type": "Text",
16+
"package": "t",
17+
"pointer": true
18+
},
19+
"column": "foo.langs"
20+
}
21+
]
22+
}
23+
]
24+
}

internal/endtoend/testdata/overrides_pointers/postgresql/pgx/v5/go/db.go

Lines changed: 32 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_pointers/postgresql/pgx/v5/go/models.go

Lines changed: 18 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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
total bigint NOT NULL,
4+
tags text[] NOT NULL,
5+
byte_seq bytea NOT NULL,
6+
retyped text NOT NULL,
7+
langs text[]
8+
);
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"engine": "postgresql",
7+
"sql_package": "pgx/v5",
8+
"name": "override",
9+
"schema": "schema.sql",
10+
"queries": "query.sql",
11+
"overrides": [
12+
{
13+
"go_type": {
14+
"import": "github.com/jackc/pgtype",
15+
"type": "Text",
16+
"package": "t",
17+
"pointer": true
18+
},
19+
"column": "foo.langs"
20+
}
21+
]
22+
}
23+
]
24+
}

internal/endtoend/testdata/overrides_pointers/postgresql/stdlib/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_pointers/postgresql/stdlib/go/models.go

Lines changed: 18 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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CREATE TABLE foo (
2+
other text NOT NULL,
3+
total bigint NOT NULL,
4+
tags text[] NOT NULL,
5+
byte_seq bytea NOT NULL,
6+
retyped text NOT NULL,
7+
langs text[]
8+
);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"name": "override",
7+
"engine": "postgresql",
8+
"schema": "schema.sql",
9+
"queries": "query.sql",
10+
"overrides": [
11+
{
12+
"go_type": {
13+
"import": "github.com/jackc/pgtype",
14+
"type": "Text",
15+
"package": "t",
16+
"pointer": true
17+
},
18+
"column": "foo.langs"
19+
}
20+
]
21+
}
22+
]
23+
}

0 commit comments

Comments
 (0)