Documentation
¶
Index ¶
- Constants
- Variables
- func AppendValueToArrowField(field array.Builder, value interface{}, tpe *util.DataType) error
- func ConvertToArrowDataType(tpe *util.DataType) (arrow.DataType, error)
- func ConvertToArrowValue(value interface{}, tpe *util.DataType) (string, error)
- func DSN(cfg *Config) (dsn string)
- func GetDriverFlag(ctx context.Context, key string) (string, bool)
- func GetHttpResponseMsgToJson(headers map[string]string, path string, connection *ClickzettaConn, ...) (*fastjson.Value, []byte, error)
- func NewSession(db *gorm.DB, flags DriverFlags) *gorm.DB
- func Open(dsn string) gorm.Dialector
- func SFCallerPrettyfier(frame *runtime.Frame) (string, string)
- func SetLogger(inLogger *SFLogger)
- func WithDriverFlags(ctx context.Context, flags DriverFlags) context.Context
- type BinaryValues
- type BulkLoadCommittable
- type BulkLoadOperation
- type BulkLoadState
- type BulkloadCommitOptions
- type BulkloadCommitter
- type BulkloadMetadata
- type BulkloadOptions
- type BulkloadStream
- func (stream *BulkloadStream) Abort() error
- func (stream *BulkloadStream) Close() error
- func (stream *BulkloadStream) CreateCommitter() *BulkloadCommitter
- func (stream *BulkloadStream) CreateWriter(partitionId int) (*BulkloadWriter, error)
- func (stream *BulkloadStream) GetStreamId() string
- func (stream *BulkloadStream) OpenWriter(partitionId int64) (*BulkloadWriter, error)
- type BulkloadWriter
- func (bw *BulkloadWriter) Abort() error
- func (bw *BulkloadWriter) CheckFileStatus() error
- func (bw *BulkloadWriter) CleanupAllVolume()
- func (bw *BulkloadWriter) Close() error
- func (bw *BulkloadWriter) CloseCurrentFile() error
- func (bw *BulkloadWriter) ConstructArrowSchema() error
- func (bw *BulkloadWriter) CreateNextFileWriter() (*pqarrow.FileWriter, error)
- func (bw *BulkloadWriter) CreateRow() *Row
- func (bw *BulkloadWriter) CurrentFileName() string
- func (bw *BulkloadWriter) EstimateRowSize() int
- func (bw *BulkloadWriter) FlushRecordBatch() (int, error)
- func (bw *BulkloadWriter) GetCommittables() []BulkLoadCommittable
- func (bw *BulkloadWriter) Init() error
- func (bw *BulkloadWriter) ParsePartitionSpec() (map[string]string, error)
- func (bw *BulkloadWriter) WriteRow(row *Row) error
- type CZTable
- type ClickZettaConfig
- type ClickzettaConn
- func (conn *ClickzettaConn) Begin() (driver.Tx, error)
- func (conn *ClickzettaConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error)
- func (std *ClickzettaConn) CheckNamedValue(nv *driver.NamedValue) error
- func (conn *ClickzettaConn) Close() (err error)
- func (conn *ClickzettaConn) CreateBulkloadStream(option BulkloadOptions) (*BulkloadStream, error)
- func (conn *ClickzettaConn) Exec(query string, args []driver.Value) (driver.Result, error)
- func (conn *ClickzettaConn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)
- func (conn *ClickzettaConn) GateWayCall(message proto.Message, method ingestion.MethodEnum) (*fastjson.Value, error)
- func (conn *ClickzettaConn) GetCatalog() string
- func (conn *ClickzettaConn) GetSchema() string
- func (conn *ClickzettaConn) Ping(ctx context.Context) error
- func (conn *ClickzettaConn) Prepare(query string) (driver.Stmt, error)
- func (conn *ClickzettaConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error)
- func (conn *ClickzettaConn) Query(query string, args []driver.Value) (driver.Rows, error)
- func (conn *ClickzettaConn) QueryArrowStream(ctx context.Context, query string, args []driver.NamedValue) (array.RecordReader, error)
- func (conn *ClickzettaConn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)
- func (conn *ClickzettaConn) SetCatalog(catalog string)
- func (conn *ClickzettaConn) SetSchema(schema string)
- type ClickzettaDriver
- type ClickzettaError
- type ClickzettaResult
- type ClickzettaRows
- type ClickzettaStmt
- func (stmt *ClickzettaStmt) Close() error
- func (stmt *ClickzettaStmt) Exec(args []driver.Value) (driver.Result, error)
- func (stmt *ClickzettaStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)
- func (stmt *ClickzettaStmt) NumInput() int
- func (stmt *ClickzettaStmt) Query(args []driver.Value) (driver.Rows, error)
- func (stmt *ClickzettaStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error)
- type Config
- type ConfigBool
- type Connector
- type Dialector
- func (dialector Dialector) Apply(config *gorm.Config) error
- func (dialector Dialector) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{})
- func (dialector *Dialector) Create(db *gorm.DB)
- func (dialector Dialector) DataTypeOf(*schema.Field) string
- func (dialector Dialector) DefaultValueOf(*schema.Field) clause.Expression
- func (dialector Dialector) Explain(sql string, vars ...interface{}) string
- func (dialector Dialector) Initialize(db *gorm.DB) error
- func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator
- func (dialector Dialector) Name() string
- func (dialector Dialector) NowFunc(n int) func() time.Time
- func (dialector Dialector) QuoteTo(writer clause.Writer, str string)
- type DriverFlags
- type EmptyRecordReader
- func (r *EmptyRecordReader) Err() error
- func (r *EmptyRecordReader) Next() bool
- func (r *EmptyRecordReader) Record() arrow.Record
- func (r *EmptyRecordReader) RecordBatch() arrow.Record
- func (r *EmptyRecordReader) Release()
- func (r *EmptyRecordReader) Retain()
- func (r *EmptyRecordReader) Schema() *arrow.Schema
- type FileFormat
- type InternalClickzettaDriver
- type InternalClient
- type LazyMemoryReader
- func (r *LazyMemoryReader) Err() error
- func (r *LazyMemoryReader) Next() bool
- func (r *LazyMemoryReader) Record() arrow.Record
- func (r *LazyMemoryReader) RecordBatch() arrow.Record
- func (r *LazyMemoryReader) Release()
- func (r *LazyMemoryReader) Retain()
- func (r *LazyMemoryReader) Schema() *arrow.Schema
- type LazyStreamingReader
- func (r *LazyStreamingReader) Err() error
- func (r *LazyStreamingReader) Next() bool
- func (r *LazyStreamingReader) Record() arrow.Record
- func (r *LazyStreamingReader) RecordBatch() arrow.Record
- func (r *LazyStreamingReader) Release()
- func (r *LazyStreamingReader) Retain()
- func (r *LazyStreamingReader) Schema() *arrow.Schema
- type Row
- func (row *Row) SetBigint(columnName string, value interface{}) error
- func (row *Row) SetBoolean(columnName string, value interface{}) error
- func (row *Row) SetDate(columnName string, value interface{}) error
- func (row *Row) SetDecimal(columnName string, value interface{}) error
- func (row *Row) SetDouble(columnName string, value interface{}) error
- func (row *Row) SetFloat(columnName string, value interface{}) error
- func (row *Row) SetInt(columnName string, value interface{}) error
- func (row *Row) SetSmallInt(columnName string, value interface{}) error
- func (row *Row) SetString(columnName string, value interface{}) error
- func (row *Row) SetTimestamp(columnName string, value interface{}) error
- func (row *Row) SetTinyInt(columnName string, value interface{}) error
- type SFLogger
- type TypedNullTime
- type UUID
Constants ¶
const ( SubmitJobRequestPath requestPath = "/lh/submitJob" GetJobResultPath requestPath = "/lh/getJob" CancelJobPath requestPath = "/lh/cancelJob" GetTokenPath requestPath = "/clickzetta-portal/user/loginSingle" GETWAYPATH requestPath = "/igs/gatewayEndpoint" )
const ( // TimestampLTZType denotes a LTZ timezoneType for array binds TimestampLTZType timezoneType = iota // DateType denotes a date type for array binds DateType )
const ( BIGINT clickzettaType = iota BOOLEAN CHAR DATE DECIMAL DOUBLE FLOAT INT INTERVAL SMALLINT STRING TIMESTAMP_LTZ TIMESTAMP_NTZ TINYINT ARRAY MAP STRUCT VARCHAR NOT_SUPPORTED JSON VECTOR VECTOR_TYPE )
const ( Memory queryDataType = iota File queryDataType = iota )
const ( // QueryStatusInProgress denotes a query execution in progress QueryStatusInProgress queryStatus = "queryStatusInProgress" // QueryStatusComplete denotes a completed query execution QueryStatusComplete queryStatus = "queryStatusComplete" // QueryFailed denotes a failed query QueryFailed queryStatus = "queryFailed" )
const ClickzettaGoDriverVersion = "0.0.7"
ClickzettaGoDriverVersion is the version of Go Clickzetta Driver.
const (
DefaultDriverName = "clickzetta"
)
const SFSessionIDKey contextKey = "LOG_SESSION_ID"
SFSessionIDKey is context key of session id
const SFSessionUserKey contextKey = "LOG_USER"
SFSessionUserKey is context key of user id of a session
Variables ¶
var ( SQL_JOB jobType = "SQL_JOB" COMPACTION_JOB jobType = "COMPACTION_JOB" )
var ( UNKNOWN jobRequestMode = "UNKNOWN" HYBRID jobRequestMode = "HYBRID" ASYNC jobRequestMode = "ASYNC" SYNC jobRequestMode = "SYNC" )
var ( // CreateClauses create clauses CreateClauses = []string{"INSERT", "VALUES"} // QueryClauses query clauses QueryClauses = []string{} // UpdateClauses update clauses UpdateClauses = []string{"UPDATE", "SET", "WHERE"} // DeleteClauses delete clauses DeleteClauses = []string{"DELETE", "FROM", "WHERE"} )
var HTTPTransport = newHTTPTransport()
HTTPTransport is the default transport configuration. Deprecated: kept for backward compatibility. Each connection now creates its own transport.
var LogKeys = [...]contextKey{SFSessionIDKey, SFSessionUserKey}
LogKeys these keys in context should be included in logging messages when using logger.WithContext
Functions ¶
func AppendValueToArrowField ¶
AppendValueToArrowField appends a value to an Arrow array builder.
func ConvertToArrowDataType ¶
ConvertToArrowDataType converts a protobuf DataType to an Arrow DataType.
func ConvertToArrowValue ¶
ConvertToArrowValue converts a Go value to its string representation for Arrow.
func GetDriverFlag ¶ added in v0.0.11
GetDriverFlag get specified driver flag value from context if flag does not exist, return empty string and false
func NewSession ¶ added in v0.0.15
func NewSession(db *gorm.DB, flags DriverFlags) *gorm.DB
NewSession returns a new *gorm.DB with the given DriverFlags bound to its context. All subsequent operations on the returned db will automatically use these flags, without needing to call WithDriverFlags on each query.
Example:
wsDB := goclickzetta.NewSession(db, goclickzetta.DriverFlags{
"workspace": "my_workspace",
"schema": "my_schema",
})
wsDB.Find(&results) // automatically uses my_workspace
func SFCallerPrettyfier ¶
SFCallerPrettyfier to provide base file name and function name from calling frame used in SFLogger
func WithDriverFlags ¶ added in v0.0.11
func WithDriverFlags(ctx context.Context, flags DriverFlags) context.Context
WithDriverFlags add driver flags to context example:
ctx := goclickzetta.WithDriverFlags(ctx, goclickzetta.DriverFlags{
"separate_params": "true",
"custom_flag": "value1",
})
db.WithContext(ctx).Raw("SELECT * FROM table").Scan(&results)
Types ¶
type BinaryValues ¶ added in v0.0.10
type BinaryValues struct {
// contains filtered or unexported fields
}
type BulkLoadCommittable ¶ added in v0.0.16
type BulkLoadCommittable struct {
StreamId string
PartitionId int
Files []string // local file paths
DstFiles []string // volume file paths (set after PUT)
}
BulkLoadCommittable holds the local file list produced by a writer.
type BulkLoadOperation ¶
type BulkLoadOperation = string
BulkLoadOperation defines the operation type for bulkload.
var ( APPEND BulkLoadOperation = "APPEND" UPSERT BulkLoadOperation = "UPSERT" OVERWRITE BulkLoadOperation = "OVERWRITE" )
type BulkLoadState ¶
type BulkLoadState = string
BulkLoadState defines the state of a bulkload stream.
var ( CREATED BulkLoadState = "CREATED" SEALED BulkLoadState = "SEALED" COMMIT_SUBMITTED BulkLoadState = "COMMIT_SUBMITTED" COMMIT_SUCCESS BulkLoadState = "COMMIT_SUCCESS" COMMIT_FAILED BulkLoadState = "COMMIT_FAILED" ABORTED BulkLoadState = "ABORTED" )
type BulkloadCommitOptions ¶
BulkloadCommitOptions holds commit-related options.
type BulkloadCommitter ¶ added in v0.0.16
type BulkloadCommitter struct {
Connection *ClickzettaConn
MetaData *BulkloadMetadata
StreamOptions *BulkloadOptions
}
BulkloadCommitter handles the V2 commit lifecycle via SQL.
func (*BulkloadCommitter) Commit ¶ added in v0.0.16
func (c *BulkloadCommitter) Commit(committables []BulkLoadCommittable) error
Commit prepares (PUT) and commits (COPY/MERGE) the data.
func (*BulkloadCommitter) PrepareCommit ¶ added in v0.0.16
func (c *BulkloadCommitter) PrepareCommit(committables []BulkLoadCommittable) error
PrepareCommit uploads local files to table volume via PUT SQL + presigned URL.
type BulkloadMetadata ¶
type BulkloadMetadata struct {
InstanceId int64
StreamInfo *ingestion.BulkLoadStreamInfo
Table CZTable
}
BulkloadMetadata holds stream metadata.
func (*BulkloadMetadata) GetOperation ¶
func (bm *BulkloadMetadata) GetOperation() BulkLoadOperation
func (*BulkloadMetadata) GetPartitionSpec ¶
func (bm *BulkloadMetadata) GetPartitionSpec() string
func (*BulkloadMetadata) GetRecordKeys ¶
func (bm *BulkloadMetadata) GetRecordKeys() []string
func (*BulkloadMetadata) GetSQLErrorMsg ¶
func (bm *BulkloadMetadata) GetSQLErrorMsg() string
func (*BulkloadMetadata) GetState ¶
func (bm *BulkloadMetadata) GetState() BulkLoadState
type BulkloadOptions ¶
type BulkloadOptions struct {
Table string
Operation BulkLoadOperation
PartitionSpec string
RecordKeys []string
PartialUpdateColumns []string // optional: columns to update in UPSERT mode, empty means update all
PreferInternalEndpoint bool
Properties map[string]string // optional: extra SQL set properties for COPY/MERGE
LoadUri string // optional: local directory for temp parquet files, defaults to os.TempDir()
MaxRowsPerFile int // optional: max rows per parquet file, defaults to 1M
MaxBytesPerFile int // optional: max bytes per parquet file, defaults to 64MB
}
BulkloadOptions holds options for creating a bulkload stream.
type BulkloadStream ¶
type BulkloadStream struct {
MetaData *BulkloadMetadata
Connection *ClickzettaConn
CommitOptions *BulkloadCommitOptions
StreamOptions *BulkloadOptions
Closed bool
// contains filtered or unexported fields
}
BulkloadStream represents a bulkload stream with writer and committer support.
func (*BulkloadStream) Close ¶
func (stream *BulkloadStream) Close() error
Close closes all writers, collects committables, and commits the stream.
func (*BulkloadStream) CreateCommitter ¶ added in v0.0.16
func (stream *BulkloadStream) CreateCommitter() *BulkloadCommitter
CreateCommitter creates a committer for this stream.
func (*BulkloadStream) CreateWriter ¶ added in v0.0.16
func (stream *BulkloadStream) CreateWriter(partitionId int) (*BulkloadWriter, error)
CreateWriter creates a writer for the given partition.
func (*BulkloadStream) GetStreamId ¶
func (stream *BulkloadStream) GetStreamId() string
func (*BulkloadStream) OpenWriter ¶
func (stream *BulkloadStream) OpenWriter(partitionId int64) (*BulkloadWriter, error)
OpenWriter is an alias for CreateWriter for backward compatibility.
type BulkloadWriter ¶
type BulkloadWriter struct {
Connection *ClickzettaConn
MetaData *BulkloadMetadata
PartitionId int64
StreamOptions *BulkloadOptions
FinishedFiles []string // local file paths (cleared after upload)
UploadedVolumePaths []string // remote volume paths (accumulated)
TxnId string // transaction id for PUT subdirectory
FileNameUUID string
FileId int
Closed bool
LocalBaseDir string
CurrentTotalRows int
CurrentTotalBytes int
CurrentRecordBatch map[string][]interface{}
CurrentRecordBatchSize int
CurrentRecordBatchRows int
EstimateRowStaticSize int
ArrowSchema *arrow.Schema
Writer *pqarrow.FileWriter
PartitionSpec map[string]string
// Configurable thresholds (0 means use defaults)
MaxRowsPerFile int
MaxBytesPerFile int
BatchFlushSize int
BatchFlushRows int
// contains filtered or unexported fields
}
BulkloadWriter writes data to local parquet files. Files are uploaded to table volume asynchronously on file roll to minimize local disk usage without blocking row writes.
func (*BulkloadWriter) Abort ¶
func (bw *BulkloadWriter) Abort() error
func (*BulkloadWriter) CheckFileStatus ¶
func (bw *BulkloadWriter) CheckFileStatus() error
func (*BulkloadWriter) CleanupAllVolume ¶ added in v0.0.16
func (bw *BulkloadWriter) CleanupAllVolume()
CleanupAllVolume removes all uploaded volume files. Called on abort or commit failure.
func (*BulkloadWriter) Close ¶
func (bw *BulkloadWriter) Close() error
Close flushes remaining data, waits for all async uploads to finish, and cleans up.
func (*BulkloadWriter) CloseCurrentFile ¶
func (bw *BulkloadWriter) CloseCurrentFile() error
func (*BulkloadWriter) ConstructArrowSchema ¶
func (bw *BulkloadWriter) ConstructArrowSchema() error
func (*BulkloadWriter) CreateNextFileWriter ¶
func (bw *BulkloadWriter) CreateNextFileWriter() (*pqarrow.FileWriter, error)
func (*BulkloadWriter) CreateRow ¶
func (bw *BulkloadWriter) CreateRow() *Row
func (*BulkloadWriter) CurrentFileName ¶
func (bw *BulkloadWriter) CurrentFileName() string
func (*BulkloadWriter) EstimateRowSize ¶
func (bw *BulkloadWriter) EstimateRowSize() int
func (*BulkloadWriter) FlushRecordBatch ¶
func (bw *BulkloadWriter) FlushRecordBatch() (int, error)
func (*BulkloadWriter) GetCommittables ¶ added in v0.0.16
func (bw *BulkloadWriter) GetCommittables() []BulkLoadCommittable
GetCommittables returns the committable with already-uploaded volume paths.
func (*BulkloadWriter) Init ¶
func (bw *BulkloadWriter) Init() error
func (*BulkloadWriter) ParsePartitionSpec ¶
func (bw *BulkloadWriter) ParsePartitionSpec() (map[string]string, error)
func (*BulkloadWriter) WriteRow ¶
func (bw *BulkloadWriter) WriteRow(row *Row) error
type CZTable ¶
type CZTable struct {
SchemaName string
TableName string
TableMeta *ingestion.StreamSchema
Schema map[string]*util.DataType
}
CZTable holds table metadata.
type ClickZettaConfig ¶ added in v0.0.6
type ClickZettaConfig struct {
DriverName string
DSN string
Conn gorm.ConnPool
SkipInitializeWithVersion bool
DefaultStringSize uint
DefaultDatetimePrecision *int
DisableWithReturning bool
DisableDatetimePrecision bool
DontSupportRenameIndex bool
DontSupportRenameColumn bool
DontSupportNullAsDefaultValue bool
DontSupportRenameColumnUnique bool
DontSupportDropConstraint bool
}
type ClickzettaConn ¶
type ClickzettaConn struct {
// contains filtered or unexported fields
}
func (*ClickzettaConn) CheckNamedValue ¶ added in v0.0.8
func (std *ClickzettaConn) CheckNamedValue(nv *driver.NamedValue) error
func (*ClickzettaConn) Close ¶
func (conn *ClickzettaConn) Close() (err error)
func (*ClickzettaConn) CreateBulkloadStream ¶
func (conn *ClickzettaConn) CreateBulkloadStream(option BulkloadOptions) (*BulkloadStream, error)
func (*ClickzettaConn) ExecContext ¶
func (conn *ClickzettaConn) ExecContext( ctx context.Context, query string, args []driver.NamedValue) ( driver.Result, error)
func (*ClickzettaConn) GateWayCall ¶
func (conn *ClickzettaConn) GateWayCall(message proto.Message, method ingestion.MethodEnum) (*fastjson.Value, error)
func (*ClickzettaConn) GetCatalog ¶ added in v0.0.13
func (conn *ClickzettaConn) GetCatalog() string
GetCatalog returns the current catalog of the connection
func (*ClickzettaConn) GetSchema ¶ added in v0.0.13
func (conn *ClickzettaConn) GetSchema() string
GetSchema returns the current schema of the connection
func (*ClickzettaConn) Prepare ¶
func (conn *ClickzettaConn) Prepare(query string) (driver.Stmt, error)
func (*ClickzettaConn) PrepareContext ¶
func (*ClickzettaConn) QueryArrowStream ¶ added in v0.0.12
func (conn *ClickzettaConn) QueryArrowStream(ctx context.Context, query string, args []driver.NamedValue) (array.RecordReader, error)
func (*ClickzettaConn) QueryContext ¶
func (conn *ClickzettaConn) QueryContext( ctx context.Context, query string, args []driver.NamedValue) ( driver.Rows, error)
func (*ClickzettaConn) SetCatalog ¶ added in v0.0.13
func (conn *ClickzettaConn) SetCatalog(catalog string)
SetCatalog sets the current catalog for the connection
func (*ClickzettaConn) SetSchema ¶ added in v0.0.13
func (conn *ClickzettaConn) SetSchema(schema string)
SetSchema sets the current schema for the connection
type ClickzettaDriver ¶
type ClickzettaDriver struct{}
ClickzettaDriver is a context of Go Driver
func (ClickzettaDriver) Open ¶
func (d ClickzettaDriver) Open(dsn string) (driver.Conn, error)
Open creates a new connection.
func (ClickzettaDriver) OpenWithConfig ¶
OpenWithConfig creates a new connection with the given Config.
type ClickzettaError ¶
type ClickzettaError struct {
Number int
SQLState string
QueryID string
Message string
MessageArgs []interface{}
IncludeQueryID bool // TODO: populate this in connection
}
func (*ClickzettaError) Error ¶
func (ce *ClickzettaError) Error() string
type ClickzettaResult ¶
ClickzettaResult provides an API for methods exposed to the clients
type ClickzettaRows ¶
type ClickzettaStmt ¶
type ClickzettaStmt struct {
// contains filtered or unexported fields
}
func (*ClickzettaStmt) Close ¶
func (stmt *ClickzettaStmt) Close() error
func (*ClickzettaStmt) ExecContext ¶
func (stmt *ClickzettaStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)
func (*ClickzettaStmt) NumInput ¶
func (stmt *ClickzettaStmt) NumInput() int
func (*ClickzettaStmt) QueryContext ¶
func (stmt *ClickzettaStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error)
type Config ¶
type Config struct {
UserName string // Username
Password string // Password (requires User)
Schema string // Schema
Workspace string // Workspace
VirtualCluster string // VirtualCluster
Service string // Service
Instance string // Instance
Protocol string // Protocol
Token string
InstanceId int64
Params map[string]*string // other connection parameters
}
Config is a set of configuration parameters
type ConfigBool ¶
type ConfigBool uint8
ConfigBool is a type to represent true or false in the Config
type Connector ¶
type Connector struct {
// contains filtered or unexported fields
}
Connector creates Driver with the specified Config
func NewConnector ¶
func NewConnector(driver InternalClickzettaDriver, config Config) Connector
NewConnector creates a new connector with the given ClickzettaDriver and Config.
type Dialector ¶ added in v0.0.6
type Dialector struct {
*ClickZettaConfig
}
func (Dialector) DataTypeOf ¶ added in v0.0.6
DataTypeOf implements gorm.Dialector.
func (Dialector) DefaultValueOf ¶ added in v0.0.6
func (dialector Dialector) DefaultValueOf(*schema.Field) clause.Expression
DefaultValueOf implements gorm.Dialector.
func (Dialector) Initialize ¶ added in v0.0.6
type DriverFlags ¶ added in v0.0.11
DriverFlags used to pass driver parameters in context
func GetDriverFlags ¶ added in v0.0.11
func GetDriverFlags(ctx context.Context) DriverFlags
GetDriverFlags get driver flags from context if there are no flags in context, return nil
type EmptyRecordReader ¶ added in v0.0.13
type EmptyRecordReader struct {
// contains filtered or unexported fields
}
EmptyRecordReader is a RecordReader that returns no records Used when query returns empty result set
func NewEmptyRecordReader ¶ added in v0.0.13
func NewEmptyRecordReader(schema *arrow.Schema) *EmptyRecordReader
NewEmptyRecordReader creates a new empty record reader with the given schema
func NewEmptyRecordReaderFromFields ¶ added in v0.0.13
func NewEmptyRecordReaderFromFields(fields []execResponseColumnType) *EmptyRecordReader
NewEmptyRecordReaderFromFields creates a new empty record reader from schema fields
func (*EmptyRecordReader) Err ¶ added in v0.0.13
func (r *EmptyRecordReader) Err() error
func (*EmptyRecordReader) Next ¶ added in v0.0.13
func (r *EmptyRecordReader) Next() bool
func (*EmptyRecordReader) Record ¶ added in v0.0.13
func (r *EmptyRecordReader) Record() arrow.Record
func (*EmptyRecordReader) RecordBatch ¶ added in v0.0.13
func (r *EmptyRecordReader) RecordBatch() arrow.Record
func (*EmptyRecordReader) Release ¶ added in v0.0.13
func (r *EmptyRecordReader) Release()
func (*EmptyRecordReader) Retain ¶ added in v0.0.13
func (r *EmptyRecordReader) Retain()
func (*EmptyRecordReader) Schema ¶ added in v0.0.13
func (r *EmptyRecordReader) Schema() *arrow.Schema
type FileFormat ¶
type FileFormat string
FileFormat represents the output file format.
var ( PARQUET FileFormat = "parquet" ORC FileFormat = "orc" AVRO FileFormat = "avro" CSV FileFormat = "csv" ARROW_FMT FileFormat = "arrow" )
type InternalClickzettaDriver ¶
type InternalClickzettaDriver interface {
Open(dsn string) (driver.Conn, error)
OpenWithConfig(ctx context.Context, config Config) (driver.Conn, error)
}
InternalClickzettaDriver is the interface for an internal Clickzetta driver
type InternalClient ¶
type InternalClient interface {
Get(context.Context, *url.URL, map[string]string, time.Duration) (*http.Response, error)
Post(context.Context, *url.URL, map[string]string, []byte, time.Duration) (*http.Response, error)
Close() error
}
InternalClient is implemented by HTTPClient
type LazyMemoryReader ¶ added in v0.0.12
type LazyMemoryReader struct {
// contains filtered or unexported fields
}
LazyMemoryReader lazily reads base64 encoded arrow data Only decodes the next chunk when the current one is exhausted
func NewLazyMemoryReader ¶ added in v0.0.12
func NewLazyMemoryReader(dataChunks []string) (*LazyMemoryReader, error)
NewLazyMemoryReader creates a new lazy memory reader from base64 encoded data chunks
func (*LazyMemoryReader) Err ¶ added in v0.0.12
func (r *LazyMemoryReader) Err() error
func (*LazyMemoryReader) Next ¶ added in v0.0.12
func (r *LazyMemoryReader) Next() bool
func (*LazyMemoryReader) Record ¶ added in v0.0.12
func (r *LazyMemoryReader) Record() arrow.Record
func (*LazyMemoryReader) RecordBatch ¶ added in v0.0.13
func (r *LazyMemoryReader) RecordBatch() arrow.Record
func (*LazyMemoryReader) Release ¶ added in v0.0.12
func (r *LazyMemoryReader) Release()
func (*LazyMemoryReader) Retain ¶ added in v0.0.12
func (r *LazyMemoryReader) Retain()
func (*LazyMemoryReader) Schema ¶ added in v0.0.12
func (r *LazyMemoryReader) Schema() *arrow.Schema
type LazyStreamingReader ¶ added in v0.0.12
type LazyStreamingReader struct {
// contains filtered or unexported fields
}
LazyStreamingReader lazily downloads and reads files from presigned URLs Only downloads the next file when the current one is exhausted
func NewLazyStreamingReader ¶ added in v0.0.12
func NewLazyStreamingReader(urls []string) (*LazyStreamingReader, error)
NewLazyStreamingReader creates a new lazy streaming reader from presigned URLs
func (*LazyStreamingReader) Err ¶ added in v0.0.12
func (r *LazyStreamingReader) Err() error
func (*LazyStreamingReader) Next ¶ added in v0.0.12
func (r *LazyStreamingReader) Next() bool
func (*LazyStreamingReader) Record ¶ added in v0.0.12
func (r *LazyStreamingReader) Record() arrow.Record
func (*LazyStreamingReader) RecordBatch ¶ added in v0.0.13
func (r *LazyStreamingReader) RecordBatch() arrow.Record
func (*LazyStreamingReader) Release ¶ added in v0.0.12
func (r *LazyStreamingReader) Release()
func (*LazyStreamingReader) Retain ¶ added in v0.0.12
func (r *LazyStreamingReader) Retain()
func (*LazyStreamingReader) Schema ¶ added in v0.0.12
func (r *LazyStreamingReader) Schema() *arrow.Schema
type Row ¶
type Row struct {
Columns map[string]*util.DataType
TableName string
ColumnNameValues map[string]interface{}
}
Row represents a single row of data to write.
func (*Row) SetBoolean ¶
func (*Row) SetDecimal ¶
func (*Row) SetSmallInt ¶
func (*Row) SetTimestamp ¶
func (*Row) SetTinyInt ¶
type SFLogger ¶
type SFLogger interface {
rlog.Ext1FieldLogger
SetLogLevel(level string) error
WithContext(ctx context.Context) *rlog.Entry
SetOutput(output io.Writer)
}
func CreateDefaultLogger ¶
func CreateDefaultLogger() SFLogger
CreateDefaultLogger return a new instance of SFLogger with default config