Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyEnvVars(dsn string) (string, error)
- func CheckDBExists(ctx context.Context, db *db.Pool, name string, dsType types.DataSourceType) error
- func EnsurePgDatabase(ctx context.Context, host, port, user, password, dbName string) error
- func EscapeSQLString(s string) string
- type EmbeddingSource
- type ExtensionSource
- type ParsedDSN
- type RuntimeSource
- type RuntimeSourceQuerier
- type SelfDescriber
- type Source
Constants ¶
const ( Postgres types.DataSourceType = "postgres" DuckDB types.DataSourceType = "duckdb" MySQL types.DataSourceType = "mysql" MSSQL types.DataSourceType = "mssql" Http types.DataSourceType = "http" Runtime types.DataSourceType = "runtime" Extension types.DataSourceType = "extension" Embedding types.DataSourceType = "embedding" Airport types.DataSourceType = "airport" DuckLake types.DataSourceType = "ducklake" Iceberg types.DataSourceType = "iceberg" )
Variables ¶
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 CheckDBExists ¶
func EnsurePgDatabase ¶ added in v0.3.3
EnsurePgDatabase connects to the PostgreSQL "postgres" maintenance database and creates the target database if it doesn't exist. This is idempotent — it does nothing if the database already exists.
NOTE: The connection to the maintenance database uses sslmode=disable because it targets the same PostgreSQL instance as the main DuckLake connection. In production, the DuckLake PostgreSQL backend should be co-located (same network) with the Hugr query engine, so TLS is not required for the maintenance connection. If your PostgreSQL instance requires TLS, do not use ensure_db — create the database manually instead.
func EscapeSQLString ¶ added in v0.3.3
EscapeSQLString escapes single quotes in SQL string literals by doubling them.
Types ¶
type EmbeddingSource ¶ added in v0.1.28
type ExtensionSource ¶ added in v0.1.12
type ExtensionSource interface {
IsExtension() bool
}
The data source is a catalog extension.
type ParsedDSN ¶
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) (cs.Catalog, error)
}
RuntimeSource is a data source that is attached on start and provides a catalog source.