Skip to content

Commit 1e570cf

Browse files
committed
add flag
1 parent 9fe9e2d commit 1e570cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1785
-433
lines changed

internal/cmd/shim.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ func pluginGoCode(s config.SQLGo) *plugin.GoCode {
9696
EmitPointersForNullTypes: s.EmitPointersForNullTypes,
9797
EmitEnumValidMethod: s.EmitEnumValidMethod,
9898
EmitAllEnumValues: s.EmitAllEnumValues,
99+
EmitEmbedAlias: s.EmitEmbedAlias,
99100
JsonTagsCaseStyle: s.JSONTagsCaseStyle,
100101
Package: s.Package,
101102
Out: s.Out,

internal/codegen/golang/gen.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ type tmplCtx struct {
3636
EmitMethodsWithDBArgument bool
3737
EmitEnumValidMethod bool
3838
EmitAllEnumValues bool
39+
EmitEmbedAlias bool
3940
UsesCopyFrom bool
4041
UsesBatch bool
4142
}
@@ -135,6 +136,7 @@ func generate(req *plugin.CodeGenRequest, enums []Enum, structs []Struct, querie
135136
EmitMethodsWithDBArgument: golang.EmitMethodsWithDbArgument,
136137
EmitEnumValidMethod: golang.EmitEnumValidMethod,
137138
EmitAllEnumValues: golang.EmitAllEnumValues,
139+
EmitEmbedAlias: golang.EmitEmbedAlias,
138140
UsesCopyFrom: usesCopyFrom(queries),
139141
UsesBatch: usesBatch(queries),
140142
SQLDriver: parseDriver(golang.SqlPackage),

internal/codegen/golang/result.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,13 @@ type goEmbed struct {
122122

123123
// look through all the structs and attempt to find a matching one to embed
124124
// We need the name of the struct and its field names.
125-
func newGoEmbed(columnName string, embed *plugin.Identifier, structs []Struct, defaultSchema string) *goEmbed {
125+
func newGoEmbed(req *plugin.CodeGenRequest, columnName string, embed *plugin.Identifier, structs []Struct) *goEmbed {
126126
if embed == nil {
127127
return nil
128128
}
129129

130130
for _, s := range structs {
131-
embedSchema := defaultSchema
131+
embedSchema := req.Catalog.DefaultSchema
132132
if embed.Schema != "" {
133133
embedSchema = embed.Schema
134134
}
@@ -142,7 +142,7 @@ func newGoEmbed(columnName string, embed *plugin.Identifier, structs []Struct, d
142142
copy(fields, s.Fields)
143143

144144
structName := s.Name
145-
if s.Table.Name != columnName {
145+
if req.Settings.Go.EmitEmbedAlias && s.Table.Name != columnName {
146146
structName = columnName
147147
}
148148

@@ -291,7 +291,7 @@ func buildQueries(req *plugin.CodeGenRequest, structs []Struct) ([]Query, error)
291291
columns = append(columns, goColumn{
292292
id: i,
293293
Column: c,
294-
embed: newGoEmbed(c.Name, c.EmbedTable, structs, req.Catalog.DefaultSchema),
294+
embed: newGoEmbed(req, c.Name, c.EmbedTable, structs),
295295
})
296296
}
297297
var err error

internal/config/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ type SQLGo struct {
145145
EmitEnumValidMethod bool `json:"emit_enum_valid_method,omitempty" yaml:"emit_enum_valid_method"`
146146
EmitAllEnumValues bool `json:"emit_all_enum_values,omitempty" yaml:"emit_all_enum_values"`
147147
JSONTagsCaseStyle string `json:"json_tags_case_style,omitempty" yaml:"json_tags_case_style"`
148+
EmitEmbedAlias bool `json:"emit_embed_alias,omitempty" yaml:"emit_embed_alias"`
148149
Package string `json:"package" yaml:"package"`
149150
Out string `json:"out" yaml:"out"`
150151
Overrides []Override `json:"overrides,omitempty" yaml:"overrides"`

internal/config/v_one.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ type v1PackageSettings struct {
3939
EmitPointersForNullTypes bool `json:"emit_pointers_for_null_types" yaml:"emit_pointers_for_null_types"`
4040
EmitEnumValidMethod bool `json:"emit_enum_valid_method,omitempty" yaml:"emit_enum_valid_method"`
4141
EmitAllEnumValues bool `json:"emit_all_enum_values,omitempty" yaml:"emit_all_enum_values"`
42+
EmitEmbedAlias bool `json:"emit_embed_alias,omitempty" yaml:"emit_embed_alias"`
4243
JSONTagsCaseStyle string `json:"json_tags_case_style,omitempty" yaml:"json_tags_case_style"`
4344
SQLPackage string `json:"sql_package" yaml:"sql_package"`
4445
SQLDriver string `json:"sql_driver" yaml:"sql_driver"`
@@ -163,6 +164,7 @@ func (c *V1GenerateSettings) Translate() Config {
163164
EmitPointersForNullTypes: pkg.EmitPointersForNullTypes,
164165
EmitEnumValidMethod: pkg.EmitEnumValidMethod,
165166
EmitAllEnumValues: pkg.EmitAllEnumValues,
167+
EmitEmbedAlias: pkg.EmitEmbedAlias,
166168
Package: pkg.Name,
167169
Out: pkg.Path,
168170
SQLPackage: pkg.SQLPackage,

internal/endtoend/testdata/codegen_json/gen/codegen.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
"query_parameter_limit": 1,
4343
"output_batch_file_name": "",
4444
"json_tags_id_uppercase": false,
45-
"omit_unused_structs": false
45+
"omit_unused_structs": false,
46+
"emit_embed_alias": false
4647
},
4748
"json": {
4849
"out": "gen",

internal/endtoend/testdata/sqlc_embed/mysql/go/models.go

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

internal/endtoend/testdata/sqlc_embed/mysql/go/query.sql.go

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

internal/endtoend/testdata/sqlc_embed/mysql/query.sql

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ CREATE TABLE baz.users (
1616
name varchar(255) NOT NULL
1717
);
1818

19-
CREATE TABLE user_links (
20-
owner_id integer NOT NULL,
21-
consumer_id integer NOT NULL,
22-
PRIMARY KEY (owner_id, consumer_id)
23-
);
2419

2520
-- name: Only :one
2621
SELECT sqlc.embed(users) FROM users;
@@ -46,13 +41,4 @@ SELECT sqlc.embed(bu) FROM baz.users bu;
4641

4742
-- name: WithCrossSchema :many
4843
SELECT sqlc.embed(users), sqlc.embed(bu) FROM users
49-
INNER JOIN baz.users bu ON users.id = bu.id;
50-
51-
-- name: ListUserLink :many
52-
SELECT
53-
sqlc.embed(owner),
54-
sqlc.embed(consumers)
55-
FROM
56-
user_links
57-
INNER JOIN users AS owner ON owner.id = user_links.owner_id
58-
INNER JOIN users AS consumers ON consumers.id = user_links.consumer_id;
44+
INNER JOIN baz.users bu ON users.id = bu.id;

internal/endtoend/testdata/sqlc_embed/postgresql/pgx/go/models.go

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

internal/endtoend/testdata/sqlc_embed/postgresql/pgx/go/query.sql.go

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

internal/endtoend/testdata/sqlc_embed/postgresql/pgx/query.sql

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ CREATE TABLE baz.users (
1616
name varchar(255) NOT NULL
1717
);
1818

19-
CREATE TABLE user_links (
20-
owner_id integer NOT NULL,
21-
consumer_id integer NOT NULL,
22-
PRIMARY KEY (owner_id, consumer_id)
23-
);
24-
2519

2620
-- name: Only :one
2721
SELECT sqlc.embed(users) FROM users;
@@ -47,13 +41,4 @@ SELECT sqlc.embed(bu) FROM baz.users bu;
4741

4842
-- name: WithCrossSchema :many
4943
SELECT sqlc.embed(users), sqlc.embed(bu) FROM users
50-
INNER JOIN baz.users bu ON users.id = bu.id;
51-
52-
-- name: ListUserLink :many
53-
SELECT
54-
sqlc.embed(owner),
55-
sqlc.embed(consumer)
56-
FROM
57-
user_links
58-
INNER JOIN users AS owner ON owner.id = user_links.owner_id
59-
INNER JOIN users AS consumer ON consumer.id = user_links.consumer_id;
44+
INNER JOIN baz.users bu ON users.id = bu.id;

internal/endtoend/testdata/sqlc_embed/postgresql/stdlib/go/models.go

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

0 commit comments

Comments
 (0)