(out io.Writer, schemaName string, sequence *storepb.SequenceMetadata)
| 3498 | } |
| 3499 | |
| 3500 | func writeSequenceSDL(out io.Writer, schemaName string, sequence *storepb.SequenceMetadata) error { |
| 3501 | // Write CREATE SEQUENCE statement with schema and name |
| 3502 | if _, err := fmt.Fprintf(out, "CREATE SEQUENCE \"%s\".\"%s\"", schemaName, sequence.Name); err != nil { |
| 3503 | return err |
| 3504 | } |
| 3505 | |
| 3506 | // Add data type (always output for consistency with non-SDL format) |
| 3507 | if sequence.DataType != "" { |
| 3508 | if _, err := fmt.Fprintf(out, " AS %s", sequence.DataType); err != nil { |
| 3509 | return err |
| 3510 | } |
| 3511 | } |
| 3512 | |
| 3513 | // Add START WITH (always output for consistency with non-SDL format) |
| 3514 | if sequence.Start != "" { |
| 3515 | if _, err := fmt.Fprintf(out, " START WITH %s", sequence.Start); err != nil { |
| 3516 | return err |
| 3517 | } |
| 3518 | } |
| 3519 | |
| 3520 | // Add INCREMENT BY (always output for consistency with non-SDL format) |
| 3521 | if sequence.Increment != "" { |
| 3522 | if _, err := fmt.Fprintf(out, " INCREMENT BY %s", sequence.Increment); err != nil { |
| 3523 | return err |
| 3524 | } |
| 3525 | } |
| 3526 | |
| 3527 | // Add MINVALUE (always output for consistency with non-SDL format) |
| 3528 | if sequence.MinValue != "" { |
| 3529 | if _, err := fmt.Fprintf(out, " MINVALUE %s", sequence.MinValue); err != nil { |
| 3530 | return err |
| 3531 | } |
| 3532 | } |
| 3533 | |
| 3534 | // Add MAXVALUE (always output for consistency with non-SDL format) |
| 3535 | if sequence.MaxValue != "" { |
| 3536 | if _, err := fmt.Fprintf(out, " MAXVALUE %s", sequence.MaxValue); err != nil { |
| 3537 | return err |
| 3538 | } |
| 3539 | } |
| 3540 | |
| 3541 | // Add CYCLE/NO CYCLE (always output for consistency with non-SDL format) |
| 3542 | if sequence.Cycle { |
| 3543 | if _, err := io.WriteString(out, " CYCLE"); err != nil { |
| 3544 | return err |
| 3545 | } |
| 3546 | } else { |
| 3547 | if _, err := io.WriteString(out, " NO CYCLE"); err != nil { |
| 3548 | return err |
| 3549 | } |
| 3550 | } |
| 3551 | |
| 3552 | // Add CACHE (new field to match non-SDL format) |
| 3553 | if sequence.CacheSize != "" { |
| 3554 | if _, err := fmt.Fprintf(out, " CACHE %s", sequence.CacheSize); err != nil { |
| 3555 | return err |
| 3556 | } |
| 3557 | } |
no outgoing calls
no test coverage detected