MCPcopy Create free account
hub / github.com/cloudquery/cloudquery / schemaTables

Method schemaTables

plugins/destination/mssql/client/schema.go:12–56  ·  view source on GitHub ↗
(ctx context.Context, messages message.WriteMigrateTables)

Source from the content-addressed store, hash-verified

10)
11
12func (c *Client) schemaTables(ctx context.Context, messages message.WriteMigrateTables) (schema.Tables, error) {
13 query, params := queries.AllTables(c.spec.Schema)
14 rows, err := c.db.QueryContext(ctx, query, params...)
15 if err != nil {
16 c.logErr(err)
17 return nil, err
18 }
19
20 names := make([]string, 0)
21 if err := processRows(rows, func(row *sql.Rows) error {
22 var tableCatalog string
23 var tableName string
24 var tableType string
25 var schemaType string
26
27 if err := row.Scan(&tableCatalog, &tableType, &tableName, &schemaType); err != nil {
28 return err
29 }
30 if !messages.Exists(tableName) {
31 return nil
32 }
33 names = append(names, tableName)
34 return nil
35 }); err != nil {
36 c.logErr(err)
37 return nil, err
38 }
39
40 result := make(schema.Tables, len(names))
41 for i, tableName := range names {
42 pks, err := c.getTablePK(ctx, tableName)
43 if err != nil {
44 return nil, err
45 }
46
47 columns, err := c.getTableColumns(ctx, tableName, pks)
48 if err != nil {
49 return nil, err
50 }
51
52 result[i] = &schema.Table{Name: tableName, Columns: columns}
53 }
54
55 return result, nil
56}
57
58func normalizedTables(messages message.WriteMigrateTables) schema.Tables {
59 normalized := make(schema.Tables, len(messages))

Callers 1

MigrateTablesMethod · 0.95

Calls 5

logErrMethod · 0.95
getTablePKMethod · 0.95
getTableColumnsMethod · 0.95
processRowsFunction · 0.85
ScanMethod · 0.80

Tested by

no test coverage detected