dremio

package
v0.11.616 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMaterializer

func NewMaterializer(fullRefresh bool) *pipeline.Materializer

NewMaterializer builds a materializer that renders Dremio (ANSI) SQL.

Types

type BasicOperator

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

func NewBasicOperator

func NewBasicOperator(conn config.ConnectionGetter, extractor query.QueryExtractor, fullRefresh bool, hoister pipeline.DeclareHoister, parser *sqlparser.SQLParser) *BasicOperator

func (BasicOperator) Run

func (BasicOperator) RunTask

type Client

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

func NewClient

func NewClient(c Config) (*Client, error)

func (*Client) CreateSchemaIfNotExist

func (c *Client) CreateSchemaIfNotExist(ctx context.Context, asset *pipeline.Asset) error

CreateSchemaIfNotExist ensures the folder an asset's table lives in exists before the table is created. Dremio rejects CREATE TABLE into a folder that does not exist yet, so we create it first. The folder path is derived from the asset name (see folderPathForAsset) and quoted as a dotted identifier.

func (*Client) GetDatabaseSummary

func (c *Client) GetDatabaseSummary(ctx context.Context) (*ansisql.DBDatabase, error)

GetDatabaseSummary introspects the available schemas and tables using the ANSI information_schema, which Dremio exposes.

func (*Client) Ping

func (c *Client) Ping(ctx context.Context) error

func (*Client) RunQueryWithoutResult

func (c *Client) RunQueryWithoutResult(ctx context.Context, query *query.Query) error

func (*Client) Select

func (c *Client) Select(ctx context.Context, query *query.Query) ([][]interface{}, error)

func (*Client) SelectWithSchema

func (c *Client) SelectWithSchema(ctx context.Context, queryObj *query.Query) (*query.QueryResult, error)

type Config

type Config struct {
	Host          string
	Port          int
	Username      string
	Password      string
	Token         string
	Database      string
	TLS           bool
	TLSSkipVerify bool
}

Config holds the connection parameters for a Dremio platform.

Dremio is reached over the Arrow Flight SQL wire protocol, which in Go is served by the apache/arrow-adbc Flight SQL driver. Authentication is either username/password (Dremio Software) or a bearer Token / Personal Access Token (Dremio Cloud); the two are mutually exclusive. TLS must be enabled for Dremio Cloud.

func (Config) GetDatabase

func (c Config) GetDatabase() string

func (Config) ToDSN

func (c Config) ToDSN() (string, error)

ToDSN builds a DSN understood by the ADBC Flight SQL database/sql driver. The driver parses the DSN as a ";"-separated list of "key=value" options, where the keys are the standard ADBC option names (uri, username, password, adbc.flight.sql.*).

The driver does not unescape values, so credentials are passed through verbatim; a ";" in a credential would split the DSN into a bogus option and fail to parse. We reject that explicitly rather than corrupt the value. ("=" is safe because the driver splits each option on its first "=" only.)

Jump to

Keyboard shortcuts

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