@@ -1361,13 +1361,13 @@ func (s *Store) GetConfig(ctx context.Context, subject string) (*storage.ConfigR
13611361 return s .GetGlobalConfig (ctx )
13621362 }
13631363 var compat , alias string
1364- var normalize * bool
1364+ var normalize , validateFields * bool
13651365 var compatibilityGroup string
13661366 var defaultMetadataStr , overrideMetadataStr , defaultRulesetStr , overrideRulesetStr string
13671367 err := s .readQuery (
1368- fmt .Sprintf (`SELECT compatibility, alias, normalize, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group FROM %s.subject_configs WHERE subject = ?` , qident (s .cfg .Keyspace )),
1368+ fmt .Sprintf (`SELECT compatibility, alias, normalize, validate_fields, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group FROM %s.subject_configs WHERE subject = ?` , qident (s .cfg .Keyspace )),
13691369 subject ,
1370- ).WithContext (ctx ).Scan (& compat , & alias , & normalize , & defaultMetadataStr , & overrideMetadataStr , & defaultRulesetStr , & overrideRulesetStr , & compatibilityGroup )
1370+ ).WithContext (ctx ).Scan (& compat , & alias , & normalize , & validateFields , & defaultMetadataStr , & overrideMetadataStr , & defaultRulesetStr , & overrideRulesetStr , & compatibilityGroup )
13711371 if err != nil {
13721372 if errors .Is (err , gocql .ErrNotFound ) {
13731373 return nil , storage .ErrNotFound
@@ -1379,6 +1379,7 @@ func (s *Store) GetConfig(ctx context.Context, subject string) (*storage.ConfigR
13791379 CompatibilityLevel : compat ,
13801380 Alias : alias ,
13811381 Normalize : normalize ,
1382+ ValidateFields : validateFields ,
13821383 CompatibilityGroup : compatibilityGroup ,
13831384 DefaultMetadata : unmarshalJSONText [storage.Metadata ](defaultMetadataStr ),
13841385 OverrideMetadata : unmarshalJSONText [storage.Metadata ](overrideMetadataStr ),
@@ -1394,9 +1395,9 @@ func (s *Store) SetConfig(ctx context.Context, subject string, config *storage.C
13941395 }
13951396 compat := normalizeCompat (config .CompatibilityLevel )
13961397 return s .writeQuery (
1397- fmt .Sprintf (`INSERT INTO %s.subject_configs (subject, compatibility, alias, normalize, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1398- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1399- subject , compat , config .Alias , config .Normalize ,
1398+ fmt .Sprintf (`INSERT INTO %s.subject_configs (subject, compatibility, alias, normalize, validate_fields, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1399+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1400+ subject , compat , config .Alias , config .Normalize , config . ValidateFields ,
14001401 marshalJSONText (config .DefaultMetadata ), marshalJSONText (config .OverrideMetadata ),
14011402 marshalJSONText (config .DefaultRuleSet ), marshalJSONText (config .OverrideRuleSet ),
14021403 config .CompatibilityGroup ,
@@ -1422,13 +1423,13 @@ func (s *Store) DeleteConfig(ctx context.Context, subject string) error {
14221423// GetGlobalConfig retrieves the global compatibility config.
14231424func (s * Store ) GetGlobalConfig (ctx context.Context ) (* storage.ConfigRecord , error ) {
14241425 var compat , alias string
1425- var normalize * bool
1426+ var normalize , validateFields * bool
14261427 var compatibilityGroup string
14271428 var defaultMetadataStr , overrideMetadataStr , defaultRulesetStr , overrideRulesetStr string
14281429 err := s .readQuery (
1429- fmt .Sprintf (`SELECT compatibility, alias, normalize, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group FROM %s.global_config WHERE key = ?` , qident (s .cfg .Keyspace )),
1430+ fmt .Sprintf (`SELECT compatibility, alias, normalize, validate_fields, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group FROM %s.global_config WHERE key = ?` , qident (s .cfg .Keyspace )),
14301431 "global" ,
1431- ).WithContext (ctx ).Scan (& compat , & alias , & normalize , & defaultMetadataStr , & overrideMetadataStr , & defaultRulesetStr , & overrideRulesetStr , & compatibilityGroup )
1432+ ).WithContext (ctx ).Scan (& compat , & alias , & normalize , & validateFields , & defaultMetadataStr , & overrideMetadataStr , & defaultRulesetStr , & overrideRulesetStr , & compatibilityGroup )
14321433 if err != nil {
14331434 if errors .Is (err , gocql .ErrNotFound ) {
14341435 return nil , storage .ErrNotFound
@@ -1440,6 +1441,7 @@ func (s *Store) GetGlobalConfig(ctx context.Context) (*storage.ConfigRecord, err
14401441 CompatibilityLevel : compat ,
14411442 Alias : alias ,
14421443 Normalize : normalize ,
1444+ ValidateFields : validateFields ,
14431445 CompatibilityGroup : compatibilityGroup ,
14441446 DefaultMetadata : unmarshalJSONText [storage.Metadata ](defaultMetadataStr ),
14451447 OverrideMetadata : unmarshalJSONText [storage.Metadata ](overrideMetadataStr ),
@@ -1452,24 +1454,25 @@ func (s *Store) GetGlobalConfig(ctx context.Context) (*storage.ConfigRecord, err
14521454func (s * Store ) SetGlobalConfig (ctx context.Context , config * storage.ConfigRecord ) error {
14531455 compat := "BACKWARD"
14541456 var alias string
1455- var normalize * bool
1457+ var normalize , validateFields * bool
14561458 var compatibilityGroup string
14571459 var defaultMetadata , overrideMetadata * storage.Metadata
14581460 var defaultRuleSet , overrideRuleSet * storage.RuleSet
14591461 if config != nil {
14601462 compat = normalizeCompat (config .CompatibilityLevel )
14611463 alias = config .Alias
14621464 normalize = config .Normalize
1465+ validateFields = config .ValidateFields
14631466 compatibilityGroup = config .CompatibilityGroup
14641467 defaultMetadata = config .DefaultMetadata
14651468 overrideMetadata = config .OverrideMetadata
14661469 defaultRuleSet = config .DefaultRuleSet
14671470 overrideRuleSet = config .OverrideRuleSet
14681471 }
14691472 return s .writeQuery (
1470- fmt .Sprintf (`INSERT INTO %s.global_config (key, compatibility, alias, normalize, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1471- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1472- "global" , compat , alias , normalize ,
1473+ fmt .Sprintf (`INSERT INTO %s.global_config (key, compatibility, alias, normalize, validate_fields, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1474+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1475+ "global" , compat , alias , normalize , validateFields ,
14731476 marshalJSONText (defaultMetadata ), marshalJSONText (overrideMetadata ),
14741477 marshalJSONText (defaultRuleSet ), marshalJSONText (overrideRuleSet ),
14751478 compatibilityGroup ,
@@ -1479,9 +1482,9 @@ func (s *Store) SetGlobalConfig(ctx context.Context, config *storage.ConfigRecor
14791482// DeleteGlobalConfig resets the global config to the default (BACKWARD).
14801483func (s * Store ) DeleteGlobalConfig (ctx context.Context ) error {
14811484 return s .writeQuery (
1482- fmt .Sprintf (`INSERT INTO %s.global_config (key, compatibility, alias, normalize, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1483- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1484- "global" , "BACKWARD" , "" , nil , "" , "" , "" , "" , "" ,
1485+ fmt .Sprintf (`INSERT INTO %s.global_config (key, compatibility, alias, normalize, validate_fields, default_metadata, override_metadata, default_ruleset, override_ruleset, compatibility_group, updated_at)
1486+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now())` , qident (s .cfg .Keyspace )),
1487+ "global" , "BACKWARD" , "" , nil , nil , "" , "" , "" , "" , "" ,
14851488 ).WithContext (ctx ).Exec ()
14861489}
14871490
0 commit comments