@@ -9,39 +9,40 @@ import (
9
9
)
10
10
11
11
type Options struct {
12
- EmitInterface bool `json:"emit_interface"`
13
- EmitJsonTags bool `json:"emit_json_tags"`
14
- JsonTagsIdUppercase bool `json:"json_tags_id_uppercase"`
15
- EmitDbTags bool `json:"emit_db_tags"`
16
- EmitPreparedQueries bool `json:"emit_prepared_queries"`
17
- EmitExactTableNames bool `json:"emit_exact_table_names,omitempty"`
18
- EmitEmptySlices bool `json:"emit_empty_slices,omitempty"`
19
- EmitExportedQueries bool `json:"emit_exported_queries"`
20
- EmitResultStructPointers bool `json:"emit_result_struct_pointers"`
21
- EmitParamsStructPointers bool `json:"emit_params_struct_pointers"`
22
- EmitMethodsWithDbArgument bool `json:"emit_methods_with_db_argument,omitempty"`
23
- EmitPointersForNullTypes bool `json:"emit_pointers_for_null_types"`
24
- EmitEnumValidMethod bool `json:"emit_enum_valid_method,omitempty"`
25
- EmitAllEnumValues bool `json:"emit_all_enum_values,omitempty"`
26
- JsonTagsCaseStyle string `json:"json_tags_case_style,omitempty"`
27
- Package string `json:"package"`
28
- Out string `json:"out"`
29
- QuerySetOverrides []Override `json:"overrides,omitempty"`
30
- QuerySetRename json.RawMessage `json:"rename,omitempty"` // Unused, TODO merge with req.Settings.Rename
31
- SqlPackage string `json:"sql_package"`
32
- SqlDriver string `json:"sql_driver"`
33
- OutputBatchFileName string `json:"output_batch_file_name,omitempty"`
34
- OutputDbFileName string `json:"output_db_file_name,omitempty"`
35
- OutputModelsFileName string `json:"output_models_file_name,omitempty"`
36
- OutputQuerierFileName string `json:"output_querier_file_name,omitempty"`
37
- OutputCopyfromFileName string `json:"output_copyfrom_file_name,omitempty"`
38
- OutputFilesSuffix string `json:"output_files_suffix,omitempty"`
39
- InflectionExcludeTableNames []string `json:"inflection_exclude_table_names,omitempty"`
40
- QueryParameterLimit * int32 `json:"query_parameter_limit,omitempty"`
41
- OmitUnusedStructs bool `json:"omit_unused_structs,omitempty"`
42
- BuildTags string `json:"build_tags,omitempty"`
12
+ EmitInterface bool `json:"emit_interface"`
13
+ EmitJsonTags bool `json:"emit_json_tags"`
14
+ JsonTagsIdUppercase bool `json:"json_tags_id_uppercase"`
15
+ EmitDbTags bool `json:"emit_db_tags"`
16
+ EmitPreparedQueries bool `json:"emit_prepared_queries"`
17
+ EmitExactTableNames bool `json:"emit_exact_table_names,omitempty"`
18
+ EmitEmptySlices bool `json:"emit_empty_slices,omitempty"`
19
+ EmitExportedQueries bool `json:"emit_exported_queries"`
20
+ EmitResultStructPointers bool `json:"emit_result_struct_pointers"`
21
+ EmitParamsStructPointers bool `json:"emit_params_struct_pointers"`
22
+ EmitMethodsWithDbArgument bool `json:"emit_methods_with_db_argument,omitempty"`
23
+ EmitPointersForNullTypes bool `json:"emit_pointers_for_null_types"`
24
+ EmitEnumValidMethod bool `json:"emit_enum_valid_method,omitempty"`
25
+ EmitAllEnumValues bool `json:"emit_all_enum_values,omitempty"`
26
+ JsonTagsCaseStyle string `json:"json_tags_case_style,omitempty"`
27
+ Package string `json:"package"`
28
+ Out string `json:"out"`
29
+ SqlPackage string `json:"sql_package"`
30
+ SqlDriver string `json:"sql_driver"`
31
+ OutputBatchFileName string `json:"output_batch_file_name,omitempty"`
32
+ OutputDbFileName string `json:"output_db_file_name,omitempty"`
33
+ OutputModelsFileName string `json:"output_models_file_name,omitempty"`
34
+ OutputQuerierFileName string `json:"output_querier_file_name,omitempty"`
35
+ OutputCopyfromFileName string `json:"output_copyfrom_file_name,omitempty"`
36
+ OutputFilesSuffix string `json:"output_files_suffix,omitempty"`
37
+ InflectionExcludeTableNames []string `json:"inflection_exclude_table_names,omitempty"`
38
+ QueryParameterLimit * int32 `json:"query_parameter_limit,omitempty"`
39
+ OmitUnusedStructs bool `json:"omit_unused_structs,omitempty"`
40
+ BuildTags string `json:"build_tags,omitempty"`
43
41
44
- Overrides []GlobalOverride `json:"-"`
42
+ QuerySetOverrides []Override `json:"overrides,omitempty"`
43
+ QuerySetRename json.RawMessage `json:"rename,omitempty"` // Unused, TODO merge with req.Settings.Rename
44
+
45
+ Overrides []GoOverride `json:"-"`
45
46
}
46
47
47
48
func ParseOpts (req * plugin.CodeGenRequest ) (* Options , error ) {
@@ -56,7 +57,10 @@ func ParseOpts(req *plugin.CodeGenRequest) (*Options, error) {
56
57
if err := options .QuerySetOverrides [i ].Parse (); err != nil {
57
58
return options , err
58
59
}
60
+
61
+ // construct a "plugin"-style override to make the next loop simpler
59
62
override := pluginOverride (req .Catalog .DefaultSchema , options .QuerySetOverrides [i ])
63
+
60
64
// in sqlc config.Combine() the "package"-level configs are appended to global configs,
61
65
// so we mimic that behavior here
62
66
req .Settings .Overrides = append (req .Settings .Overrides , override )
@@ -67,7 +71,7 @@ func ParseOpts(req *plugin.CodeGenRequest) (*Options, error) {
67
71
if err := json .Unmarshal (override .CodeType , & goType ); err != nil {
68
72
return options , err
69
73
}
70
- options .Overrides = append (options .Overrides , GlobalOverride {
74
+ options .Overrides = append (options .Overrides , GoOverride {
71
75
override ,
72
76
& goType ,
73
77
})
0 commit comments