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

bigquery

package
v1.35.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DatabaseType = "bigquery"
)

Variables

This section is empty.

Functions

func GoquDialectOptions added in v1.10.0

func GoquDialectOptions() *sqlgen.SQLDialectOptions

func GoquExpressions added in v1.10.0

func GoquExpressions() *base.Expressions

Types

type Config

type Config struct {
	ProjectID       string `json:"project"`
	CredentialsJSON string `json:"credentials"`

	UseLegacyMappings bool `json:"useLegacyMappings"`
}

func (*Config) Parse

func (c *Config) Parse(configJSON json.RawMessage) error

Parse parses the given JSON into the config

type DB

type DB struct {
	*base.DB
}

func NewDB

func NewDB(configJSON json.RawMessage) (*DB, error)

NewDB creates a new BigQuery database client.

func NewDBWithTokenSource added in v1.31.0

func NewDBWithTokenSource(configJSON json.RawMessage, tokenSource oauth2.TokenSource) (*DB, error)

NewDBWithTokenSource creates a new BigQuery database client that authenticates with tokenSource when it is non-nil, and with the configured service account JSON credentials otherwise. A config carrying credentials alongside a token source is rejected, because one of the two would otherwise be silently ignored.

func (*DB) CurrentCatalog added in v1.1.0

func (db *DB) CurrentCatalog(ctx context.Context) (sqlconnect.CatalogRef, error)

func (*DB) ListCatalogs added in v1.24.0

func (db *DB) ListCatalogs(ctx context.Context) ([]sqlconnect.CatalogRef, error)

ListCatalogs returns the current GCP project Note: The BigQuery Go client (cloud.google.com/go/bigquery) is scoped to a single project and does not provide a method to list all accessible projects. Listing all projects would require the Cloud Resource Manager API with additional permissions, which is out of scope for a BigQuery-only connection. See: https://github.com/googleapis/google-cloud-go/issues/10044

func (*DB) ListSchemas

func (db *DB) ListSchemas(ctx context.Context, opts ...sqlconnect.Option) ([]sqlconnect.SchemaRef, error)

ListSchemas uses the bigquery client instead of [INFORMATION_SCHEMA.SCHEMATA] due to absence of a region qualifier https://cloud.google.com/bigquery/docs/information-schema-datasets-schemata#scope_and_syntax

func (*DB) SchemaExists

func (db *DB) SchemaExists(ctx context.Context, schemaRef sqlconnect.SchemaRef, opts ...sqlconnect.Option) (bool, error)

SchemaExists uses the bigquery client instead of [INFORMATION_SCHEMA.SCHEMATA] due to absence of a region qualifier https://cloud.google.com/bigquery/docs/information-schema-datasets-schemata#scope_and_syntax

func (*DB) WithBigqueryClient

func (db *DB) WithBigqueryClient(ctx context.Context, f func(*bigquery.Client) error) error

WithBigqueryClient runs the provided function by providing access to a native bigquery client, the underlying client that is used by the bigquery driver

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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