snowflake

package
v0.2.14 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

README


title: 'Snowflake'

Snowflake connector allows querying Snowflake data warehouse.

Config Schema

Field Type Required Description
type string yes constant: snowflake
account string yes Snowflake account identifier
database string yes Database name
user string yes Username
password string yes Password
warehouse string yes Warehouse to use for queries
schema string yes Schema name
role string yes Role to assume
conn_string string no Direct connection string

Config example:

type: snowflake
account: myaccount    # Your Snowflake account identifier
database: MYDB
user: myuser
password: secret
warehouse: COMPUTE_WH # Warehouse to use for queries
schema: PUBLIC        # Schema name
role: ACCOUNTADMIN    # Role to assume 

Or as alternative with direct connection string:

type: snowflake
conn_string: myuser:secret@myaccount/MYDB/PUBLIC?warehouse=COMPUTE_WH&role=ACCOUNTADMIN

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Account    string
	Database   string
	User       string
	Password   string
	Warehouse  string
	Schema     string
	Role       string
	ConnString string `yaml:"conn_string"`
	IsReadonly bool   `yaml:"is_readonly"`
}

func (Config) Doc

func (c Config) Doc() string

func (Config) ExtraPrompt added in v0.0.8

func (c Config) ExtraPrompt() []string

func (Config) MakeDSN

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

func (Config) Readonly added in v0.2.1

func (c Config) Readonly() bool

func (Config) Type

func (c Config) Type() string

func (*Config) UnmarshalYAML added in v0.1.0

func (c *Config) UnmarshalYAML(value *yaml.Node) error

UnmarshalYAML implements the yaml.Unmarshaler interface to allow for both direct connection string or full configuration objects in YAML

type Connector

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

func (Connector) Config added in v0.0.8

func (c Connector) Config() connectors.Config

func (Connector) Discovery

func (c Connector) Discovery(ctx context.Context, tablesList []string) ([]model.Table, error)

func (*Connector) GuessColumnType

func (c *Connector) GuessColumnType(sqlType string) model.ColumnType

GuessColumnType implements TypeGuesser interface for Snowflake

func (*Connector) InferQuery

func (c *Connector) InferQuery(ctx context.Context, query string) ([]model.ColumnSchema, error)

InferQuery implements the Connector interface

func (*Connector) InferResultColumns

func (c *Connector) InferResultColumns(ctx context.Context, query string) ([]model.ColumnSchema, error)

InferResultColumns returns column information for the given query

func (Connector) LoadsColumns

func (c Connector) LoadsColumns(ctx context.Context, tableName string) ([]model.ColumnSchema, error)

func (Connector) Ping

func (c Connector) Ping(ctx context.Context) error

func (Connector) Query

func (c Connector) Query(ctx context.Context, endpoint model.Endpoint, params map[string]any) ([]map[string]any, error)

func (Connector) Sample

func (c Connector) Sample(ctx context.Context, table model.Table) ([]map[string]any, error)

Jump to

Keyboard shortcuts

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