MCPcopy Create free account
hub / github.com/bytebase/bytebase / Dump

Method Dump

backend/plugin/db/databricks/dump.go:30–129  ·  view source on GitHub ↗
(ctx context.Context, writer io.Writer, _ *storepb.DatabaseSchemaMetadata)

Source from the content-addressed store, hash-verified

28)
29
30func (d *Driver) Dump(ctx context.Context, writer io.Writer, _ *storepb.DatabaseSchemaMetadata) error {
31 catalogMap, err := d.listCatologTables(ctx, "")
32 if err != nil {
33 return err
34 }
35
36 for catalogName, schemaMap := range catalogMap {
37 if catalogName == sysCatalog {
38 continue
39 }
40 if _, err := fmt.Fprintf(writer, "CREATE CATALOG %s\n", catalogName); err != nil {
41 return err
42 }
43
44 for schemaName, tableList := range schemaMap {
45 if schemaName == infoSchema {
46 continue
47 }
48 if schemaName != dftSchema {
49 if _, err := fmt.Fprintf(writer, "CREATE SCHEMA `%s`.`%s`\n", catalogName, schemaName); err != nil {
50 return err
51 }
52 }
53
54 viewDDL := strings.Builder{}
55 mtViewDDL := strings.Builder{}
56 extTblDDL := strings.Builder{}
57 mngTblDDL := strings.Builder{}
58 for _, tblUnion := range tableList {
59 qualifiedName, err := getQualifiedTblName(catalogName, schemaName, tblUnion.name)
60 if err != nil {
61 return err
62 }
63
64 switch tblUnion.typeName {
65 case catalog.TableTypeView:
66 ddl, err := d.showCreateTable(ctx, qualifiedName)
67 if err != nil {
68 return err
69 }
70 formatDDL := fmt.Sprintf(schemaStmtFmt, "VIEW", qualifiedName, ddl)
71 if _, err := viewDDL.WriteString(formatDDL); err != nil {
72 return err
73 }
74 case catalog.TableTypeMaterializedView:
75 tblAddInfo, err := d.descTbl(ctx, qualifiedName)
76 if err != nil {
77 return err
78 }
79 tblProperties, err := formatTblProperties(tblAddInfo)
80 if err != nil {
81 return err
82 }
83 formatDDL, err := genMaterializedViewDDL(qualifiedName, tblUnion.materialView, tblProperties)
84 if err != nil {
85 return err
86 }
87 if _, err := mtViewDDL.WriteString(formatDDL); err != nil {

Callers

nothing calls this directly

Implementers 15

MockDriverbackend/plugin/advisor/utils_for_tests
Driverbackend/plugin/db/bigquery/bigquery.go
Driverbackend/plugin/db/mongodb/mongodb.go
Driverbackend/plugin/db/trino/trino.go
Driverbackend/plugin/db/redshift/redshift.go
Driverbackend/plugin/db/oracle/oracle.go
Driverbackend/plugin/db/dynamodb/dynamodb.go
Driverbackend/plugin/db/cosmosdb/cosmosdb.go
Driverbackend/plugin/db/spanner/spanner.go
Driverbackend/plugin/db/mssql/mssql.go
Driverbackend/plugin/db/mysql/mysql.go
Driverbackend/plugin/db/pg/pg.go

Calls 7

listCatologTablesMethod · 0.95
showCreateTableMethod · 0.95
descTblMethod · 0.95
getQualifiedTblNameFunction · 0.85
formatTblPropertiesFunction · 0.85
genMaterializedViewDDLFunction · 0.70
StringMethod · 0.65

Tested by

no test coverage detected