(expr ast.TableExpr, defaultDatabase, defaultSchema string)
| 255 | } |
| 256 | |
| 257 | func tableReferenceFromTableExpr(expr ast.TableExpr, defaultDatabase, defaultSchema string) (*TableReference, error) { |
| 258 | ref, ok := expr.(*ast.TableRef) |
| 259 | if !ok { |
| 260 | return nil, errors.Errorf("unsupported DML target table source %T", expr) |
| 261 | } |
| 262 | schemaName := defaultSchema |
| 263 | if ref.Schema != "" { |
| 264 | schemaName = ref.Schema |
| 265 | } |
| 266 | databaseName := defaultDatabase |
| 267 | if ref.Database != "" { |
| 268 | databaseName = ref.Database |
| 269 | } |
| 270 | return &TableReference{ |
| 271 | Database: databaseName, |
| 272 | Schema: schemaName, |
| 273 | Table: ref.Object, |
| 274 | Alias: ref.Alias, |
| 275 | }, nil |
| 276 | } |
| 277 | |
| 278 | func findPhysicalTableForAlias(list *ast.List, table *TableReference) *TableReference { |
| 279 | if list == nil || table == nil { |
no test coverage detected