(schema string, table *storepb.TableMetadata, sequences []*storepb.SequenceMetadata)
| 523 | } |
| 524 | |
| 525 | func GetTableDefinition(schema string, table *storepb.TableMetadata, sequences []*storepb.SequenceMetadata) (string, error) { |
| 526 | var buf strings.Builder |
| 527 | if err := writeTable(&buf, schema, table, sequences); err != nil { |
| 528 | return "", err |
| 529 | } |
| 530 | // Skip triggers, rules, and foreign keys for a table without column |
| 531 | // metadata; their definitions can reference the missing columns. |
| 532 | if tableMissingColumnMetadata(table) { |
| 533 | return buf.String(), nil |
| 534 | } |
| 535 | // Construct triggers. |
| 536 | for _, trigger := range table.Triggers { |
| 537 | if trigger.SkipDump { |
| 538 | continue |
| 539 | } |
| 540 | if err := writeTrigger(&buf, schema, table.Name, trigger); err != nil { |
| 541 | return "", err |
| 542 | } |
| 543 | } |
| 544 | // Construct rules. |
| 545 | if len(table.Rules) > 0 { |
| 546 | if err := writeRules(&buf, schema, table.Name, table.Rules); err != nil { |
| 547 | return "", err |
| 548 | } |
| 549 | } |
| 550 | // Construct foreign keys. |
| 551 | for _, fk := range table.ForeignKeys { |
| 552 | if err := writeForeignKey(&buf, schema, table.Name, fk); err != nil { |
| 553 | return "", err |
| 554 | } |
| 555 | } |
| 556 | return buf.String(), nil |
| 557 | } |
| 558 | |
| 559 | func GetViewDefinition(schema string, view *storepb.ViewMetadata) (string, error) { |
| 560 | var buf strings.Builder |
nothing calls this directly
no test coverage detected