Help us shape the future of Go! Take the 2026 Go Developer Survey

iceberg

package
v0.3.21 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 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