Skip to content

Commit

Permalink
fix: missing import with pointer overrides, solves sqlc-dev#2168 sqlc…
Browse files Browse the repository at this point in the history
  • Loading branch information
ludusrusso committed Apr 19, 2023
1 parent 115c8df commit 32126cd
Show file tree
Hide file tree
Showing 21 changed files with 324 additions and 1 deletion.
3 changes: 2 additions & 1 deletion internal/codegen/golang/imports.go
Expand Up @@ -68,7 +68,8 @@ func (i *importer) usesType(typ string) bool {
for _, strct := range i.Structs {
for _, f := range strct.Fields {
fType := trimSliceAndPointerPrefix(f.Type)
if strings.HasPrefix(fType, typ) {
tType := trimSliceAndPointerPrefix(typ)
if strings.HasPrefix(fType, tType) {
return true
}
}
Expand Down
31 changes: 31 additions & 0 deletions internal/endtoend/testdata/overrides_pointers/mysql/go/db.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions internal/endtoend/testdata/overrides_pointers/mysql/go/models.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

@@ -0,0 +1 @@
SELECT 1;
@@ -0,0 +1,5 @@
CREATE TABLE foo (
other text NOT NULL,
total bigint NOT NULL,
retyped text NOT NULL
);
23 changes: 23 additions & 0 deletions internal/endtoend/testdata/overrides_pointers/mysql/sqlc.json
@@ -0,0 +1,23 @@
{
"version": "1",
"packages": [
{
"path": "go",
"name": "override",
"engine": "mysql",
"schema": "schema.sql",
"queries": "query.sql",
"overrides": [
{
"go_type": {
"import": "test",
"type": "Test",
"package": "t",
"pointer": true
},
"column": "foo.retyped"
}
]
}
]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

@@ -0,0 +1 @@
SELECT 1;
@@ -0,0 +1,8 @@
CREATE TABLE foo (
other text NOT NULL,
total bigint NOT NULL,
tags text[] NOT NULL,
byte_seq bytea NOT NULL,
retyped text NOT NULL,
langs text[]
);
@@ -0,0 +1,24 @@
{
"version": "1",
"packages": [
{
"path": "go",
"engine": "postgresql",
"sql_package": "pgx/v4",
"name": "override",
"schema": "schema.sql",
"queries": "query.sql",
"overrides": [
{
"go_type": {
"import": "test",
"type": "Test",
"package": "t",
"pointer": true
},
"column": "foo.langs"
}
]
}
]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

@@ -0,0 +1 @@
SELECT 1;
@@ -0,0 +1,8 @@
CREATE TABLE foo (
other text NOT NULL,
total bigint NOT NULL,
tags text[] NOT NULL,
byte_seq bytea NOT NULL,
retyped text NOT NULL,
langs text[]
);
@@ -0,0 +1,24 @@
{
"version": "1",
"packages": [
{
"path": "go",
"engine": "postgresql",
"sql_package": "pgx/v5",
"name": "override",
"schema": "schema.sql",
"queries": "query.sql",
"overrides": [
{
"go_type": {
"import": "test",
"type": "Test",
"package": "t",
"pointer": true
},
"column": "foo.langs"
}
]
}
]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

@@ -0,0 +1 @@
SELECT 1;
@@ -0,0 +1,8 @@
CREATE TABLE foo (
other text NOT NULL,
total bigint NOT NULL,
tags text[] NOT NULL,
byte_seq bytea NOT NULL,
retyped text NOT NULL,
langs text[]
);
@@ -0,0 +1,23 @@
{
"version": "1",
"packages": [
{
"path": "go",
"name": "override",
"engine": "postgresql",
"schema": "schema.sql",
"queries": "query.sql",
"overrides": [
{
"go_type": {
"import": "test",
"type": "Test",
"package": "t",
"pointer": true
},
"column": "foo.langs"
}
]
}
]
}

0 comments on commit 32126cd

Please sign in to comment.