Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidConn = errors.New("invalid connection") ErrShortRead = errors.New("short read") ErrReadFail = errors.New("read failed") ErrInternal = errors.New("internal driver error") ErrInvalidResponse = errors.New("invalid response") ErrNoSupportAuth = errors.New("no support auth mechanisms") ErrNoSecureChannel = errors.New("unable to acquire a secure channel") ErrNotImplemented = errors.New("not implemented") ErrInvalidRead = errors.New("invalid read") ErrInvalidMetadata = errors.New("invalid metadata from db") ErrInvalidParamIndex = errors.New("invalid param index") ErrTransactionInProgress = errors.New("transaction already in progress") ErrTlsUpgradeFail = errors.New("tls websocket upgrade failure") ErrTlsCaFail = errors.New("tls CA verification failed") ErrTlsHostFail = errors.New("tls hostname verification failed") ErrInvalidLobSize = errors.New("invalid lob length on read") ErrTd2InvalidAlg = errors.New("only AES with GCM96 is supported") ErrFastConnectFailed = errors.New("fastload connection failed") ErrFastLoadNotClosed = errors.New("fastload transaction in progress, it must be closed before starting a new one") ErrFastLoadNoColumns = errors.New("fastload columns are required") ErrFastLoadUnsupported = errors.New("fastload not supported for this table") ErrFastLoadFinished = errors.New("fastload transaction has already ended or been aborted") )
Functions ¶
Types ¶
type Config ¶
type Config struct {
Host string // Hostname / IP
Port int // Port Number
Database string // Database Name
User string // Username
Password string // Password
// Base Options
TMode string // TMODE allowed="TERA,ANSI,DEFAULT"
CopMode bool // COP default="ON" allowed="ON,OFF"
CopLast bool // COPLAST default="ON" allowed="ON,OFF"
Timeout time.Duration // TIMEOUT default="60"
Partition string // PARTITION default="DBC/SQL"
ConnectFunction int // CONNECT_FUNCTION default="0" allowed="0,1,2"
MaxMessageSize int // MAX_MESSAGE_BODY default=2097152
EncryptData bool // ENCRYPTDATA default="OFF" allowed="ON,OFF"
// TLS Options
SSLMode string // SSLMODE default="PREFER" allowed="DISABLE,ALLOW,PREFER,REQUIRE,VERIFY-CA,VERIFY-FULL"
SSLProtocol string // SSLPROTOCOL default="TLSv1.3"
SSLCipher string // SSLCIPHER default=""
SSLServerName string // SSLSERVERNAME default=""
SSLCA string // SSLCA
SSLCAPath string // SSLCAPATH
SSLBase64 string // SSLBASE64
SSLPort int // HTTPS_PORT
// LOB Options
LOBSupport bool // LOB_SUPPORT default="OFF" allowed="ON,OFF"
LOBRecieveThreshold int // SLOB_RECEIVE_THRESHOLD default=1000
LOBPrefetch bool // LOB_PREFETCH default="OFF" allowed="ON,OFF"
// Fastload
MaxFastLoadSessions int
Logger *slog.Logger
// contains filtered or unexported fields
}
func NewTeradataConfig ¶
type FastLoadConnection ¶ added in v0.2.0
type FastLoadConnection interface {
// Teardown Connections and Abort Open Transactions
Close() error
// Begin a Load
BeginFastLoad(ctx context.Context, database string, table string, columns ...string) (FastLoadTx, error)
}
func NewFastLoadConnection ¶ added in v0.2.0
func NewFastLoadConnection(cfg *Config) (FastLoadConnection, error)
Create new Fast Load connection to bulk import data
type FastLoadErrorRow ¶ added in v0.2.0
type FastLoadResult ¶ added in v0.2.0
type FastLoadResult struct {
RowsSent int64
RowsAccepted int64
Errors []FastLoadErrorRow
UniqueViolations int64
}
type FastLoadTx ¶ added in v0.2.0
type FastLoadTx interface {
// Add row to queue
AddRow(ctx context.Context, values ...driver.Value) (int, error)
// Send all queued rows to server, blocks until ackd
Flush(ctx context.Context) error
// End loading
End(ctx context.Context) (*FastLoadResult, error)
// Abort load and rollback
Abort(ctx context.Context) error
// Close underlying data connections
Close() error
}
type TeradataBlob ¶
type TeradataBlob struct {
// contains filtered or unexported fields
}
func (TeradataBlob) GetBytesContext ¶
func (*TeradataBlob) Scan ¶
func (l *TeradataBlob) Scan(src any) error
type TeradataClob ¶
type TeradataClob struct {
// contains filtered or unexported fields
}
func (TeradataClob) GetBytesContext ¶
func (*TeradataClob) GetString ¶
func (l *TeradataClob) GetString() (string, error)
func (*TeradataClob) GetStringContext ¶
func (l *TeradataClob) GetStringContext(ctx context.Context) (string, error)
func (*TeradataClob) Scan ¶
func (l *TeradataClob) Scan(src any) error
type TeradataConnectionError ¶
type TeradataConnectionError struct {
Message string
}
func (*TeradataConnectionError) Error ¶
func (e *TeradataConnectionError) Error() string
type TeradataDriver ¶
type TeradataDriver struct {
}
func (TeradataDriver) OpenConnector ¶
func (d TeradataDriver) OpenConnector(dsn string) (driver.Connector, error)
type TeradataError ¶
func (*TeradataError) Error ¶
func (e *TeradataError) Error() string
Source Files
¶
- auth.go
- auth_td2.go
- auth_td2tls.go
- buffer.go
- buffer_reader.go
- buffer_writer.go
- connection.go
- connector.go
- context.go
- datatype.go
- der.go
- driver.go
- dsn.go
- errors.go
- fastload.go
- fastload_connection.go
- fastload_data_channel.go
- fastload_encode.go
- fastload_parcels.go
- fastload_query.go
- lob.go
- logging.go
- number.go
- packet.go
- packet_header.go
- params.go
- parcel.go
- parcels_request.go
- parcels_response.go
- rows.go
- statement.go
- tls.go
- util.go
Click to show internal directories.
Click to hide internal directories.