(out *strings.Builder, column *storepb.ColumnMetadata)
| 1294 | } |
| 1295 | |
| 1296 | func writeColumnDefinition(out *strings.Builder, column *storepb.ColumnMetadata) error { |
| 1297 | if _, err := fmt.Fprintf(out, "\"%s\" %s", column.Name, column.Type); err != nil { |
| 1298 | return err |
| 1299 | } |
| 1300 | if column.Default != "" { |
| 1301 | if _, err := fmt.Fprintf(out, " DEFAULT %s", column.Default); err != nil { |
| 1302 | return err |
| 1303 | } |
| 1304 | } |
| 1305 | switch column.GetIdentityGeneration() { |
| 1306 | case storepb.ColumnMetadata_ALWAYS: |
| 1307 | if _, err := out.WriteString(" GENERATED ALWAYS AS IDENTITY"); err != nil { |
| 1308 | return err |
| 1309 | } |
| 1310 | case storepb.ColumnMetadata_BY_DEFAULT: |
| 1311 | if _, err := out.WriteString(" GENERATED BY DEFAULT AS IDENTITY"); err != nil { |
| 1312 | return err |
| 1313 | } |
| 1314 | default: |
| 1315 | } |
| 1316 | if generation := column.GetGeneration(); generation != nil && generation.GetExpression() != "" { |
| 1317 | generationType := "STORED" |
| 1318 | if generation.GetType() == storepb.GenerationMetadata_TYPE_VIRTUAL { |
| 1319 | generationType = "VIRTUAL" |
| 1320 | } |
| 1321 | if _, err := fmt.Fprintf(out, " GENERATED ALWAYS AS (%s) %s", generation.GetExpression(), generationType); err != nil { |
| 1322 | return err |
| 1323 | } |
| 1324 | } |
| 1325 | if !column.Nullable { |
| 1326 | if _, err := out.WriteString(" NOT NULL"); err != nil { |
| 1327 | return err |
| 1328 | } |
| 1329 | } |
| 1330 | return nil |
| 1331 | } |
| 1332 | |
| 1333 | func writeDropTrigger(out *strings.Builder, schemaName, tableName, triggerName string) error { |
| 1334 | _, err := fmt.Fprintf(out, "DROP TRIGGER \"%s\" ON \"%s\".\"%s\";\n\n", triggerName, schemaName, tableName) |
no test coverage detected