@@ -9,39 +9,40 @@ import (
99)
1010
1111type 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"`
4341
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:"-"`
4546}
4647
4748func ParseOpts (req * plugin.CodeGenRequest ) (* Options , error ) {
@@ -56,7 +57,10 @@ func ParseOpts(req *plugin.CodeGenRequest) (*Options, error) {
5657 if err := options .QuerySetOverrides [i ].Parse (); err != nil {
5758 return options , err
5859 }
60+
61+ // construct a "plugin"-style override to make the next loop simpler
5962 override := pluginOverride (req .Catalog .DefaultSchema , options .QuerySetOverrides [i ])
63+
6064 // in sqlc config.Combine() the "package"-level configs are appended to global configs,
6165 // so we mimic that behavior here
6266 req .Settings .Overrides = append (req .Settings .Overrides , override )
@@ -67,7 +71,7 @@ func ParseOpts(req *plugin.CodeGenRequest) (*Options, error) {
6771 if err := json .Unmarshal (override .CodeType , & goType ); err != nil {
6872 return options , err
6973 }
70- options .Overrides = append (options .Overrides , GlobalOverride {
74+ options .Overrides = append (options .Overrides , GoOverride {
7175 override ,
7276 & goType ,
7377 })
0 commit comments