Documentation
¶
Index ¶
- func IntrospectSchema(ctx context.Context, pool *db.Pool, prefix string, ...) ([]ducklake.DuckLakeTable, error)
- type Source
- func (s *Source) Attach(ctx context.Context, pool *db.Pool) error
- func (s *Source) CatalogSource(ctx context.Context, pool *db.Pool) (cs.Catalog, error)
- func (s *Source) Definition() types.DataSource
- func (s *Source) Detach(ctx context.Context, pool *db.Pool) error
- func (s *Source) Engine() engines.Engine
- func (s *Source) IsAttached() bool
- func (s *Source) Name() string
- func (s *Source) ReadOnly() bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IntrospectSchema ¶
func IntrospectSchema(ctx context.Context, pool *db.Pool, prefix string, filter *ducklake.IntrospectFilter) ([]ducklake.DuckLakeTable, error)
IntrospectSchema discovers tables in an attached Iceberg catalog and returns table/column definitions using the same types as DuckLake.
Strategy: duckdb_columns() doesn't return proper column info for iceberg catalogs (returns a single "__" column with UNKNOWN type). Instead we:
- List tables via duckdb_tables() (works for iceberg)
- For each table, DESCRIBE SELECT * to get column names and types
Types ¶
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
func (*Source) CatalogSource ¶
CatalogSource implements the SelfDescriber interface. It introspects Iceberg metadata via duckdb_tables() + DESCRIBE and generates a GraphQL catalog.
func (*Source) Definition ¶
func (s *Source) Definition() types.DataSource
func (*Source) IsAttached ¶
Click to show internal directories.
Click to hide internal directories.