internal

package
v1.8.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	Unique     = "UNIQUE"
	PrimaryKey = "PRIMARY KEY"
	ForeignKey = "FOREIGN KEY"
)
View Source
const (
	COLUMN_NAME                 = "COLUMN_NAME"
	ORDINAL_POSITION            = "ORDINAL_POSITION"
	REMARKS                     = "REMARKS"
	XDBC_DATA_TYPE              = "XDBC_DATA_TYPE"
	XDBC_TYPE_NAME              = "XDBC_TYPE_NAME"
	XDBC_COLUMN_SIZE            = "XDBC_COLUMN_SIZE"
	XDBC_DECIMAL_DIGITS         = "XDBC_DECIMAL_DIGITS"
	XDBC_NUM_PREC_RADIX         = "XDBC_NUM_PREC_RADIX"
	XDBC_NULLABLE               = "XDBC_NULLABLE"
	XDBC_COLUMN_DEF             = "XDBC_COLUMN_DEF"
	XDBC_SQL_DATA_TYPE          = "XDBC_SQL_DATA_TYPE"
	XDBC_DATETIME_SUB           = "XDBC_DATETIME_SUB"
	XDBC_CHAR_OCTET_LENGTH      = "XDBC_CHAR_OCTET_LENGTH"
	XDBC_IS_NULLABLE            = "XDBC_IS_NULLABLE"
	XDBC_SCOPE_CATALOG          = "XDBC_SCOPE_CATALOG"
	XDBC_SCOPE_SCHEMA           = "XDBC_SCOPE_SCHEMA"
	XDBC_SCOPE_TABLE            = "XDBC_SCOPE_TABLE"
	XDBC_IS_AUTOINCREMENT       = "XDBC_IS_AUTOINCREMENT"
	XDBC_IS_AUTOGENERATEDCOLUMN = "XDBC_IS_AUTOGENERATEDCOLUMN"
)

Variables

View Source
var (
	AcceptAll = regexp.MustCompile(".*")
)

Functions

func EndSpan added in v1.7.0

func EndSpan(span trace.Span, err error, options ...trace.SpanEndOption)

Ends the given span. If err is not nil, then the error is recorded and the status is set appropriately. Otherwise, the status is set to Ok.

func PatternToRegexp

func PatternToRegexp(pattern *string) (*regexp.Regexp, error)

Helper function that compiles a SQL-style pattern (%, _) to a regex

func StartSpan added in v1.7.0

func StartSpan(ctx context.Context, spanName string, tracing adbc.OTelTracing, opts ...trace.SpanStartOption) (context.Context, trace.Span)

Starts a trace.Span with the given spanName for the tracing object with the given ctx context.

Types

type CatalogAndSchema

type CatalogAndSchema struct {
	Catalog, Schema string
}

type CatalogSchemaTable added in v0.11.0

type CatalogSchemaTable struct {
	Catalog, Schema, Table string
}

type CatalogSchemaTableColumn added in v0.11.0

type CatalogSchemaTableColumn struct {
	Catalog, Schema, Table, Column string
}

type ConstraintSchema added in v0.11.0

type ConstraintSchema struct {
	ConstraintName, ConstraintType string
	ConstraintColumnNames          []string
	ConstraintColumnUsages         []UsageSchema
}

type DefaultXdbcMetadataBuilder added in v1.5.0

type DefaultXdbcMetadataBuilder struct {
	Data *arrow.Metadata
}

func (*DefaultXdbcMetadataBuilder) Metadata added in v1.5.0

func (c *DefaultXdbcMetadataBuilder) Metadata() *arrow.Metadata

func (*DefaultXdbcMetadataBuilder) SetMetadata added in v1.5.0

func (c *DefaultXdbcMetadataBuilder) SetMetadata(md arrow.Metadata)

func (*DefaultXdbcMetadataBuilder) SetOrdinalPosition added in v1.5.0

func (c *DefaultXdbcMetadataBuilder) SetOrdinalPosition(defaultPos int32, b *array.Int32Builder)

func (*DefaultXdbcMetadataBuilder) SetRemarks added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetRemarks(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcCharOctetLength added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcCharOctetLength(builder *array.Int32Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcColumnDef added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcColumnDef(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcColumnSize added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcColumnSize(builder *array.Int32Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcDataType added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcDataType(columnType arrow.DataType, builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcDatetimeSub added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcDatetimeSub(builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcDecimalDigits added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcDecimalDigits(builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcIsAutogeneratedColumn added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcIsAutogeneratedColumn(builder *array.BooleanBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcIsAutoincrement added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcIsAutoincrement(builder *array.BooleanBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcIsNullable added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcIsNullable(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcNullable added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcNullable(builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcNumPrecRadix added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcNumPrecRadix(builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcScopeCatalog added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcScopeCatalog(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcScopeSchema added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcScopeSchema(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcScopeTable added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcScopeTable(builder *array.StringBuilder)

func (*DefaultXdbcMetadataBuilder) SetXdbcSqlDataType added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcSqlDataType(columnType arrow.DataType, builder *array.Int16Builder)

func (*DefaultXdbcMetadataBuilder) SetXdbcTypeName added in v1.5.0

func (b *DefaultXdbcMetadataBuilder) SetXdbcTypeName(builder *array.StringBuilder)

type GetObjDBSchemasFn

type GetObjDBSchemasFn func(ctx context.Context, depth adbc.ObjectDepth, catalog *string, schema *string) (map[string][]string, error)

type GetObjTablesFn

type GetObjTablesFn func(ctx context.Context, depth adbc.ObjectDepth, catalog *string, schema *string, tableName *string, columnName *string, tableType []string) (map[CatalogAndSchema][]TableInfo, error)

type GetObjects

type GetObjects struct {
	Ctx        context.Context
	Depth      adbc.ObjectDepth
	Catalog    *string
	DbSchema   *string
	TableName  *string
	ColumnName *string
	TableType  []string

	ConstraintLookup map[CatalogSchemaTable][]ConstraintSchema
	// contains filtered or unexported fields
}

Helper to store state needed for GetObjects

func (*GetObjects) AppendCatalog

func (g *GetObjects) AppendCatalog(catalogName string)

func (*GetObjects) Finish

func (g *GetObjects) Finish() (array.RecordReader, error)

func (*GetObjects) Init

func (g *GetObjects) Init(mem memory.Allocator, getObj GetObjDBSchemasFn, getTbls GetObjTablesFn, mdHandler XdbcMetadataBuilder) error

func (*GetObjects) Release

func (g *GetObjects) Release()

type MetadataHandlers added in v1.5.0

type MetadataHandlers = func(md arrow.Field, builder array.Builder)

type MetadataToBuilders added in v1.5.0

type MetadataToBuilders = map[string]array.Builder

type MetadataToHandlers added in v1.5.0

type MetadataToHandlers = map[string]MetadataHandlers

type SchemaToTableInfo

type SchemaToTableInfo = map[CatalogAndSchema][]TableInfo

type TableInfo

type TableInfo struct {
	Name, TableType string
	Schema          *arrow.Schema
}

type UsageSchema added in v0.11.0

type UsageSchema struct {
	ForeignKeyCatalog, ForeignKeyDbSchema, ForeignKeyTable, ForeignKeyColName string
}

type XdbcDataType added in v0.7.0

type XdbcDataType int32

The JDBC/ODBC-defined type of any object. All the values here are the sames as in the JDBC and ODBC specs.

const (
	XdbcDataType_XDBC_UNKNOWN_TYPE  XdbcDataType = 0
	XdbcDataType_XDBC_CHAR          XdbcDataType = 1
	XdbcDataType_XDBC_NUMERIC       XdbcDataType = 2
	XdbcDataType_XDBC_DECIMAL       XdbcDataType = 3
	XdbcDataType_XDBC_INTEGER       XdbcDataType = 4
	XdbcDataType_XDBC_SMALLINT      XdbcDataType = 5
	XdbcDataType_XDBC_FLOAT         XdbcDataType = 6
	XdbcDataType_XDBC_REAL          XdbcDataType = 7
	XdbcDataType_XDBC_DOUBLE        XdbcDataType = 8
	XdbcDataType_XDBC_DATETIME      XdbcDataType = 9
	XdbcDataType_XDBC_INTERVAL      XdbcDataType = 10
	XdbcDataType_XDBC_VARCHAR       XdbcDataType = 12
	XdbcDataType_XDBC_DATE          XdbcDataType = 91
	XdbcDataType_XDBC_TIME          XdbcDataType = 92
	XdbcDataType_XDBC_TIMESTAMP     XdbcDataType = 93
	XdbcDataType_XDBC_LONGVARCHAR   XdbcDataType = -1
	XdbcDataType_XDBC_BINARY        XdbcDataType = -2
	XdbcDataType_XDBC_VARBINARY     XdbcDataType = -3
	XdbcDataType_XDBC_LONGVARBINARY XdbcDataType = -4
	XdbcDataType_XDBC_BIGINT        XdbcDataType = -5
	XdbcDataType_XDBC_TINYINT       XdbcDataType = -6
	XdbcDataType_XDBC_BIT           XdbcDataType = -7
	XdbcDataType_XDBC_WCHAR         XdbcDataType = -8
	XdbcDataType_XDBC_WVARCHAR      XdbcDataType = -9
)

func ToXdbcDataType added in v1.5.0

func ToXdbcDataType(dt arrow.DataType) (xdbcType XdbcDataType)

type XdbcMetadataBuilder added in v1.5.0

type XdbcMetadataBuilder interface {
	Metadata() *arrow.Metadata
	SetMetadata(md arrow.Metadata)
	SetOrdinalPosition(defaultPos int32, b *array.Int32Builder)
	SetRemarks(b *array.StringBuilder)
	SetXdbcDataType(defaultType arrow.DataType, b *array.Int16Builder)
	SetXdbcTypeName(b *array.StringBuilder)
	SetXdbcColumnSize(b *array.Int32Builder)
	SetXdbcDecimalDigits(b *array.Int16Builder)
	SetXdbcNumPrecRadix(b *array.Int16Builder)
	SetXdbcNullable(b *array.Int16Builder)
	SetXdbcColumnDef(b *array.StringBuilder)
	SetXdbcSqlDataType(defaultType arrow.DataType, b *array.Int16Builder)
	SetXdbcDatetimeSub(b *array.Int16Builder)
	SetXdbcCharOctetLength(b *array.Int32Builder)
	SetXdbcIsNullable(b *array.StringBuilder)
	SetXdbcScopeCatalog(b *array.StringBuilder)
	SetXdbcScopeSchema(b *array.StringBuilder)
	SetXdbcScopeTable(b *array.StringBuilder)
	SetXdbcIsAutoincrement(b *array.BooleanBuilder)
	SetXdbcIsAutogeneratedColumn(b *array.BooleanBuilder)
}

Directories

Path Synopsis
Package driverbase provides a framework for implementing ADBC drivers in Go.
Package driverbase provides a framework for implementing ADBC drivers in Go.

Jump to

Keyboard shortcuts

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