MCPcopy Create free account
hub / github.com/dolthub/doltgresql / SQLTableToDoltTable

Function SQLTableToDoltTable

core/table_to_dolt.go:36–62  ·  view source on GitHub ↗

SQLTableToDoltTable takes a sql.Table and returns a *sqle.DoltTable if either the table is a Dolt table, or it is a wrapper or container that holds a Dolt table. Returns nil if a Dolt table could not be found.

(tbl sql.Table)

Source from the content-addressed store, hash-verified

34// SQLTableToDoltTable takes a sql.Table and returns a *sqle.DoltTable if either the table is a Dolt table, or it is a
35// wrapper or container that holds a Dolt table. Returns nil if a Dolt table could not be found.
36func SQLTableToDoltTable(tbl sql.Table) *sqle.DoltTable {
37 switch t := tbl.(type) {
38 case *plan.ResolvedTable:
39 return SQLTableToDoltTable(t.Table)
40 case *plan.ProcessTable:
41 return SQLTableToDoltTable(t.Table)
42 case *plan.IndexedTableAccess:
43 return SQLTableToDoltTable(t.Table)
44 case *plan.ProcedureResolvedTable:
45 return SQLTableToDoltTable(t.ResolvedTable.Table)
46 case *sqle.WritableIndexedDoltTable:
47 return t.WritableDoltTable.DoltTable
48 case *sqle.IndexedDoltTable:
49 return t.DoltTable
50 case *sqle.AlterableDoltTable:
51 return t.WritableDoltTable.DoltTable
52 case *sqle.WritableDoltTable:
53 return t.DoltTable
54 case *sqle.DoltTable:
55 return t
56 default:
57 if wrapper, ok := tbl.(sql.TableWrapper); ok {
58 return SQLTableToDoltTable(wrapper.Underlying())
59 }
60 return nil
61 }
62}

Callers 2

AfterTableRenameFunction · 0.92
SQLNodeToDoltTableFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected