internal

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 8 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 PatternToRegexp

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

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

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