MCPcopy Create free account
hub / github.com/apecloud/myduckserver / extractViewDefinitions

Method extractViewDefinitions

catalog/database.go:331–371  ·  view source on GitHub ↗

extractViewDefinitions is a helper function to extract view definitions from DuckDB

(ctx *sql.Context, schemaName string, viewName string)

Source from the content-addressed store, hash-verified

329func (d *Database) CreateTemporaryTable(ctx *sql.Context, name string, schema sql.PrimaryKeySchema, collation sql.CollationID) error {
330 d.mu.Lock()
331 defer d.mu.Unlock()
332 return d.createAllTable(ctx, name, schema, collation, "", true)
333}
334
335// DropTable implements sql.TableDropper.
336func (d *Database) DropTable(ctx *sql.Context, name string) error {
337 d.mu.Lock()
338 defer d.mu.Unlock()
339
340 _, err := adapter.Exec(ctx, fmt.Sprintf(`DROP TABLE %s`, FullTableName(d.catalog, d.name, name)))
341
342 if err != nil {
343 if IsDuckDBTableNotFoundError(err) {
344 return sql.ErrTableNotFound.New(name)
345 }
346 return ErrDuckDB.New(err)
347 }
348 return nil
349}
350
351// RenameTable implements sql.TableRenamer.
352func (d *Database) RenameTable(ctx *sql.Context, oldName string, newName string) error {
353 d.mu.Lock()
354 defer d.mu.Unlock()
355
356 _, err := adapter.Exec(ctx, fmt.Sprintf(`ALTER TABLE %s RENAME TO "%s"`, FullTableName(d.catalog, d.name, oldName), newName))
357 if err != nil {
358 if IsDuckDBTableNotFoundError(err) {
359 return sql.ErrTableNotFound.New(oldName)
360 }
361 if IsDuckDBTableAlreadyExistsError(err) {
362 return sql.ErrTableAlreadyExists.New(newName)
363 }
364 return ErrDuckDB.New(err)
365 }
366 return nil
367}
368
369// extractViewDefinitions is a helper function to extract view definitions from DuckDB
370func (d *Database) extractViewDefinitions(ctx *sql.Context, schemaName string, viewName string) ([]sql.ViewDefinition, error) {
371 query := `
372 SELECT DISTINCT view_name, sql, comment
373 FROM duckdb_views()
374 WHERE schema_name = ? AND NOT internal

Callers 2

AllViewsMethod · 0.95
GetViewDefinitionMethod · 0.95

Calls 5

QueryCatalogFunction · 0.92
IsSystemViewFunction · 0.85
CloseMethod · 0.65
NextMethod · 0.45
ErrMethod · 0.45

Tested by

no test coverage detected