nodeForeignKeyDefinitionFromColumnTableDef returns a vitess ForeignKeyDefinition from the specified column definition |node|.
(ctx *Context, fromColumn tree.Name, node *tree.ColumnTableDef)
| 135 | // nodeForeignKeyDefinitionFromColumnTableDef returns a vitess ForeignKeyDefinition from the specified column |
| 136 | // definition |node|. |
| 137 | func nodeForeignKeyDefinitionFromColumnTableDef(ctx *Context, fromColumn tree.Name, node *tree.ColumnTableDef) (*vitess.ForeignKeyDefinition, error) { |
| 138 | if node == nil { |
| 139 | return nil, nil |
| 140 | } |
| 141 | |
| 142 | references := node.References |
| 143 | fkConstraintTableDef := &tree.ForeignKeyConstraintTableDef{ |
| 144 | Name: references.ConstraintName, |
| 145 | FromCols: []tree.Name{fromColumn}, |
| 146 | Table: *references.Table, |
| 147 | ToCols: []tree.Name{references.Col}, |
| 148 | Actions: references.Actions, |
| 149 | Match: references.Match, |
| 150 | } |
| 151 | |
| 152 | return nodeForeignKeyConstraintTableDef(ctx, fkConstraintTableDef, false) |
| 153 | } |
| 154 | |
| 155 | // assignTableDefs handles tree.TableDefs nodes for *vitess.DDL targets. This also sorts table defs by whether they're |
| 156 | // dependent on other table defs evaluating first. Some table defs, such as indexes, affect other defs, such as columns, |
no test coverage detected