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

Function convertStoreTableMetadata

backend/api/v1/database_converter.go:317–383  ·  view source on GitHub ↗
(table *storepb.TableMetadata)

Source from the content-addressed store, hash-verified

315}
316
317func convertStoreTableMetadata(table *storepb.TableMetadata) *v1pb.TableMetadata {
318 t := &v1pb.TableMetadata{
319 Name: table.Name,
320 Engine: table.Engine,
321 Collation: table.Collation,
322 RowCount: table.RowCount,
323 DataSize: table.DataSize,
324 IndexSize: table.IndexSize,
325 DataFree: table.DataFree,
326 CreateOptions: table.CreateOptions,
327 Comment: table.Comment,
328 Charset: table.Charset,
329 Owner: table.Owner,
330 SortingKeys: table.SortingKeys,
331 SkipDump: table.SkipDump,
332 }
333 for _, partition := range table.Partitions {
334 if partition == nil {
335 continue
336 }
337 t.Partitions = append(t.Partitions, convertStoreTablePartitionMetadata(partition))
338 }
339
340 for _, column := range table.Columns {
341 if column == nil {
342 continue
343 }
344 t.Columns = append(t.Columns, convertStoreColumnMetadata(column))
345 }
346 for _, index := range table.Indexes {
347 if index == nil {
348 continue
349 }
350 t.Indexes = append(t.Indexes, convertStoreIndexMetadata(index))
351 }
352 for _, foreignKey := range table.ForeignKeys {
353 if foreignKey == nil {
354 continue
355 }
356 t.ForeignKeys = append(t.ForeignKeys, &v1pb.ForeignKeyMetadata{
357 Name: foreignKey.Name,
358 Columns: foreignKey.Columns,
359 ReferencedSchema: foreignKey.ReferencedSchema,
360 ReferencedTable: foreignKey.ReferencedTable,
361 ReferencedColumns: foreignKey.ReferencedColumns,
362 OnDelete: foreignKey.OnDelete,
363 OnUpdate: foreignKey.OnUpdate,
364 MatchType: foreignKey.MatchType,
365 })
366 }
367 for _, check := range table.CheckConstraints {
368 if check == nil {
369 continue
370 }
371 t.CheckConstraints = append(t.CheckConstraints, &v1pb.CheckConstraintMetadata{
372 Name: check.Name,
373 Expression: check.Expression,
374 })

Callers 1

Tested by

no test coverage detected