@@ -90,18 +90,18 @@ func validateAlterTable(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
9090 switch n := n .(type ) {
9191 case * plan.RenameTable :
9292 for _ , name := range n .NewNames {
93- err = validateIdentifier (name )
93+ err = ValidateIdentifier (name )
9494 if err != nil {
9595 return false
9696 }
9797 }
9898 case * plan.CreateCheck :
99- err = validateIdentifier (n .Check .Name )
99+ err = ValidateIdentifier (n .Check .Name )
100100 if err != nil {
101101 return false
102102 }
103103 case * plan.CreateForeignKey :
104- err = validateIdentifier (n .FkDef .Name )
104+ err = ValidateIdentifier (n .FkDef .Name )
105105 if err != nil {
106106 return false
107107 }
@@ -177,7 +177,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
177177 validator = sv
178178 }
179179 }
180- keyedColumns , err = getTableIndexColumns (ctx , n .Table )
180+ keyedColumns , err = GetTableIndexColumns (ctx , n .Table )
181181 return false
182182 case * plan.RenameColumn :
183183 if rt , ok := n .Table .(* plan.ResolvedTable ); ok {
@@ -192,7 +192,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
192192 validator = sv
193193 }
194194 }
195- keyedColumns , err = getTableIndexColumns (ctx , n .Table )
195+ keyedColumns , err = GetTableIndexColumns (ctx , n .Table )
196196 return false
197197 case * plan.DropColumn :
198198 if rt , ok := n .Table .(* plan.ResolvedTable ); ok {
@@ -207,7 +207,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
207207 validator = sv
208208 }
209209 }
210- indexes , err = getTableIndexNames (ctx , a , n .Table )
210+ indexes , err = GetTableIndexNames (ctx , a , n .Table )
211211 default :
212212 }
213213 return true
@@ -237,7 +237,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
237237 return nil , transform .SameTree , err
238238 }
239239
240- sch , err = validateModifyColumn (ctx , initialSch , sch , n .(* plan.ModifyColumn ), keyedColumns )
240+ sch , err = ValidateModifyColumn (ctx , initialSch , sch , n .(* plan.ModifyColumn ), keyedColumns )
241241 if err != nil {
242242 return nil , transform .SameTree , err
243243 }
@@ -247,7 +247,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
247247 if err != nil {
248248 return nil , transform .SameTree , err
249249 }
250- sch , err = validateRenameColumn (initialSch , sch , n .(* plan.RenameColumn ))
250+ sch , err = ValidateRenameColumn (initialSch , sch , n .(* plan.RenameColumn ))
251251 if err != nil {
252252 return nil , transform .SameTree , err
253253 }
@@ -270,7 +270,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
270270 if err != nil {
271271 return nil , transform .SameTree , err
272272 }
273- sch , err = validateDropColumn (initialSch , sch , n .(* plan.DropColumn ))
273+ sch , err = ValidateDropColumn (initialSch , sch , n .(* plan.DropColumn ))
274274 if err != nil {
275275 return nil , transform .SameTree , err
276276 }
@@ -287,7 +287,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
287287 return nil , transform .SameTree , err
288288 }
289289
290- keyedColumns = updateKeyedColumns (keyedColumns , nn )
290+ keyedColumns = UpdateKeyedColumns (keyedColumns , nn )
291291 return n , transform .NewTree , nil
292292 case * plan.AlterPK :
293293 n , err := nn .WithTargetSchema (sch .Copy ())
@@ -304,7 +304,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
304304 if err != nil {
305305 return nil , transform .SameTree , err
306306 }
307- sch , err = validateAlterDefault (initialSch , sch , n .(* plan.AlterDefaultSet ))
307+ sch , err = ValidateAlterDefault (initialSch , sch , n .(* plan.AlterDefaultSet ))
308308 if err != nil {
309309 return nil , transform .SameTree , err
310310 }
@@ -314,7 +314,7 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
314314 if err != nil {
315315 return nil , transform .SameTree , err
316316 }
317- sch , err = validateDropDefault (initialSch , sch , n .(* plan.AlterDefaultDrop ))
317+ sch , err = ValidateDropDefault (initialSch , sch , n .(* plan.AlterDefaultDrop ))
318318 if err != nil {
319319 return nil , transform .SameTree , err
320320 }
@@ -345,8 +345,8 @@ func resolveAlterColumn(ctx *sql.Context, a *Analyzer, n sql.Node, scope *plan.S
345345 return n , same , nil
346346}
347347
348- // updateKeyedColumns updates the keyedColumns map based on the action of the AlterIndex node
349- func updateKeyedColumns (keyedColumns map [string ]bool , n * plan.AlterIndex ) map [string ]bool {
348+ // UpdateKeyedColumns updates the keyedColumns map based on the action of the AlterIndex node
349+ func UpdateKeyedColumns (keyedColumns map [string ]bool , n * plan.AlterIndex ) map [string ]bool {
350350 switch n .Action {
351351 case plan .IndexAction_Create :
352352 for _ , col := range n .Columns {
@@ -361,16 +361,16 @@ func updateKeyedColumns(keyedColumns map[string]bool, n *plan.AlterIndex) map[st
361361 return keyedColumns
362362}
363363
364- // validateRenameColumn checks that a DDL RenameColumn node can be safely executed (e.g. no collision with other
364+ // ValidateRenameColumn checks that a DDL RenameColumn node can be safely executed (e.g. no collision with other
365365// column names, doesn't invalidate any table check constraints).
366366//
367367// Note that schema is passed in twice, because one version is the initial version before the alter column expressions
368368// are applied, and the second version is the current schema that is being modified as multiple nodes are processed.
369- func validateRenameColumn (initialSch , sch sql.Schema , rc * plan.RenameColumn ) (sql.Schema , error ) {
369+ func ValidateRenameColumn (initialSch , sch sql.Schema , rc * plan.RenameColumn ) (sql.Schema , error ) {
370370 table := rc .Table
371371 nameable := table .(sql.Nameable )
372372
373- err := validateIdentifier (rc .NewColumnName )
373+ err := ValidateIdentifier (rc .NewColumnName )
374374 if err != nil {
375375 return nil , err
376376 }
@@ -387,7 +387,7 @@ func validateRenameColumn(initialSch, sch sql.Schema, rc *plan.RenameColumn) (sq
387387 return nil , sql .ErrTableColumnNotFound .New (nameable .Name (), rc .ColumnName )
388388 }
389389
390- err = validateColumnNotUsedInCheckConstraint (rc .ColumnName , rc .Checks ())
390+ err = ValidateColumnNotUsedInCheckConstraint (rc .ColumnName , rc .Checks ())
391391 if err != nil {
392392 return nil , err
393393 }
@@ -402,7 +402,7 @@ func ValidateAddColumn(schema sql.Schema, ac *plan.AddColumn) (sql.Schema, error
402402 table := ac .Table
403403 nameable := table .(sql.Nameable )
404404
405- err := validateIdentifier (ac .Column ().Name )
405+ err := ValidateIdentifier (ac .Column ().Name )
406406 if err != nil {
407407 return nil , err
408408 }
@@ -449,7 +449,7 @@ func isStrictMysqlCompatibilityEnabled(ctx *sql.Context) (bool, error) {
449449 return i == 1 , nil
450450}
451451
452- func validateModifyColumn (ctx * sql.Context , initialSch sql.Schema , schema sql.Schema , mc * plan.ModifyColumn , keyedColumns map [string ]bool ) (sql.Schema , error ) {
452+ func ValidateModifyColumn (ctx * sql.Context , initialSch sql.Schema , schema sql.Schema , mc * plan.ModifyColumn , keyedColumns map [string ]bool ) (sql.Schema , error ) {
453453 table := mc .Table
454454 tableName := table .(sql.Nameable ).Name ()
455455
@@ -461,7 +461,7 @@ func validateModifyColumn(ctx *sql.Context, initialSch sql.Schema, schema sql.Sc
461461 }
462462
463463 newCol := mc .NewColumn ()
464- if err := validateIdentifier (newCol .Name ); err != nil {
464+ if err := ValidateIdentifier (newCol .Name ); err != nil {
465465 return nil , err
466466 }
467467
@@ -522,14 +522,14 @@ func validateModifyColumn(ctx *sql.Context, initialSch sql.Schema, schema sql.Sc
522522 return newSch , nil
523523}
524524
525- func validateIdentifier (name string ) error {
525+ func ValidateIdentifier (name string ) error {
526526 if len (name ) > sql .MaxIdentifierLength {
527527 return sql .ErrInvalidIdentifier .New (name )
528528 }
529529 return nil
530530}
531531
532- func validateDropColumn (initialSch , sch sql.Schema , dc * plan.DropColumn ) (sql.Schema , error ) {
532+ func ValidateDropColumn (initialSch , sch sql.Schema , dc * plan.DropColumn ) (sql.Schema , error ) {
533533 table := dc .Table
534534 nameable := table .(sql.Nameable )
535535
@@ -550,9 +550,9 @@ func validateDropColumn(initialSch, sch sql.Schema, dc *plan.DropColumn) (sql.Sc
550550 return newSch , nil
551551}
552552
553- // validateColumnNotUsedInCheckConstraint validates that the specified column name is not referenced in any of
553+ // ValidateColumnNotUsedInCheckConstraint validates that the specified column name is not referenced in any of
554554// the specified table check constraints.
555- func validateColumnNotUsedInCheckConstraint (columnName string , checks sql.CheckConstraints ) error {
555+ func ValidateColumnNotUsedInCheckConstraint (columnName string , checks sql.CheckConstraints ) error {
556556 var err error
557557 for _ , check := range checks {
558558 _ = transform .InspectExpr (check .Expr , func (e sql.Expression ) bool {
@@ -626,7 +626,7 @@ func validateColumnSafeToDropWithCheckConstraint(columnName string, checks sql.C
626626func validateAlterIndex (ctx * sql.Context , initialSch , sch sql.Schema , ai * plan.AlterIndex , indexes []string ) ([]string , error ) {
627627 switch ai .Action {
628628 case plan .IndexAction_Create :
629- err := validateIdentifier (ai .IndexName )
629+ err := ValidateIdentifier (ai .IndexName )
630630 if err != nil {
631631 return nil , err
632632 }
@@ -662,7 +662,7 @@ func validateAlterIndex(ctx *sql.Context, initialSch, sch sql.Schema, ai *plan.A
662662 // Remove the index from the list
663663 return append (indexes [:savedIdx ], indexes [savedIdx + 1 :]... ), nil
664664 case plan .IndexAction_Rename :
665- err := validateIdentifier (ai .IndexName )
665+ err := ValidateIdentifier (ai .IndexName )
666666 if err != nil {
667667 return nil , err
668668 }
@@ -917,8 +917,8 @@ func validateIndex(ctx *sql.Context, colMap map[string]*sql.Column, idxDef *sql.
917917 return nil
918918}
919919
920- // getTableIndexColumns returns the columns over which indexes are defined
921- func getTableIndexColumns (ctx * sql.Context , table sql.Node ) (map [string ]bool , error ) {
920+ // GetTableIndexColumns returns the columns over which indexes are defined
921+ func GetTableIndexColumns (ctx * sql.Context , table sql.Node ) (map [string ]bool , error ) {
922922 ia , err := newIndexAnalyzerForNode (ctx , table )
923923 if err != nil {
924924 return nil , err
@@ -937,8 +937,8 @@ func getTableIndexColumns(ctx *sql.Context, table sql.Node) (map[string]bool, er
937937 return keyedColumns , nil
938938}
939939
940- // getTableIndexNames returns the names of indexes associated with a table.
941- func getTableIndexNames (ctx * sql.Context , _ * Analyzer , table sql.Node ) ([]string , error ) {
940+ // GetTableIndexNames returns the names of indexes associated with a table.
941+ func GetTableIndexNames (ctx * sql.Context , _ * Analyzer , table sql.Node ) ([]string , error ) {
942942 ia , err := newIndexAnalyzerForNode (ctx , table )
943943 if err != nil {
944944 return nil , err
@@ -951,7 +951,7 @@ func getTableIndexNames(ctx *sql.Context, _ *Analyzer, table sql.Node) ([]string
951951 names [i ] = index .ID ()
952952 }
953953
954- if hasPrimaryKeys (table .Schema ()) {
954+ if HasPrimaryKeys (table .Schema ()) {
955955 names = append (names , "PRIMARY" )
956956 }
957957
@@ -963,7 +963,7 @@ func validatePrimaryKey(ctx *sql.Context, initialSch, sch sql.Schema, ai *plan.A
963963 tableName := getTableName (ai .Table )
964964 switch ai .Action {
965965 case plan .PrimaryKeyAction_Create :
966- if hasPrimaryKeys (sch ) {
966+ if HasPrimaryKeys (sch ) {
967967 return nil , sql .ErrMultiplePrimaryKeysDefined .New ()
968968 }
969969
@@ -996,7 +996,7 @@ func validatePrimaryKey(ctx *sql.Context, initialSch, sch sql.Schema, ai *plan.A
996996
997997 return sch , nil
998998 case plan .PrimaryKeyAction_Drop :
999- if ! hasPrimaryKeys (sch ) {
999+ if ! HasPrimaryKeys (sch ) {
10001000 return nil , sql .ErrCantDropFieldOrKey .New ("PRIMARY" )
10011001 }
10021002
@@ -1012,8 +1012,8 @@ func validatePrimaryKey(ctx *sql.Context, initialSch, sch sql.Schema, ai *plan.A
10121012 }
10131013}
10141014
1015- // validateAlterDefault validates the addition of a default value to a column.
1016- func validateAlterDefault (initialSch , sch sql.Schema , as * plan.AlterDefaultSet ) (sql.Schema , error ) {
1015+ // ValidateAlterDefault validates the addition of a default value to a column.
1016+ func ValidateAlterDefault (initialSch , sch sql.Schema , as * plan.AlterDefaultSet ) (sql.Schema , error ) {
10171017 idx := sch .IndexOf (as .ColumnName , getTableName (as .Table ))
10181018 if idx == - 1 {
10191019 return nil , sql .ErrTableColumnNotFound .New (as .ColumnName )
@@ -1029,8 +1029,8 @@ func validateAlterDefault(initialSch, sch sql.Schema, as *plan.AlterDefaultSet)
10291029 return sch , err
10301030}
10311031
1032- // validateDropDefault validates the dropping of a default value.
1033- func validateDropDefault (initialSch , sch sql.Schema , ad * plan.AlterDefaultDrop ) (sql.Schema , error ) {
1032+ // ValidateDropDefault validates the dropping of a default value.
1033+ func ValidateDropDefault (initialSch , sch sql.Schema , ad * plan.AlterDefaultDrop ) (sql.Schema , error ) {
10341034 idx := sch .IndexOf (ad .ColumnName , getTableName (ad .Table ))
10351035 if idx == - 1 {
10361036 return nil , sql .ErrTableColumnNotFound .New (ad .ColumnName )
@@ -1041,7 +1041,7 @@ func validateDropDefault(initialSch, sch sql.Schema, ad *plan.AlterDefaultDrop)
10411041 return sch , nil
10421042}
10431043
1044- func hasPrimaryKeys (sch sql.Schema ) bool {
1044+ func HasPrimaryKeys (sch sql.Schema ) bool {
10451045 for _ , c := range sch {
10461046 if c .PrimaryKey {
10471047 return true
0 commit comments