protocol

package
v1.10.3 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package protocol implements the hdb command network protocol.

http://help.sap.com/hana/SAP_HANA_SQL_Command_Network_Protocol_Reference_en.pdf

Index

Constants

View Source
const (
	DfvLevel0 int = 0 // base data format
	DfvLevel1 int = 1 // eval types support all data types
	DfvLevel2 int = 2 // reserved, broken, do not use
	DfvLevel3 int = 3 // additional types Longdate, Secondate, Daydate, Secondtime supported for NGAP
	DfvLevel4 int = 4 // generic support for new date/time types
	DfvLevel5 int = 5 // spatial types in ODBC on request
	DfvLevel6 int = 6 // BINTEXT
	DfvLevel7 int = 7 // with boolean support
	DfvLevel8 int = 8 // with FIXED8/12/16 support
)

Data format version values.

View Source
const (
	HdbErrAuthenticationFailed = 10
	HdbErrWhileParsingProtocol = 1033
)

HANA Database errors.

View Source
const MaxNumArg = math.MaxInt32

MaxNumArg is the maximum number of arguments allowed to send in a part.

View Source
const (

	// TcTableRows is the TypeCode for table rows.
	TcTableRows typeCode = 0x7f // 127
)

Variables

View Source
var ErrSkipped = errors.New("perts iterator: skipped read")

ErrSkipped is used by the caller of the iterator to indicate that no read was executed.

Functions

func IsSupportedDfv added in v0.107.0

func IsSupportedDfv(dfv int) bool

IsSupportedDfv returns true if the data format version dfv is supported by the driver, false otherwise.

func RegisterScanType

func RegisterScanType(dt DataType, scanType, scanNullType reflect.Type) bool

RegisterScanType registers driver owned datatype scantypes (e.g. Decimal, Lob).

func SupportedDfvs added in v0.107.0

func SupportedDfvs(defaultOnly bool) []int

SupportedDfvs returns a slice of data format versions supported by the driver. If parameter defaultOnly is set only the default dfv is returned, otherwise all supported dfv values are returned.

Types

type AuthFinalReply added in v0.107.3

type AuthFinalReply struct {
	// contains filtered or unexported fields
}

AuthFinalReply represents an authentication final reply.

func (*AuthFinalReply) String added in v0.107.3

func (r *AuthFinalReply) String() string

type AuthFinalRequest added in v0.107.3

type AuthFinalRequest struct {
	// contains filtered or unexported fields
}

AuthFinalRequest represents an authentication final request.

func (*AuthFinalRequest) String added in v0.107.3

func (r *AuthFinalRequest) String() string

type AuthHnd added in v0.112.3

type AuthHnd struct {
	// contains filtered or unexported fields
}

AuthHnd holds the client authentication methods dependent on the driver.Connector attributes and handles the authentication hdb protocol.

func NewAuthHnd added in v0.112.3

func NewAuthHnd(logonname string) *AuthHnd

NewAuthHnd creates a new AuthHnd instance.

func (*AuthHnd) AddBasic added in v0.112.3

func (a *AuthHnd) AddBasic(username, password string)

AddBasic adds basic authentication methods.

func (*AuthHnd) AddJWT added in v0.112.3

func (a *AuthHnd) AddJWT(token string)

AddJWT adds JWT authentication method.

func (*AuthHnd) AddSessionCookie added in v0.112.3

func (a *AuthHnd) AddSessionCookie(cookie []byte, logonname, clientID string)

AddSessionCookie adds session cookie authentication method.

func (*AuthHnd) AddX509 added in v0.112.3

func (a *AuthHnd) AddX509(certKey *auth.CertKey)

AddX509 adds X509 authentication method.

func (*AuthHnd) FinalReply added in v0.112.3

func (a *AuthHnd) FinalReply() (*AuthFinalReply, error)

FinalReply returns the final reply part.

func (*AuthHnd) FinalRequest added in v0.112.3

func (a *AuthHnd) FinalRequest() (*AuthFinalRequest, error)

FinalRequest returns the final request part.

func (*AuthHnd) InitReply added in v0.112.3

func (a *AuthHnd) InitReply() (*AuthInitReply, error)

InitReply returns the init reply part.

func (*AuthHnd) InitRequest added in v0.112.3

func (a *AuthHnd) InitRequest() (*AuthInitRequest, error)

InitRequest returns the init request part.

func (*AuthHnd) Selected added in v1.3.6

func (a *AuthHnd) Selected() auth.Method

Selected returns the selected authentication method.

func (*AuthHnd) String added in v0.112.3

func (a *AuthHnd) String() string

type AuthInitReply added in v0.107.3

type AuthInitReply struct {
	// contains filtered or unexported fields
}

AuthInitReply represents an authentication initial reply.

func (*AuthInitReply) String added in v0.107.3

func (r *AuthInitReply) String() string

type AuthInitRequest added in v0.107.3

type AuthInitRequest struct {
	// contains filtered or unexported fields
}

AuthInitRequest represents an authentication initial request.

func (*AuthInitRequest) String added in v0.107.3

func (r *AuthInitRequest) String() string

type Cdm added in v0.107.3

type Cdm byte

Cdm represents a ConnectOption ClientDistributionMode.

const (
	CdmOff                 Cdm = 0
	CdmConnection          Cdm = 1
	CdmStatement           Cdm = 2
	CdmConnectionStatement Cdm = 3
)

ConnectOption ClientDistributionMode constants.

func (Cdm) String added in v0.107.3

func (i Cdm) String() string

type ClientContext added in v1.7.2

type ClientContext struct {
	// contains filtered or unexported fields
}

ClientContext represents a client context part.

func (*ClientContext) SetApplicationProgram added in v1.7.2

func (cc *ClientContext) SetApplicationProgram(v string)

SetApplicationProgram sets the client application program option.

func (*ClientContext) SetType added in v1.7.2

func (cc *ClientContext) SetType(v string)

SetType sets the client type option.

func (*ClientContext) SetVersion added in v1.7.2

func (cc *ClientContext) SetVersion(v string)

SetVersion sets the client version option.

func (ClientContext) String added in v1.7.2

func (ops ClientContext) String() string

type ClientID added in v0.107.0

type ClientID []byte

ClientID represents a client id part.

func (ClientID) String added in v0.107.3

func (id ClientID) String() string

type Command added in v0.107.3

type Command []byte

Command represents a command part with cesu8 content.

func (Command) String added in v0.107.3

func (c Command) String() string

type ConnectOptions added in v1.7.2

type ConnectOptions struct {
	// contains filtered or unexported fields
}

ConnectOptions represents a connect options part.

func (*ConnectOptions) DataFormatVersion2OrZero added in v1.7.2

func (co *ConnectOptions) DataFormatVersion2OrZero() int

DataFormatVersion2OrZero returns the data format version2 option if available, the zero value otherwise.

func (*ConnectOptions) DatabaseNameOrZero added in v1.7.2

func (co *ConnectOptions) DatabaseNameOrZero() string

DatabaseNameOrZero returns the database name option if available, the zero value otherwise.

func (*ConnectOptions) FullVersionOrZero added in v1.7.2

func (co *ConnectOptions) FullVersionOrZero() string

FullVersionOrZero returns the full version option if available, the zero value otherwise.

func (*ConnectOptions) SetClientDistributionMode added in v1.7.2

func (co *ConnectOptions) SetClientDistributionMode(v Cdm)

SetClientDistributionMode sets the client distribution mode option.

func (*ConnectOptions) SetClientLocale added in v1.7.2

func (co *ConnectOptions) SetClientLocale(v string)

SetClientLocale sets the client locale option.

func (*ConnectOptions) SetDataFormatVersion2 added in v1.7.2

func (co *ConnectOptions) SetDataFormatVersion2(v int)

SetDataFormatVersion2 sets the data format version 2 option.

func (*ConnectOptions) SetSelectForUpdateSupported added in v1.7.2

func (co *ConnectOptions) SetSelectForUpdateSupported(v bool)

SetSelectForUpdateSupported sets the select for update supported option.

func (ConnectOptions) String added in v1.7.2

func (ops ConnectOptions) String() string

type DBConnectInfo added in v1.7.2

type DBConnectInfo struct {
	// contains filtered or unexported fields
}

DBConnectInfo represents a database connect info part.

func (*DBConnectInfo) HostOrZero added in v1.7.2

func (ci *DBConnectInfo) HostOrZero() string

HostOrZero returns the host option, the zero value otherwise.

func (*DBConnectInfo) IsConnectedOrZero added in v1.7.2

func (ci *DBConnectInfo) IsConnectedOrZero() bool

IsConnectedOrZero returns this IsConnected option, the zero value otherwise.

func (*DBConnectInfo) PortOrZero added in v1.7.2

func (ci *DBConnectInfo) PortOrZero() int

PortOrZero returns the port option, the zero value otherwise.

func (*DBConnectInfo) SetDatabaseName added in v1.7.2

func (ci *DBConnectInfo) SetDatabaseName(v string)

SetDatabaseName sets the database name option.

func (DBConnectInfo) String added in v1.7.2

func (ops DBConnectInfo) String() string

type DataType

type DataType byte

DataType is the type definition for data types supported by this package.

const (
	DtUnknown DataType = iota // unknown data type
	DtBoolean
	DtTinyint
	DtSmallint
	DtInteger
	DtBigint
	DtReal
	DtDouble
	DtDecimal
	DtTime
	DtString
	DtBytes
	DtLob
	DtRows
)

Data type constants.

func (DataType) ScanType

func (dt DataType) ScanType(nullable bool) reflect.Type

ScanType return the scan type (reflect.Type) of the corresponding data type.

func (DataType) String

func (i DataType) String() string

type DecodeError added in v0.107.3

type DecodeError struct {
	// contains filtered or unexported fields
}

DecodeError represents a decoding error.

func (*DecodeError) Error added in v0.107.3

func (e *DecodeError) Error() string

func (*DecodeError) Unwrap added in v1.8.22

func (e *DecodeError) Unwrap() error

type DecodeErrors added in v0.107.3

type DecodeErrors []*DecodeError

DecodeErrors represents a list of decoding errors.

func (DecodeErrors) RowErrors added in v1.8.22

func (errs DecodeErrors) RowErrors(row int) error

RowErrors returns errors if they were assigned to a row, nil otherwise.

type Fetchsize added in v0.107.3

type Fetchsize int32

Fetchsize represents a fetch size part.

func (Fetchsize) String added in v0.107.3

func (s Fetchsize) String() string

type FunctionCode added in v0.107.3

type FunctionCode int16

FunctionCode represents a function code.

const (
	FcDDL FunctionCode = 1
)

FunctionCode constants.

func (FunctionCode) IsProcedureCall added in v0.107.3

func (fc FunctionCode) IsProcedureCall() bool

IsProcedureCall returns true if the function code is a procedure call, false otherwise.

func (FunctionCode) String added in v0.107.3

func (i FunctionCode) String() string

type HdbError added in v1.0.1

type HdbError struct {
	// contains filtered or unexported fields
}

HdbError represents a single error returned by the server.

func (*HdbError) Code added in v1.0.1

func (e *HdbError) Code() int

Code implements the driver.DBError interface.

func (*HdbError) Error added in v1.0.1

func (e *HdbError) Error() string

func (*HdbError) IsError added in v1.0.1

func (e *HdbError) IsError() bool

IsError implements the driver.DBError interface.

func (*HdbError) IsFatal added in v1.0.1

func (e *HdbError) IsFatal() bool

IsFatal implements the driver.DBError interface.

func (*HdbError) IsWarning added in v1.0.1

func (e *HdbError) IsWarning() bool

IsWarning implements the driver.DBError interface.

func (*HdbError) Level added in v1.0.1

func (e *HdbError) Level() int

Level implements the driver.DBError interface.

func (*HdbError) Position added in v1.0.1

func (e *HdbError) Position() int

Position implements the driver.DBError interface.

func (*HdbError) StmtNo added in v1.0.1

func (e *HdbError) StmtNo() int

StmtNo implements the driver.DBError interface.

func (*HdbError) String added in v1.0.1

func (e *HdbError) String() string

func (*HdbError) Text added in v1.0.1

func (e *HdbError) Text() string

Text implements the driver.DBError interface.

type HdbErrors added in v0.107.3

type HdbErrors struct {
	*HdbError
	// contains filtered or unexported fields
}

HdbErrors represent the collection of errors return by the server.

func (*HdbErrors) Error added in v0.107.3

func (e *HdbErrors) Error() string

func (*HdbErrors) NumError added in v0.107.3

func (e *HdbErrors) NumError() int

NumError implements the driver.Error interface. NumErrors returns the number of all errors, including warnings.

func (*HdbErrors) SetIdx added in v0.107.3

func (e *HdbErrors) SetIdx(idx int)

SetIdx implements the driver.Error interface.

func (*HdbErrors) String added in v0.107.3

func (e *HdbErrors) String() string

func (*HdbErrors) Unwrap added in v1.0.1

func (e *HdbErrors) Unwrap() []error

type InputParameters added in v0.107.3

type InputParameters struct {
	InputFields []*ParameterField
	// contains filtered or unexported fields
}

InputParameters represents the set of input parameters.

func NewInputParameters added in v0.107.3

func NewInputParameters(inputFields []*ParameterField, nvargs []driver.NamedValue) (*InputParameters, error)

NewInputParameters returns a InputParameters instance.

func (*InputParameters) String added in v0.107.3

func (p *InputParameters) String() string

type LobInDescr added in v0.107.3

type LobInDescr struct {
	// contains filtered or unexported fields
}

LobInDescr represents a lob input descriptor.

func (*LobInDescr) FetchNext added in v0.107.3

func (d *LobInDescr) FetchNext(chunkSize int) error

FetchNext fetches the next lob chunk.

func (*LobInDescr) IsLastData added in v1.0.5

func (d *LobInDescr) IsLastData() bool

IsLastData returns true in case of last data package read, false otherwise.

func (*LobInDescr) String added in v0.107.3

func (d *LobInDescr) String() string

type LobReader added in v1.10.0

type LobReader interface {
	ReadLob(request *ReadLobRequest, reply *ReadLobReply) error
}

LobReader is the interface for reading lob streams.

type LobScanner added in v0.111.2

type LobScanner interface {
	Scan(w io.Writer) error
}

LobScanner is the interface wrapping the Scan method for Lob reading.

type LocatorID added in v0.107.3

type LocatorID uint64 // byte[locatorIdSize]

LocatorID represents a locotor id.

type MessageType added in v0.107.3

type MessageType int8

MessageType represents the message type.

const (
	MtExecuteDirect MessageType = 2
	MtPrepare       MessageType = 3

	MtExecute  MessageType = 13
	MtWriteLob MessageType = 16
	MtReadLob  MessageType = 17

	MtAuthenticate    MessageType = 65
	MtConnect         MessageType = 66
	MtCommit          MessageType = 67
	MtRollback        MessageType = 68
	MtCloseResultset  MessageType = 69
	MtDropStatementID MessageType = 70
	MtFetchNext       MessageType = 71

	MtDisconnect MessageType = 77

	MtDBConnectInfo MessageType = 82
)

MessageType constants.

func (MessageType) ClientInfoSupported added in v0.107.3

func (mt MessageType) ClientInfoSupported() bool

ClientInfoSupported returns true if message does support client info, false otherwise.

func (MessageType) String added in v0.107.3

func (i MessageType) String() string

type OutputParameters added in v0.107.3

type OutputParameters struct {
	OutputFields []*ParameterField
	FieldValues  []driver.Value
	DecodeErrors DecodeErrors
}

OutputParameters represents the set of output parameters.

func (*OutputParameters) String added in v0.107.3

func (p *OutputParameters) String() string

type ParameterField

type ParameterField struct {
	// contains filtered or unexported fields
}

ParameterField contains database field attributes for parameters.

func NewTableRowsParameterField added in v0.107.4

func NewTableRowsParameterField(idx int) *ParameterField

NewTableRowsParameterField returns a ParameterField representing table rows.

func (*ParameterField) Convert

func (f *ParameterField) Convert(v any, t transform.Transformer) (any, error)

Convert returns the result of the fieldType conversion.

func (*ParameterField) DatabaseTypeName added in v1.8.21

func (f *ParameterField) DatabaseTypeName() string

DatabaseTypeName returns the type name of the field. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) DecimalSize added in v1.8.21

func (f *ParameterField) DecimalSize() (int64, int64, bool)

DecimalSize returns the type precision and scale of the field. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) In

func (f *ParameterField) In() bool

In returns true if the parameter field is an input field. It implements the go-hdb driver ParameterType interface.

func (*ParameterField) InOut added in v0.109.0

func (f *ParameterField) InOut() bool

InOut returns true if the parameter field is an in,- output field. It implements the go-hdb driver ParameterType interface.

func (*ParameterField) IsLob added in v0.107.4

func (f *ParameterField) IsLob() bool

IsLob returns true if the ParameterField is of type lob, false otherwise.

func (*ParameterField) Length added in v1.8.21

func (f *ParameterField) Length() (int64, bool)

Length returns the type length of the field. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) Name added in v0.107.3

func (f *ParameterField) Name() string

Name returns the parameter field name. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) Nullable added in v0.107.3

func (f *ParameterField) Nullable() (bool, bool)

Nullable returns true if the field may be null, false otherwise. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) Out

func (f *ParameterField) Out() bool

Out returns true if the parameter field is an output field. It implements the go-hdb driver ParameterType interface.

func (*ParameterField) ScanType added in v0.107.3

func (f *ParameterField) ScanType() reflect.Type

ScanType returns the scan type of the field. It implements the go-hdb driver ColumnType interface.

func (*ParameterField) String

func (f *ParameterField) String() string

type ParameterMetadata added in v0.107.3

type ParameterMetadata struct {
	ParameterFields []*ParameterField
}

ParameterMetadata represents the metadata of a parameter.

func (*ParameterMetadata) String added in v0.107.3

func (m *ParameterMetadata) String() string

type ParameterMode added in v0.107.3

type ParameterMode int8

ParameterMode represents the parameter mode set.

func (ParameterMode) String added in v0.107.3

func (k ParameterMode) String() string

type Part added in v1.6.8

type Part interface {
	String() string // should support Stringer interface
	// contains filtered or unexported methods
}

Part represents a protocol part.

type PartAttributes added in v0.107.3

type PartAttributes int8

PartAttributes represents the part attributes.

func (PartAttributes) LastPacket added in v0.107.3

func (k PartAttributes) LastPacket() bool

LastPacket returns true if the last packet is sent, false otherwise.

func (PartAttributes) ResultsetClosed added in v0.107.3

func (k PartAttributes) ResultsetClosed() bool

ResultsetClosed returns true if the result set is closed, false otherwise.

func (PartAttributes) String added in v0.107.3

func (k PartAttributes) String() string

type PartEncoder added in v1.9.0

type PartEncoder interface {
	Part
	// contains filtered or unexported methods
}

PartEncoder represents a protocol part the driver is able to encode.

type PartKind added in v0.107.3

type PartKind int8

PartKind represents the part kind.

const (
	PkCommand   PartKind = 3
	PkResultset PartKind = 5

	PkStatementID PartKind = 10

	PkResultsetID         PartKind = 13
	PkTopologyInformation PartKind = 15

	PkReadLobRequest PartKind = 17
	PkReadLobReply   PartKind = 18

	PkWriteLobRequest PartKind = 28
	PkClientContext   PartKind = 29
	PkWriteLobReply   PartKind = 30
	PkParameters      PartKind = 32
	PkAuthentication  PartKind = 33

	PkClientID PartKind = 35

	PkStatementContext PartKind = 39

	PkOutputParameters PartKind = 41
	PkConnectOptions   PartKind = 42

	PkFetchSize         PartKind = 45
	PkParameterMetadata PartKind = 47
	PkResultMetadata    PartKind = 48

	PkClientInfo PartKind = 57

	PkTransactionFlags PartKind = 64

	PkDBConnectInfo PartKind = 67
)

PartKind constants.

func (PartKind) String added in v0.107.3

func (i PartKind) String() string

type ReadLobReply added in v0.107.3

type ReadLobReply struct {
	// contains filtered or unexported fields
}

ReadLobReply represents a lob read reply part.

func (ReadLobReply) Scan added in v1.8.26

func (d ReadLobReply) Scan(wr io.Writer) error

Scan implements the LobScanner interface.

func (*ReadLobReply) String added in v0.107.3

func (r *ReadLobReply) String() string

func (ReadLobReply) Write added in v1.8.21

func (d ReadLobReply) Write() (int, error)

type ReadLobRequest added in v0.107.3

type ReadLobRequest struct {
	// contains filtered or unexported fields
}

ReadLobRequest represents a lob read request part.

func (*ReadLobRequest) String added in v0.107.3

func (r *ReadLobRequest) String() string

type Reader added in v0.107.3

type Reader struct {
	// contains filtered or unexported fields
}

Reader represents a protocol reader.

func NewClientReader added in v1.2.0

func NewClientReader(dec *encoding.Decoder, protTrace bool, logger *slog.Logger, lobChunkSize int) *Reader

NewClientReader returns an instance of a client protocol reader.

func NewDBReader added in v1.2.0

func NewDBReader(dec *encoding.Decoder, protTrace bool, logger *slog.Logger, lobChunkSize int) *Reader

NewDBReader returns an instance of a database protocol reader.

func (*Reader) FunctionCode added in v0.107.3

func (r *Reader) FunctionCode() FunctionCode

FunctionCode returns the function code of the protocol.

func (*Reader) IterateParts added in v0.107.3

func (r *Reader) IterateParts(ctx context.Context, offset int, fn func(kind PartKind, attrs PartAttributes) error) (int64, error)

IterateParts iterates through all protocol parts.

func (*Reader) ReadPart added in v1.10.0

func (r *Reader) ReadPart(ctx context.Context, part Part, lobReader LobReader) (err error)

ReadPart reads a one protocol part.

func (*Reader) ReadProlog added in v0.107.3

func (r *Reader) ReadProlog(ctx context.Context) error

ReadProlog reads the protocol prolog.

func (*Reader) SessionID added in v0.107.3

func (r *Reader) SessionID() int64

SessionID returns the session ID.

func (*Reader) SkipParts added in v1.6.8

func (r *Reader) SkipParts(ctx context.Context) error

SkipParts reads and discards all protocol parts.

type ResultField added in v0.107.3

type ResultField struct {
	// contains filtered or unexported fields
}

ResultField represents a database result field.

func (*ResultField) DatabaseTypeName added in v1.8.21

func (f *ResultField) DatabaseTypeName() string

DatabaseTypeName returns the type name of the field. It implements the go-hdb driver ColumnType interface.

func (*ResultField) DecimalSize added in v1.8.21

func (f *ResultField) DecimalSize() (int64, int64, bool)

DecimalSize returns the type precision and scale of the field. It implements the go-hdb driver ColumnType interface.

func (*ResultField) Length added in v1.8.21

func (f *ResultField) Length() (int64, bool)

Length returns the type length of the field. It implements the go-hdb driver ColumnType interface.

func (*ResultField) Name added in v0.107.3

func (f *ResultField) Name() string

Name returns the result field name. It implements the go-hdb driver ColumnType interface.

func (*ResultField) Nullable added in v0.107.3

func (f *ResultField) Nullable() (bool, bool)

Nullable returns true if the field may be null, false otherwise. It implements the go-hdb driver ColumnType interface.

func (*ResultField) ScanType added in v0.107.3

func (f *ResultField) ScanType() reflect.Type

ScanType returns the scan type of the field. It implements the go-hdb driver ColumnType interface.

func (*ResultField) String added in v0.107.3

func (f *ResultField) String() string

String implements the Stringer interface.

type ResultMetadata added in v0.107.3

type ResultMetadata struct {
	ResultFields []*ResultField
}

ResultMetadata represents the metadata of a set of database result fields.

func (*ResultMetadata) String added in v0.107.3

func (r *ResultMetadata) String() string

type Resultset added in v0.107.3

type Resultset struct {
	ResultFields []*ResultField
	FieldValues  []driver.Value
	DecodeErrors DecodeErrors
}

Resultset represents a database result set.

func (*Resultset) String added in v0.107.3

func (r *Resultset) String() string

type ResultsetID added in v0.107.3

type ResultsetID uint64

ResultsetID represents a resultset id.

func (ResultsetID) String added in v0.107.3

func (id ResultsetID) String() string

type ServiceType added in v1.7.2

type ServiceType int32

ServiceType represents a service type.

const (
	StOther            ServiceType = 0
	StNameServer       ServiceType = 1
	StPreprocessor     ServiceType = 2
	StIndexServer      ServiceType = 3
	StStatisticsServer ServiceType = 4
	StXSEngine         ServiceType = 5
	StReserved6        ServiceType = 6
	StCompileServer    ServiceType = 7
	StDPServer         ServiceType = 8
	StDIServer         ServiceType = 9
	StComputeServer    ServiceType = 10
	StScriptServer     ServiceType = 11
)

Service type constants.

func (ServiceType) String added in v1.7.2

func (i ServiceType) String() string

type StatementID added in v0.107.3

type StatementID uint64

StatementID represents the statement id part type.

func (StatementID) String added in v0.107.3

func (id StatementID) String() string

type TopologyInformation added in v1.7.2

type TopologyInformation struct {
	// contains filtered or unexported fields
}

TopologyInformation represents a topology information part.

func (TopologyInformation) String added in v1.7.2

func (ti TopologyInformation) String() string

type WriteLobDescr added in v0.107.3

type WriteLobDescr struct {
	LobInDescr *LobInDescr
	ID         LocatorID
	// contains filtered or unexported fields
}

WriteLobDescr represents a lob descriptor for writes (lob -> db).

func (*WriteLobDescr) FetchNext added in v0.107.3

func (d *WriteLobDescr) FetchNext(chunkSize int) error

FetchNext fetches the next lob chunk.

func (*WriteLobDescr) IsLastData added in v1.8.21

func (d *WriteLobDescr) IsLastData() bool

IsLastData returns true in case of last data package read, false otherwise.

func (WriteLobDescr) String added in v0.107.3

func (d WriteLobDescr) String() string

type WriteLobReply added in v0.107.3

type WriteLobReply struct {
	// write lob fields to db (reply)
	// - returns ids which have not been written completely
	IDs []LocatorID
}

WriteLobReply represents a lob write reply part.

func (*WriteLobReply) String added in v0.107.3

func (r *WriteLobReply) String() string

type WriteLobRequest added in v0.107.3

type WriteLobRequest struct {
	Descrs []*WriteLobDescr
}

WriteLobRequest represents a lob write request part.

func (*WriteLobRequest) String added in v0.107.3

func (r *WriteLobRequest) String() string

type Writer added in v0.107.3

type Writer struct {
	// contains filtered or unexported fields
}

Writer represents a protocol writer.

func NewWriter added in v0.107.3

func NewWriter(wr *bufio.Writer, enc *encoding.Encoder, protTrace bool, logger *slog.Logger, sv map[string]string) *Writer

NewWriter returns an instance of a protocol writer.

func (*Writer) SetSessionID added in v1.10.0

func (w *Writer) SetSessionID(sessionID int64)

SetSessionID sets the session ID after a successful authentication.

func (*Writer) Write added in v0.107.3

func (w *Writer) Write(ctx context.Context, messageType MessageType, commit bool, parts ...PartEncoder) error

func (*Writer) WriteProlog added in v0.107.3

func (w *Writer) WriteProlog(ctx context.Context) error

WriteProlog writes the protocol prolog.

Directories

Path Synopsis
Package auth provides authentication methods.
Package auth provides authentication methods.
Package cache provides generic cache types.
Package cache provides generic cache types.
Package encoding implements hdb field type en,- and decodings.
Package encoding implements hdb field type en,- and decodings.
Package julian provided julian time conversion functions.
Package julian provided julian time conversion functions.
Package levenshtein includes the levenshtein distance algorithm plus additional helper functions.
Package levenshtein includes the levenshtein distance algorithm plus additional helper functions.

Jump to

Keyboard shortcuts

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