Documentation ¶
Overview ¶
Package utils contains helper types and functions that can be used by any relational data source.
Index ¶
- func MakeReadSplitQuery(logger *zap.Logger, formatter SQLFormatter, ...) (string, []any, *api_service_protos.TSelect_TWhat, error)
- func MakeTestSplit() *api_service_protos.TSplit
- func NewColumnExpression(name string) *api_service_protos.TExpression
- func NewDefaultWhat() *api_service_protos.TSelect_TWhat
- func NewEmptyColumnWhat() *api_service_protos.TSelect_TWhat
- func NewInt32ValueExpression(val int32) *api_service_protos.TExpression
- func NewTextValueExpression(val string) *api_service_protos.TExpression
- func NewUint64ValueExpression(val uint64) *api_service_protos.TExpression
- type Connection
- type ConnectionManager
- type ConnectionManagerBase
- type ConnectionManagerMock
- type ConnectionMock
- type DataConverter
- type DefaultSchemaProvider
- type RowTransformerMock
- type Rows
- type RowsMock
- type SQLFormatter
- type SchemaBuilder
- type SchemaProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeReadSplitQuery ¶
func MakeReadSplitQuery( logger *zap.Logger, formatter SQLFormatter, request *api_service_protos.TSelect, ) (string, []any, *api_service_protos.TSelect_TWhat, error)
func MakeTestSplit ¶ added in v0.1.1
func MakeTestSplit() *api_service_protos.TSplit
func NewColumnExpression ¶ added in v0.1.1
func NewColumnExpression(name string) *api_service_protos.TExpression
func NewDefaultWhat ¶ added in v0.1.1
func NewDefaultWhat() *api_service_protos.TSelect_TWhat
NewDefaultWhat generates default What field with a pair of columns
func NewEmptyColumnWhat ¶ added in v0.4.9
func NewEmptyColumnWhat() *api_service_protos.TSelect_TWhat
NewEmptyColumnWhat generates What field with a one column of type Int32
func NewInt32ValueExpression ¶ added in v0.1.1
func NewInt32ValueExpression(val int32) *api_service_protos.TExpression
func NewTextValueExpression ¶ added in v0.1.1
func NewTextValueExpression(val string) *api_service_protos.TExpression
func NewUint64ValueExpression ¶ added in v0.1.1
func NewUint64ValueExpression(val uint64) *api_service_protos.TExpression
Types ¶
type Connection ¶
type ConnectionManager ¶
type ConnectionManager interface { Make(ctx context.Context, logger *zap.Logger, dataSourceInstance *api_common.TDataSourceInstance) (Connection, error) Release(logger *zap.Logger, connection Connection) }
type ConnectionManagerBase ¶
type ConnectionManagerBase struct {
QueryLoggerFactory common.QueryLoggerFactory
}
type ConnectionManagerMock ¶
func (*ConnectionManagerMock) Make ¶
func (m *ConnectionManagerMock) Make( _ context.Context, _ *zap.Logger, dataSourceInstance *api_common.TDataSourceInstance) (Connection, error)
func (*ConnectionManagerMock) Release ¶
func (m *ConnectionManagerMock) Release(_ *zap.Logger, conn Connection)
type ConnectionMock ¶
func (*ConnectionMock) Close ¶
func (m *ConnectionMock) Close() error
type DataConverter ¶ added in v0.1.1
type DataConverter struct{}
DataConverter should be used only from unit tests
func (DataConverter) RowsToColumnBlocks ¶ added in v0.1.1
func (dc DataConverter) RowsToColumnBlocks(input [][]any, rowsPerBlock int) [][][]any
type DefaultSchemaProvider ¶ added in v0.1.0
type DefaultSchemaProvider struct {
// contains filtered or unexported fields
}
func (*DefaultSchemaProvider) GetSchema ¶ added in v0.1.0
func (f *DefaultSchemaProvider) GetSchema( ctx context.Context, logger *zap.Logger, conn Connection, request *api_service_protos.TDescribeTableRequest, ) (*api_service_protos.TSchema, error)
type RowTransformerMock ¶
func (*RowTransformerMock) AppendToArrowBuilders ¶
func (t *RowTransformerMock) AppendToArrowBuilders(builder []array.Builder) error
func (*RowTransformerMock) GetAcceptors ¶
func (t *RowTransformerMock) GetAcceptors() []any
func (*RowTransformerMock) SetAcceptors ¶
func (*RowTransformerMock) SetAcceptors([]any)
type Rows ¶
type Rows interface { Close() error Err() error Next() bool NextResultSet() bool Scan(dest ...any) error MakeTransformer(ydbTypes []*Ydb.Type, cc conversion.Collection) (paging.RowTransformer[any], error) }
type RowsMock ¶
func (*RowsMock) MakeTransformer ¶
func (m *RowsMock) MakeTransformer(ydbType []*Ydb.Type, _ conversion.Collection) (paging.RowTransformer[any], error)
func (*RowsMock) NextResultSet ¶ added in v0.2.8
type SQLFormatter ¶
type SQLFormatter interface { // Get placeholder for n'th argument (starting from 0) for prepared statement GetPlaceholder(n int) string // Sanitize names of databases, tables, columns, views, schemas SanitiseIdentifier(ident string) string // Support for high level expression (without subexpressions, they are checked separately) SupportsPushdownExpression(expression *api_service_protos.TExpression) bool // FormatFrom builds identifier called after FROM (`SELECT ... FROM <this>`) FormatFrom(tableName string) string }
type SchemaBuilder ¶ added in v0.1.0
type SchemaBuilder struct {
// contains filtered or unexported fields
}
func NewSchemaBuilder ¶ added in v0.1.0
func NewSchemaBuilder( typeMapper datasource.TypeMapper, typeMappingSettings *api_service_protos.TTypeMappingSettings, ) *SchemaBuilder
func (*SchemaBuilder) AddColumn ¶ added in v0.1.0
func (sb *SchemaBuilder) AddColumn(columnName, columnType string) error
func (*SchemaBuilder) Build ¶ added in v0.1.0
func (sb *SchemaBuilder) Build(logger *zap.Logger) (*api_service_protos.TSchema, error)
type SchemaProvider ¶ added in v0.1.0
type SchemaProvider interface { GetSchema( ctx context.Context, logger *zap.Logger, conn Connection, request *api_service_protos.TDescribeTableRequest, ) (*api_service_protos.TSchema, error) }
func NewDefaultSchemaProvider ¶ added in v0.1.0
func NewDefaultSchemaProvider( typeMapper datasource.TypeMapper, getArgsAndQueryFunc func(request *api_service_protos.TDescribeTableRequest) (string, []any), ) SchemaProvider
Click to show internal directories.
Click to hide internal directories.