iceberg

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

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:

  1. List tables via duckdb_tables() (works for iceberg)
  2. For each table, DESCRIBE SELECT * to get column names and types

Types

type Source

type Source struct {
	// contains filtered or unexported fields
}

func New

func New(ds types.DataSource, attached bool) (*Source, error)

func (*Source) Attach

func (s *Source) Attach(ctx context.Context, pool *db.Pool) error

func (*Source) CatalogSource

func (s *Source) CatalogSource(ctx context.Context, pool *db.Pool) (cs.Catalog, error)

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) Detach

func (s *Source) Detach(ctx context.Context, pool *db.Pool) error

func (*Source) Engine

func (s *Source) Engine() engines.Engine

func (*Source) IsAttached

func (s *Source) IsAttached() bool

func (*Source) Name

func (s *Source) Name() string

func (*Source) ReadOnly

func (s *Source) ReadOnly() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL