sources

package
v0.1.25 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Postgres  types.DataSourceType = "postgres"
	DuckDB    types.DataSourceType = "duckdb"
	MySQL     types.DataSourceType = "mysql"
	Http      types.DataSourceType = "http"
	Runtime   types.DataSourceType = "runtime"
	Extension types.DataSourceType = "extension"
)

Variables

View Source
var (
	ErrDataSourceNotFound                  = errors.New("data source not found")
	ErrDataSourceExists                    = errors.New("data source already exists")
	ErrDataSourceAttached                  = errors.New("data source is attached")
	ErrDataSourceNotAttached               = errors.New("data source is not attached")
	ErrUnknownDataSourceType               = errors.New("unknown data source type")
	ErrDataSourceAttachedWithDifferentType = errors.New("data source already attached with different type exists")
	ErrEmptyQuery                          = errors.New("empty query")
	ErrQueryParsingFailed                  = errors.New("query parsing failed")
	ErrInvalidDataSourcePath               = errors.New("invalid data source path")
)

Functions

func ApplyEnvVars added in v0.1.9

func ApplyEnvVars(dsn string) (string, error)

func CheckDBExists

func CheckDBExists(ctx context.Context, db *db.Pool, name string, dsType types.DataSourceType) error

Types

type ExtensionSource added in v0.1.12

type ExtensionSource interface {
	IsExtension() bool
}

The data source is a catalog extension.

type ParsedDSN

type ParsedDSN struct {
	Proto    string
	Host     string
	Port     string
	User     string
	Password string
	DBName   string

	Params map[string]string
}

func ParseDSN

func ParseDSN(dsn string) (ParsedDSN, error)

func (ParsedDSN) String added in v0.1.9

func (p ParsedDSN) String() string

type RuntimeSource

type RuntimeSource interface {
	Name() string
	Engine() engines.Engine
	IsReadonly() bool
	AsModule() bool
	Attach(ctx context.Context, db *db.Pool) error
	Catalog(ctx context.Context) sources.Source
}

RuntimeSource is a data source that is attached on start and provides a catalog source.

type RuntimeSourceQuerier

type RuntimeSourceQuerier interface {
	QueryEngineSetup(querier types.Querier)
}

type SelfDescriber

type SelfDescriber interface {
	CatalogSource(ctx context.Context, db *db.Pool) (sources.Source, error)
}

type Source

type Source interface {
	Name() string
	Definition() types.DataSource
	Engine() engines.Engine
	IsAttached() bool
	ReadOnly() bool
	Attach(ctx context.Context, db *db.Pool) error
	Detach(ctx context.Context, db *db.Pool) error
}

Directories

Path Synopsis
gis

Jump to

Keyboard shortcuts

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