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
- Variables
- func IsSupportedDfv(dfv int) bool
- func RegisterScanType(dt DataType, scanType, scanNullType reflect.Type) bool
- func SupportedDfvs(defaultOnly bool) []int
- type AuthFinalReply
- type AuthFinalRequest
- type AuthHnd
- func (a *AuthHnd) AddBasic(username, password string)
- func (a *AuthHnd) AddJWT(token string)
- func (a *AuthHnd) AddSessionCookie(cookie []byte, logonname, clientID string)
- func (a *AuthHnd) AddX509(certKey *x509.CertKey)
- func (a *AuthHnd) FinalReply() (*AuthFinalReply, error)
- func (a *AuthHnd) FinalRequest() (*AuthFinalRequest, error)
- func (a *AuthHnd) InitReply() (*AuthInitReply, error)
- func (a *AuthHnd) InitRequest() (*AuthInitRequest, error)
- func (a *AuthHnd) Selected() auth.Method
- func (a *AuthHnd) String() string
- type AuthInitReply
- type AuthInitRequest
- type Cdm
- type ClientContext
- type ClientID
- type Command
- type ConnectOptions
- func (co *ConnectOptions) DataFormatVersion2OrZero() int
- func (co *ConnectOptions) DatabaseNameOrZero() string
- func (co *ConnectOptions) FullVersionOrZero() string
- func (co *ConnectOptions) SetClientDistributionMode(v Cdm)
- func (co *ConnectOptions) SetClientLocale(v string)
- func (co *ConnectOptions) SetDataFormatVersion2(v int)
- func (co *ConnectOptions) SetSelectForUpdateSupported(v bool)
- func (ops ConnectOptions) String() string
- type ConvertError
- type DBConnectInfo
- type DataType
- type DecodeError
- type DecodeErrors
- type Fetchsize
- type FieldTypeCtx
- type FunctionCode
- type HdbError
- func (e *HdbError) Code() int
- func (e *HdbError) Error() string
- func (e *HdbError) IsError() bool
- func (e *HdbError) IsFatal() bool
- func (e *HdbError) IsWarning() bool
- func (e *HdbError) Level() int
- func (e *HdbError) Position() int
- func (e *HdbError) StmtNo() int
- func (e *HdbError) String() string
- func (e *HdbError) Text() string
- type HdbErrors
- type InputParameters
- type LobDecoderSetter
- type LobInDescr
- type LobOptions
- type LobOutDescr
- type LobScanner
- type LocatorID
- type MessageType
- type OutputParameters
- type ParameterField
- func (f *ParameterField) Convert(t transform.Transformer, v any) (any, error)
- func (f *ParameterField) In() bool
- func (f *ParameterField) InOut() bool
- func (f *ParameterField) IsLob() bool
- func (f *ParameterField) Name() string
- func (f *ParameterField) Nullable() bool
- func (f *ParameterField) Out() bool
- func (f *ParameterField) ScanType() reflect.Type
- func (f *ParameterField) String() string
- func (f *ParameterField) TypeLength() (int64, bool)
- func (f *ParameterField) TypeName() string
- func (f *ParameterField) TypePrecisionScale() (int64, int64, bool)
- type ParameterMetadata
- type ParameterMode
- type Part
- type PartAttributes
- type PartKind
- type ReadLobReply
- type ReadLobRequest
- type ReadProvider
- type Reader
- type ResultField
- func (f *ResultField) Name() string
- func (f *ResultField) Nullable() bool
- func (f *ResultField) ScanType() reflect.Type
- func (f *ResultField) String() string
- func (f *ResultField) TypeLength() (int64, bool)
- func (f *ResultField) TypeName() string
- func (f *ResultField) TypePrecisionScale() (int64, int64, bool)
- type ResultMetadata
- type Resultset
- type ResultsetID
- type RowsAffected
- type ServiceType
- type StatementID
- type TopologyInformation
- type WritablePart
- type WriteLobDescr
- type WriteLobReply
- type WriteLobRequest
- type Writer
Constants ¶
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.
const ( HdbErrAuthenticationFailed = 10 HdbErrWhileParsingProtocol = 1033 )
HANA Database errors.
const MaxNumArg = math.MaxInt32
MaxNumArg is the maximum number of arguments allowed to send in a part.
const (
RaExecutionFailed = -3
)
rows affected.
const ( // TcTableRows is the TypeCode for table rows. TcTableRows typeCode = 0x7f // 127 )
Variables ¶
var ErrDecimalOutOfRange = errors.New("decimal out of range error")
ErrDecimalOutOfRange means that a big.Rat exceeds the size of hdb decimal fields.
var ErrFloatOutOfRange = errors.New("float out of range error")
ErrFloatOutOfRange means that a float exceeds the size of the hdb float field.
var ErrIntegerOutOfRange = errors.New("integer out of range error")
ErrIntegerOutOfRange means that an integer exceeds the size of the hdb integer field.
var ErrUint64OutOfRange = errors.New("uint64 values with high bit set are not supported")
ErrUint64OutOfRange means that a uint64 exceeds the size of a int64.
Functions ¶
func IsSupportedDfv ¶ added in v0.107.0
IsSupportedDfv returns true if the data format version dfv is supported by the driver, false otherwise.
func RegisterScanType ¶
RegisterScanType registers driver owned datatype scantypes (e.g. Decimal, Lob).
func SupportedDfvs ¶ added in v0.107.0
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
NewAuthHnd creates a new AuthHnd instance.
func (*AuthHnd) AddSessionCookie ¶ added in v0.112.3
AddSessionCookie adds session cookie 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.
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.
ConnectOption ClientDistributionMode constants.
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.
type Command ¶ added in v0.107.3
type Command []byte
Command represents a command part with cesu8 content.
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.
type ConvertError ¶
type ConvertError struct {
// contains filtered or unexported fields
}
A ConvertError is returned by conversion methods if a go datatype to hdb datatype conversion fails.
func (*ConvertError) Error ¶
func (e *ConvertError) Error() string
func (*ConvertError) Unwrap ¶
func (e *ConvertError) Unwrap() error
Unwrap returns the nested error.
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.
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.
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
type DecodeErrors ¶ added in v0.107.3
type DecodeErrors []*DecodeError
DecodeErrors represents a list of decoding errors.
func (DecodeErrors) RowError ¶ added in v0.107.3
func (errors DecodeErrors) RowError(row int) error
RowError returns an error if one is assigned to a row, nil otherwise.
type FieldTypeCtx ¶ added in v1.1.7
type FieldTypeCtx struct {
// contains filtered or unexported fields
}
FieldTypeCtx represents a field type context for creating field types.
func NewFieldTypeCtx ¶ added in v1.1.7
func NewFieldTypeCtx(dfv int, emptyDateAsNull bool) *FieldTypeCtx
NewFieldTypeCtx returns a new field type context instance.
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.
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.
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 LobDecoderSetter ¶ added in v0.111.2
type LobDecoderSetter interface {
SetDecoder(fn func(descr *LobOutDescr, wr io.Writer) error)
}
LobDecoderSetter is the interface wrapping the setDecoder method for Lob reading.
type LobInDescr ¶ added in v0.107.3
type LobInDescr struct { Opt LobOptions // 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) String ¶ added in v0.107.3
func (d *LobInDescr) String() string
type LobOptions ¶ added in v0.107.3
type LobOptions int8
LobOptions represents a lob option set.
func (LobOptions) IsLastData ¶ added in v0.107.3
func (o LobOptions) IsLastData() bool
IsLastData return true if the last data package was read, false otherwise.
func (LobOptions) String ¶ added in v0.107.3
func (o LobOptions) String() string
type LobOutDescr ¶ added in v0.107.3
type LobOutDescr struct { IsCharBased bool Opt LobOptions NumChar int64 ID LocatorID B []byte // contains filtered or unexported fields }
LobOutDescr represents a lob output descriptor.
func (*LobOutDescr) Scan ¶ added in v0.111.2
func (d *LobOutDescr) Scan(wr io.Writer) error
Scan implements the LobScanner interface.
func (*LobOutDescr) SetDecoder ¶ added in v0.111.2
func (d *LobOutDescr) SetDecoder(decoder func(descr *LobOutDescr, wr io.Writer) error)
SetDecoder implements the LobDecoderSetter interface.
func (*LobOutDescr) String ¶ added in v0.107.3
func (d *LobOutDescr) String() string
type LobScanner ¶ added in v0.111.2
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(t transform.Transformer, v any) (any, error)
Convert returns the result of the fieldType conversion.
func (*ParameterField) In ¶
func (f *ParameterField) In() bool
In returns true if the parameter field is an input field.
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.
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) Name ¶ added in v0.107.3
func (f *ParameterField) Name() string
Name returns the parameter field name.
func (*ParameterField) Nullable ¶ added in v0.107.3
func (f *ParameterField) Nullable() bool
Nullable returns true if the field may be null, false otherwise. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeNullable
func (*ParameterField) Out ¶
func (f *ParameterField) Out() bool
Out returns true if the parameter field is an output field.
func (*ParameterField) ScanType ¶ added in v0.107.3
func (f *ParameterField) ScanType() reflect.Type
ScanType returns the scan type of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeScanType
func (*ParameterField) String ¶
func (f *ParameterField) String() string
func (*ParameterField) TypeLength ¶ added in v0.107.3
func (f *ParameterField) TypeLength() (int64, bool)
TypeLength returns the type length of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeLength
func (*ParameterField) TypeName ¶ added in v0.107.3
func (f *ParameterField) TypeName() string
TypeName returns the type name of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeDatabaseTypeName
func (*ParameterField) TypePrecisionScale ¶ added in v0.107.3
func (f *ParameterField) TypePrecisionScale() (int64, int64, bool)
TypePrecisionScale returns the type precision and scale (decimal types) of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypePrecisionScale
type ParameterMetadata ¶ added in v0.107.3
type ParameterMetadata struct { FieldTypeCtx *FieldTypeCtx 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.
const ( PmIn ParameterMode = 0x01 PmOut ParameterMode = 0x04 )
ParameterMode constants.
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 PartKind ¶ added in v0.107.3
type PartKind int8
PartKind represents the part kind.
const ( PkCommand PartKind = 3 PkResultset PartKind = 5 PkError PartKind = 6 PkStatementID PartKind = 10 PkRowsAffected PartKind = 12 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.
type ReadLobReply ¶ added in v0.107.3
type ReadLobReply struct { ID LocatorID Opt LobOptions B []byte }
ReadLobReply represents a lob read reply part.
func (*ReadLobReply) String ¶ added in v0.107.3
func (r *ReadLobReply) String() string
type ReadLobRequest ¶ added in v0.107.3
type ReadLobRequest struct { /* read lobs: - read lob field from database in chunks - loop: - readLobRequest - readLobReply - read lob reply seems like readLobreply returns only a result for one lob - even if more then one is requested --> read single lobs */ ID LocatorID Ofs int64 ChunkSize int32 }
ReadLobRequest represents a lob read request part.
func (*ReadLobRequest) String ¶ added in v0.107.3
func (r *ReadLobRequest) String() string
type ReadProvider ¶
ReadProvider is the interface wrapping the Reader which provides an io.Reader.
type Reader ¶ added in v0.107.3
type Reader struct { // ReadProlog reads the protocol prolog. ReadProlog func(ctx context.Context) error // contains filtered or unexported fields }
Reader represents a protocol reader.
func NewClientReader ¶ added in v1.2.0
func NewClientReader(rd io.Reader, protTrace bool, logger *slog.Logger, decoder func() transform.Transformer) *Reader
NewClientReader returns an instance of a client protocol reader.
func NewDBReader ¶ added in v1.2.0
func NewDBReader(rd io.Reader, protTrace bool, logger *slog.Logger, decoder func() transform.Transformer) *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, fn func(kind PartKind, attrs PartAttributes, read func(part Part) error) error) error
IterateParts iterates through 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) Name ¶ added in v0.107.3
func (f *ResultField) Name() string
Name returns the result field name.
func (*ResultField) Nullable ¶ added in v0.107.3
func (f *ResultField) Nullable() bool
Nullable returns true if the field may be null, false otherwise. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeNullable
func (*ResultField) ScanType ¶ added in v0.107.3
func (f *ResultField) ScanType() reflect.Type
ScanType returns the scan type of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeScanType
func (*ResultField) String ¶ added in v0.107.3
func (f *ResultField) String() string
String implements the Stringer interface.
func (*ResultField) TypeLength ¶ added in v0.107.3
func (f *ResultField) TypeLength() (int64, bool)
TypeLength returns the type length of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeLength
func (*ResultField) TypeName ¶ added in v0.107.3
func (f *ResultField) TypeName() string
TypeName returns the type name of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypeDatabaseTypeName
func (*ResultField) TypePrecisionScale ¶ added in v0.107.3
func (f *ResultField) TypePrecisionScale() (int64, int64, bool)
TypePrecisionScale returns the type precision and scale (decimal types) of the field. see https://golang.org/pkg/database/sql/driver/#RowsColumnTypePrecisionScale
type ResultMetadata ¶ added in v0.107.3
type ResultMetadata struct { FieldTypeCtx *FieldTypeCtx 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.
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 RowsAffected ¶ added in v0.107.3
type RowsAffected struct { Ofs int // contains filtered or unexported fields }
RowsAffected represents a rows affected part.
func (RowsAffected) String ¶ added in v0.107.3
func (r RowsAffected) String() string
func (RowsAffected) Total ¶ added in v0.107.3
func (r RowsAffected) Total() int64
Total return the total number of all affected rows.
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 WritablePart ¶ added in v1.6.8
type WritablePart interface { Part // contains filtered or unexported methods }
WritablePart represents a protocol part the driver is able to write.
type WriteLobDescr ¶ added in v0.107.3
type WriteLobDescr struct { LobInDescr *LobInDescr ID LocatorID Opt LobOptions // 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) 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, protTrace bool, logger *slog.Logger, encoder func() transform.Transformer, sv map[string]string) *Writer
NewWriter returns an instance of a protocol writer.
func (*Writer) Write ¶ added in v0.107.3
func (w *Writer) Write(ctx context.Context, sessionID int64, messageType MessageType, commit bool, parts ...WritablePart) error
Source Files ¶
- auth.go
- convert.go
- datatype.go
- decodeerror.go
- dfv.go
- doc.go
- error.go
- fieldnames.go
- fieldtype.go
- functioncode.go
- headers.go
- init.go
- keyvaluesparts.go
- lob.go
- messagetype.go
- optionsparts.go
- optiontype.go
- parameter.go
- partkind.go
- parts.go
- protocol.go
- resizeslice.go
- result.go
- rowsaffected.go
- simpleparts.go
- typecode.go
- x_generator.go
- x_stringer.go
Directories ¶
Path | Synopsis |
---|---|
Package auth provides authentication methods.
|
Package auth provides authentication methods. |
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. |
Package x509 provides X509 certificate methods.
|
Package x509 provides X509 certificate methods. |