message

package
v0.0.0-...-5e8aad0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2022 License: Apache-2.0 Imports: 6 Imported by: 15

Documentation

Overview

Package message contains interfaces, types and functions to read and write CQL protocol messages, as defined in section 4 of the CQL protocol specifications.

Index

Constants

View Source
const (

	// StartupOptionCqlVersion is the version of CQL to use. This option is mandatory and currently the only version
	// supported is "3.0.0". Note that this is different from the protocol version.
	StartupOptionCqlVersion = "CQL_VERSION"

	// StartupOptionCompression is the compression algorithm to use.
	StartupOptionCompression = "COMPRESSION"

	StartupOptionClientId           = "CLIENT_ID"
	StartupOptionApplicationName    = "APPLICATION_NAME"
	StartupOptionApplicationVersion = "APPLICATION_VERSION"

	// StartupOptionDriverName allows clients to supply a free-form label representing the driver implementation.
	// This is displayed in the output of `nodetool clientstats`.
	StartupOptionDriverName = "DRIVER_NAME"

	// StartupOptionDriverVersion allows clients to supply a free-form label representing the driver version. This is
	// displayed in the output of `nodetool clientstats`.
	StartupOptionDriverVersion = "DRIVER_VERSION"

	// StartupOptionThrowOnOverload specifies server behaviour where the incoming message rate is too high.
	// A [string] value of "1" instructs the server to respond with an Error when its resources are exhausted.
	// Any other value, or if the key is not present, and the server will apply backpressure to the connection until it
	// has cleared its backlog of inbound messages.
	StartupOptionThrowOnOverload = "THROW_ON_OVERLOAD"
)
View Source
const (
	// SupportedProtocolVersions is a Supported.Options multimap key returned by Cassandra from protocol v5 onwards.
	// It holds the list of native protocol versions that are supported, encoded as the version number followed by a
	// slash and the version description. For example: 3/v3, 4/v4, 5/v5-beta. If a version is in beta, it will have the
	// word "beta" in its description.
	SupportedProtocolVersions = "PROTOCOL_VERSIONS"
)

Variables

View Source
var DefaultMessageCodecs = []Codec{
	&startupCodec{},
	&optionsCodec{},
	&queryCodec{},
	&prepareCodec{},
	&executeCodec{},
	&registerCodec{},
	&batchCodec{},
	&authResponseCodec{},
	&errorCodec{},
	&readyCodec{},
	&authenticateCodec{},
	&supportedCodec{},
	&resultCodec{},
	&eventCodec{},
	&authChallengeCodec{},
	&authSuccessCodec{},

	&reviseCodec{},
}

Functions

func EncodeContinuousPagingOptions

func EncodeContinuousPagingOptions(options *ContinuousPagingOptions, dest io.Writer, version primitive.ProtocolVersion) (err error)

func EncodeQueryOptions

func EncodeQueryOptions(options *QueryOptions, dest io.Writer, version primitive.ProtocolVersion) (err error)

func LengthOfContinuousPagingOptions

func LengthOfContinuousPagingOptions(_ *ContinuousPagingOptions, version primitive.ProtocolVersion) (length int, err error)

func LengthOfQueryOptions

func LengthOfQueryOptions(options *QueryOptions, version primitive.ProtocolVersion) (length int, err error)

Types

type AlreadyExists

type AlreadyExists struct {
	ErrorMessage string
	Keyspace     string
	Table        string
}

AlreadyExists is an error response sent when the creation of a schema object fails because the object already exists. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*AlreadyExists) DeepCopy

func (in *AlreadyExists) DeepCopy() *AlreadyExists

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlreadyExists.

func (*AlreadyExists) DeepCopyInto

func (in *AlreadyExists) DeepCopyInto(out *AlreadyExists)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AlreadyExists) DeepCopyMessage

func (in *AlreadyExists) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*AlreadyExists) GetErrorCode

func (m *AlreadyExists) GetErrorCode() primitive.ErrorCode

func (*AlreadyExists) GetErrorMessage

func (m *AlreadyExists) GetErrorMessage() string

func (*AlreadyExists) GetOpCode

func (m *AlreadyExists) GetOpCode() primitive.OpCode

func (*AlreadyExists) IsResponse

func (m *AlreadyExists) IsResponse() bool

func (*AlreadyExists) String

func (m *AlreadyExists) String() string

type AuthChallenge

type AuthChallenge struct {
	Token []byte
}

AuthChallenge is a response sent in reply to an AuthResponse request, when the server requires additional authentication data. It must be followed by an AuthResponse request message. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*AuthChallenge) DeepCopy

func (in *AuthChallenge) DeepCopy() *AuthChallenge

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthChallenge.

func (*AuthChallenge) DeepCopyInto

func (in *AuthChallenge) DeepCopyInto(out *AuthChallenge)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AuthChallenge) DeepCopyMessage

func (in *AuthChallenge) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*AuthChallenge) GetOpCode

func (m *AuthChallenge) GetOpCode() primitive.OpCode

func (*AuthChallenge) IsResponse

func (m *AuthChallenge) IsResponse() bool

func (*AuthChallenge) String

func (m *AuthChallenge) String() string

type AuthResponse

type AuthResponse struct {

	// Token is a protocol [bytes]; the details of what this token contains (and when it can be null/empty, if ever)
	// depends on the actual authenticator used.
	Token []byte
}

AuthResponse is a request message sent in reply to an Authenticate or AuthChallenge response, and contains the authentication data requested by the server. The server will then reply with either an AuthSuccess response message, or with an AuthChallenge response message, if it requires additional authentication data. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*AuthResponse) DeepCopy

func (in *AuthResponse) DeepCopy() *AuthResponse

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthResponse.

func (*AuthResponse) DeepCopyInto

func (in *AuthResponse) DeepCopyInto(out *AuthResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AuthResponse) DeepCopyMessage

func (in *AuthResponse) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*AuthResponse) GetOpCode

func (m *AuthResponse) GetOpCode() primitive.OpCode

func (*AuthResponse) IsResponse

func (m *AuthResponse) IsResponse() bool

func (*AuthResponse) String

func (m *AuthResponse) String() string

type AuthSuccess

type AuthSuccess struct {
	Token []byte
}

AuthSuccess is a response message sent in reply to an AuthResponse request, to indicate that the authentication was successful. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*AuthSuccess) DeepCopy

func (in *AuthSuccess) DeepCopy() *AuthSuccess

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthSuccess.

func (*AuthSuccess) DeepCopyInto

func (in *AuthSuccess) DeepCopyInto(out *AuthSuccess)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AuthSuccess) DeepCopyMessage

func (in *AuthSuccess) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*AuthSuccess) GetOpCode

func (m *AuthSuccess) GetOpCode() primitive.OpCode

func (*AuthSuccess) IsResponse

func (m *AuthSuccess) IsResponse() bool

func (*AuthSuccess) String

func (m *AuthSuccess) String() string

type Authenticate

type Authenticate struct {
	Authenticator string
}

Authenticate is a response sent in reply to a Startup request when the server requires authentication. It must be followed by an AuthResponse request message. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Authenticate) DeepCopy

func (in *Authenticate) DeepCopy() *Authenticate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authenticate.

func (*Authenticate) DeepCopyInto

func (in *Authenticate) DeepCopyInto(out *Authenticate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Authenticate) DeepCopyMessage

func (in *Authenticate) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Authenticate) GetOpCode

func (m *Authenticate) GetOpCode() primitive.OpCode

func (*Authenticate) IsResponse

func (m *Authenticate) IsResponse() bool

func (*Authenticate) String

func (m *Authenticate) String() string

type AuthenticationError

type AuthenticationError struct {
	ErrorMessage string
}

AuthenticationError is an authentication error response. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*AuthenticationError) DeepCopy

func (in *AuthenticationError) DeepCopy() *AuthenticationError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationError.

func (*AuthenticationError) DeepCopyInto

func (in *AuthenticationError) DeepCopyInto(out *AuthenticationError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AuthenticationError) DeepCopyMessage

func (in *AuthenticationError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*AuthenticationError) GetErrorCode

func (m *AuthenticationError) GetErrorCode() primitive.ErrorCode

func (*AuthenticationError) GetErrorMessage

func (m *AuthenticationError) GetErrorMessage() string

func (*AuthenticationError) GetOpCode

func (m *AuthenticationError) GetOpCode() primitive.OpCode

func (*AuthenticationError) IsResponse

func (m *AuthenticationError) IsResponse() bool

func (*AuthenticationError) String

func (m *AuthenticationError) String() string

type Batch

type Batch struct {
	// The batch type: LOGGED, UNLOGGED or COUNTER. This field is mandatory; its default is LOGGED, as the zero value
	// of primitive.BatchType is primitive.BatchTypeLogged. The LOGGED type is equivalent to a regular CQL3 batch
	// statement CREATE BATCH ... APPLY BATCH.
	Type primitive.BatchType
	// This batch children statements. At least one batch child must be provided.
	Children []*BatchChild
	// The consistency level to use to execute the batch statements. This field is mandatory; its default is ANY, as the
	// zero value of primitive.ConsistencyLevel is primitive.ConsistencyLevelAny.
	Consistency primitive.ConsistencyLevel
	// The (optional) serial consistency level to use when executing the query. Serial consistency is available
	// starting with protocol version 3.
	SerialConsistency *primitive.ConsistencyLevel
	// The default timestamp for the query in microseconds (negative values are discouraged but supported for
	// backward compatibility reasons except for the smallest negative value (-2^63) that is forbidden). If provided,
	// this will replace the server-side assigned timestamp as default timestamp. Note that a timestamp in the query
	// itself (that is, if the query has a USING TIMESTAMP clause) will still override this timestamp.
	// Default timestamps are valid for protocol versions 3 and higher.
	DefaultTimestamp *int64
	// The keyspace in which to execute queries, when the target table name is not qualified. Optional. Introduced in
	// Protocol Version 5, also present in DSE protocol v2.
	Keyspace string
	// Introduced in Protocol Version 5, not present in DSE protocol versions.
	NowInSeconds *int32
}

Batch is a BATCH request message. The zero value is NOT a valid message; at least one batch child must be provided. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Batch) DeepCopy

func (in *Batch) DeepCopy() *Batch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Batch.

func (*Batch) DeepCopyInto

func (in *Batch) DeepCopyInto(out *Batch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Batch) DeepCopyMessage

func (in *Batch) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Batch) Flags

func (m *Batch) Flags() primitive.QueryFlag

Flags are the flags of this BATCH message. BATCH messages have flags starting with protocol version 3.

func (*Batch) GetOpCode

func (m *Batch) GetOpCode() primitive.OpCode

func (*Batch) IsResponse

func (m *Batch) IsResponse() bool

func (*Batch) String

func (m *Batch) String() string

type BatchChild

type BatchChild struct {
	// The CQL statement to execute. Exactly one of Query or Id must be present, never both.
	Query string
	// The prepared id of the statement to execute. Exactly one of Query or Id must be present, never both.
	Id []byte
	// Note: named values are in theory possible, but their server-side implementation is
	// broken. See https://issues.apache.org/jira/browse/CASSANDRA-10246
	Values []*primitive.Value
}

BatchChild represents a BATCH child statement. +k8s:deepcopy-gen=true

func (*BatchChild) DeepCopy

func (in *BatchChild) DeepCopy() *BatchChild

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchChild.

func (*BatchChild) DeepCopyInto

func (in *BatchChild) DeepCopyInto(out *BatchChild)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Codec

type Codec interface {
	Encoder
	Decoder
	GetOpCode() primitive.OpCode
}

type Column

type Column = []byte

type ColumnMetadata

type ColumnMetadata struct {
	Keyspace string
	Table    string
	Name     string
	Index    int32
	Type     datatype.DataType
}

ColumnMetadata represents a column in a PreparedResult message. +k8s:deepcopy-gen=true

func (*ColumnMetadata) DeepCopy

func (in *ColumnMetadata) DeepCopy() *ColumnMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColumnMetadata.

func (*ColumnMetadata) DeepCopyInto

func (in *ColumnMetadata) DeepCopyInto(out *ColumnMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigError

type ConfigError struct {
	ErrorMessage string
}

ConfigError is an error response sent when the query cannot be executed due to some configuration issue. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*ConfigError) DeepCopy

func (in *ConfigError) DeepCopy() *ConfigError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigError.

func (*ConfigError) DeepCopyInto

func (in *ConfigError) DeepCopyInto(out *ConfigError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConfigError) DeepCopyMessage

func (in *ConfigError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*ConfigError) GetErrorCode

func (m *ConfigError) GetErrorCode() primitive.ErrorCode

func (*ConfigError) GetErrorMessage

func (m *ConfigError) GetErrorMessage() string

func (*ConfigError) GetOpCode

func (m *ConfigError) GetOpCode() primitive.OpCode

func (*ConfigError) IsResponse

func (m *ConfigError) IsResponse() bool

func (*ConfigError) String

func (m *ConfigError) String() string

type ContinuousPagingOptions

type ContinuousPagingOptions struct {
	// The maximum number of pages that the server will send to the client in total, or zero to indicate no limit.
	// Valid for both DSE v1 and v2.
	MaxPages int32
	// The maximum number of pages per second, or zero to indicate no limit.
	// Valid for both DSE v1 and v2.
	PagesPerSecond int32
	// The number of pages that the client is ready to receive, or zero to indicate no limit.
	// Valid for DSE v2 only.
	// See Revise.
	NextPages int32
}

ContinuousPagingOptions holds options for DSE continuous paging feature. Valid for QUERY and EXECUTE messages. See QueryOptions. +k8s:deepcopy-gen=true

func DecodeContinuousPagingOptions

func DecodeContinuousPagingOptions(source io.Reader, version primitive.ProtocolVersion) (options *ContinuousPagingOptions, err error)

func (*ContinuousPagingOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContinuousPagingOptions.

func (*ContinuousPagingOptions) DeepCopyInto

func (in *ContinuousPagingOptions) DeepCopyInto(out *ContinuousPagingOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Decoder

type Decoder interface {
	Decode(source io.Reader, version primitive.ProtocolVersion) (Message, error)
}

type Encoder

type Encoder interface {
	Encode(msg Message, dest io.Writer, version primitive.ProtocolVersion) error
	EncodedLength(msg Message, version primitive.ProtocolVersion) (int, error)
}

type Error

type Error interface {
	Message
	GetErrorCode() primitive.ErrorCode
	GetErrorMessage() string
}

type Event

type Event interface {
	Message
	GetEventType() primitive.EventType
}

type Execute

type Execute struct {
	// QueryId is the prepared query id to execute.
	QueryId []byte
	// the ID of the result set metadata that was sent along with response to PREPARE message.
	// Valid in protocol version 5 and DSE protocol version 2. See PreparedResult.
	ResultMetadataId []byte
	Options          *QueryOptions
}

Execute is a request message that executes a prepared statement, identified by its prepared query id. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Execute) DeepCopy

func (in *Execute) DeepCopy() *Execute

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Execute.

func (*Execute) DeepCopyInto

func (in *Execute) DeepCopyInto(out *Execute)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Execute) DeepCopyMessage

func (in *Execute) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Execute) GetOpCode

func (m *Execute) GetOpCode() primitive.OpCode

func (*Execute) IsResponse

func (m *Execute) IsResponse() bool

func (*Execute) String

func (m *Execute) String() string

type FunctionFailure

type FunctionFailure struct {
	ErrorMessage string
	Keyspace     string
	Function     string
	Arguments    []string
}

FunctionFailure is an error response sent when the coordinator receives an error from a replica while executing a function. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*FunctionFailure) DeepCopy

func (in *FunctionFailure) DeepCopy() *FunctionFailure

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionFailure.

func (*FunctionFailure) DeepCopyInto

func (in *FunctionFailure) DeepCopyInto(out *FunctionFailure)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FunctionFailure) DeepCopyMessage

func (in *FunctionFailure) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*FunctionFailure) GetErrorCode

func (m *FunctionFailure) GetErrorCode() primitive.ErrorCode

func (*FunctionFailure) GetErrorMessage

func (m *FunctionFailure) GetErrorMessage() string

func (*FunctionFailure) GetOpCode

func (m *FunctionFailure) GetOpCode() primitive.OpCode

func (*FunctionFailure) IsResponse

func (m *FunctionFailure) IsResponse() bool

func (*FunctionFailure) String

func (m *FunctionFailure) String() string

type Invalid

type Invalid struct {
	ErrorMessage string
}

Invalid is an error response sent when the query is syntactically correct but invalid. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Invalid) DeepCopy

func (in *Invalid) DeepCopy() *Invalid

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Invalid.

func (*Invalid) DeepCopyInto

func (in *Invalid) DeepCopyInto(out *Invalid)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Invalid) DeepCopyMessage

func (in *Invalid) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Invalid) GetErrorCode

func (m *Invalid) GetErrorCode() primitive.ErrorCode

func (*Invalid) GetErrorMessage

func (m *Invalid) GetErrorMessage() string

func (*Invalid) GetOpCode

func (m *Invalid) GetOpCode() primitive.OpCode

func (*Invalid) IsResponse

func (m *Invalid) IsResponse() bool

func (*Invalid) String

func (m *Invalid) String() string

type IsBootstrapping

type IsBootstrapping struct {
	ErrorMessage string
}

IsBootstrapping is an error response sent when the coordinator is bootstrapping. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*IsBootstrapping) DeepCopy

func (in *IsBootstrapping) DeepCopy() *IsBootstrapping

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsBootstrapping.

func (*IsBootstrapping) DeepCopyInto

func (in *IsBootstrapping) DeepCopyInto(out *IsBootstrapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IsBootstrapping) DeepCopyMessage

func (in *IsBootstrapping) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*IsBootstrapping) GetErrorCode

func (m *IsBootstrapping) GetErrorCode() primitive.ErrorCode

func (*IsBootstrapping) GetErrorMessage

func (m *IsBootstrapping) GetErrorMessage() string

func (*IsBootstrapping) GetOpCode

func (m *IsBootstrapping) GetOpCode() primitive.OpCode

func (*IsBootstrapping) IsResponse

func (m *IsBootstrapping) IsResponse() bool

func (*IsBootstrapping) String

func (m *IsBootstrapping) String() string

type Message

type Message interface {
	IsResponse() bool
	GetOpCode() primitive.OpCode
	DeepCopyMessage() Message
}

type Options

type Options struct {
}

Options is a request message to obtain supported features from the server. The response to such a request is Supported. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Options) DeepCopy

func (in *Options) DeepCopy() *Options

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.

func (*Options) DeepCopyInto

func (in *Options) DeepCopyInto(out *Options)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Options) DeepCopyMessage

func (in *Options) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Options) GetOpCode

func (m *Options) GetOpCode() primitive.OpCode

func (*Options) IsResponse

func (m *Options) IsResponse() bool

func (*Options) String

func (m *Options) String() string

type Overloaded

type Overloaded struct {
	ErrorMessage string
}

Overloaded is an error response sent when the coordinator is overloaded. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Overloaded) DeepCopy

func (in *Overloaded) DeepCopy() *Overloaded

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overloaded.

func (*Overloaded) DeepCopyInto

func (in *Overloaded) DeepCopyInto(out *Overloaded)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Overloaded) DeepCopyMessage

func (in *Overloaded) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Overloaded) GetErrorCode

func (m *Overloaded) GetErrorCode() primitive.ErrorCode

func (*Overloaded) GetErrorMessage

func (m *Overloaded) GetErrorMessage() string

func (*Overloaded) GetOpCode

func (m *Overloaded) GetOpCode() primitive.OpCode

func (*Overloaded) IsResponse

func (m *Overloaded) IsResponse() bool

func (*Overloaded) String

func (m *Overloaded) String() string

type Prepare

type Prepare struct {
	// The CQL query to prepare.
	Query string
	// The keyspace that the query should be executed in.
	// Introduced in Protocol Version 5, also present in DSE protocol v2.
	Keyspace string
}

Prepare is a request to prepare a CQL statement. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Prepare) DeepCopy

func (in *Prepare) DeepCopy() *Prepare

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prepare.

func (*Prepare) DeepCopyInto

func (in *Prepare) DeepCopyInto(out *Prepare)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Prepare) DeepCopyMessage

func (in *Prepare) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Prepare) Flags

func (m *Prepare) Flags() primitive.PrepareFlag

func (*Prepare) GetOpCode

func (m *Prepare) GetOpCode() primitive.OpCode

func (*Prepare) IsResponse

func (m *Prepare) IsResponse() bool

func (*Prepare) String

func (m *Prepare) String() string

type PreparedResult

type PreparedResult struct {
	PreparedQueryId []byte
	// The result set metadata id; valid for protocol version 5, if the prepared statement is a SELECT. Also valid in DSE v2. See Execute.
	ResultMetadataId []byte
	// Reflects the prepared statement's bound variables, if any, or empty (but not nil) if there are no bound variables.
	VariablesMetadata *VariablesMetadata
	// When the prepared statement is a SELECT, reflects the result set columns; empty (but not nil) otherwise.
	ResultMetadata *RowsMetadata
}

PreparedResult is a response message sent in reply to a Prepare request. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*PreparedResult) DeepCopy

func (in *PreparedResult) DeepCopy() *PreparedResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreparedResult.

func (*PreparedResult) DeepCopyInto

func (in *PreparedResult) DeepCopyInto(out *PreparedResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PreparedResult) DeepCopyMessage

func (in *PreparedResult) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*PreparedResult) GetOpCode

func (m *PreparedResult) GetOpCode() primitive.OpCode

func (*PreparedResult) GetResultType

func (m *PreparedResult) GetResultType() primitive.ResultType

func (*PreparedResult) IsResponse

func (m *PreparedResult) IsResponse() bool

func (*PreparedResult) String

func (m *PreparedResult) String() string

type ProtocolError

type ProtocolError struct {
	ErrorMessage string
}

ProtocolError is a protocol error response. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*ProtocolError) DeepCopy

func (in *ProtocolError) DeepCopy() *ProtocolError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtocolError.

func (*ProtocolError) DeepCopyInto

func (in *ProtocolError) DeepCopyInto(out *ProtocolError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProtocolError) DeepCopyMessage

func (in *ProtocolError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*ProtocolError) GetErrorCode

func (m *ProtocolError) GetErrorCode() primitive.ErrorCode

func (*ProtocolError) GetErrorMessage

func (m *ProtocolError) GetErrorMessage() string

func (*ProtocolError) GetOpCode

func (m *ProtocolError) GetOpCode() primitive.OpCode

func (*ProtocolError) IsResponse

func (m *ProtocolError) IsResponse() bool

func (*ProtocolError) String

func (m *ProtocolError) String() string

type Query

type Query struct {
	Query   string
	Options *QueryOptions
}

Query is a request that executes a CQL query. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Query) DeepCopy

func (in *Query) DeepCopy() *Query

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Query.

func (*Query) DeepCopyInto

func (in *Query) DeepCopyInto(out *Query)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Query) DeepCopyMessage

func (in *Query) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Query) GetOpCode

func (q *Query) GetOpCode() primitive.OpCode

func (*Query) IsResponse

func (q *Query) IsResponse() bool

func (*Query) String

func (q *Query) String() string

type QueryOptions

type QueryOptions struct {
	// The consistency level to use when executing the query. This field is mandatory; its default is ANY, as the
	// zero value of primitive.ConsistencyLevel is primitive.ConsistencyLevelAny. Note that ANY is NOT suitable for
	// read queries.
	Consistency primitive.ConsistencyLevel

	// The positional values of the associated query. Positional values are designated in query strings with a
	// question mark bind marker ('?'). Positional values are valid for all protocol versions.
	// It is illegal to use both positional and named values at the same time. If this happens, positional values will
	// be used and named values will be silently ignored.
	PositionalValues []*primitive.Value

	// The named values of the associated query. Named values are designated in query strings with a
	// a bind marker starting with a colon (e.g. ':var1'). Named values can only be used with protocol version 3 or
	// higher.
	// It is illegal to use both positional and named values at the same time. If this happens, positional values will
	// be used and named values will be silently ignored.
	NamedValues map[string]*primitive.Value

	// If true, asks the server to skip result set metadata when sending results. In such case, the RowsResult message
	// returned as a response to the query (if any) will contain no result set metadata, and will have the NO_METADATA
	// flag set; in other words, RowsResult.Metadata will be present but RowsResult.Metadata.Columns will be nil.
	SkipMetadata bool

	// The desired page size. A value of zero or negative is usually interpreted as "no pagination" and can result
	// in the entire result set being returned in one single page.
	PageSize int32

	// Whether the page size is expressed in number of rows or number of bytes. Valid for DSE protocol versions only.
	PageSizeInBytes bool

	// PagingState is a [bytes] value coming from a previously-received RowsResult.Metadata object. If provided, the
	// query will be executed but starting from a given paging state.
	PagingState []byte

	// The (optional) serial consistency level to use when executing the query. Valid for protocol versions 2 and
	// higher.
	SerialConsistency *primitive.ConsistencyLevel

	// The default timestamp for the query in microseconds (negative values are discouraged but supported for
	// backward compatibility reasons except for the smallest negative value (-2^63) that is forbidden). If provided,
	// this will replace the server-side assigned timestamp as default timestamp. Note that a timestamp in the query
	// itself (that is, if the query has a USING TIMESTAMP clause) will still override this timestamp.
	// Default timestamps are valid for protocol versions 3 and higher.
	DefaultTimestamp *int64

	// Valid for protocol version 5 and DSE protocol version 2 only.
	Keyspace string

	// Introduced in Protocol Version 5, not present in DSE protocol versions.
	NowInSeconds *int32

	// Valid only for DSE protocol versions.
	ContinuousPagingOptions *ContinuousPagingOptions
}

QueryOptions is the set of options common to Query and Execute messages. +k8s:deepcopy-gen=true

func DecodeQueryOptions

func DecodeQueryOptions(source io.Reader, version primitive.ProtocolVersion) (options *QueryOptions, err error)

func (*QueryOptions) DeepCopy

func (in *QueryOptions) DeepCopy() *QueryOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryOptions.

func (*QueryOptions) DeepCopyInto

func (in *QueryOptions) DeepCopyInto(out *QueryOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueryOptions) Flags

func (o *QueryOptions) Flags() primitive.QueryFlag

func (*QueryOptions) String

func (o *QueryOptions) String() string

type ReadFailure

type ReadFailure struct {
	ErrorMessage string
	// The consistency level of the query that triggered the exception.
	Consistency primitive.ConsistencyLevel
	// The number of nodes having answered the request.
	Received int32
	// The number of replicas whose response is required to achieve Consistency.
	BlockFor int32
	// The number of nodes that experienced a failure while executing the request.
	// Only filled when the protocol versions is < 5.
	NumFailures int32
	// A collection of endpoints with failure reason codes. Only filled when the protocol versions is >= 5, including
	// DSE versions v1 and v2.
	FailureReasons []*primitive.FailureReason
	// Whether the replica that was asked for data responded.
	DataPresent bool
}

ReadFailure is an error response sent when the coordinator receives a read failure from a replica. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*ReadFailure) DeepCopy

func (in *ReadFailure) DeepCopy() *ReadFailure

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadFailure.

func (*ReadFailure) DeepCopyInto

func (in *ReadFailure) DeepCopyInto(out *ReadFailure)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReadFailure) DeepCopyMessage

func (in *ReadFailure) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*ReadFailure) GetErrorCode

func (m *ReadFailure) GetErrorCode() primitive.ErrorCode

func (*ReadFailure) GetErrorMessage

func (m *ReadFailure) GetErrorMessage() string

func (*ReadFailure) GetOpCode

func (m *ReadFailure) GetOpCode() primitive.OpCode

func (*ReadFailure) IsResponse

func (m *ReadFailure) IsResponse() bool

func (*ReadFailure) String

func (m *ReadFailure) String() string

type ReadTimeout

type ReadTimeout struct {
	ErrorMessage string
	// The consistency level of the query that triggered the exception.
	Consistency primitive.ConsistencyLevel
	// The number of nodes having answered the request.
	Received int32
	// The number of replicas whose response is required to achieve Consistency.
	// It is possible to have Received >= BlockFor if DataPresent is false. Also
	// in the (unlikely) case where Consistency is achieved but the coordinator node
	// times out while waiting for read-repair acknowledgement.
	BlockFor int32
	// Whether the replica that was asked for data responded.
	DataPresent bool
}

ReadTimeout is an error response sent when the coordinator does not receive enough responses from replicas for a read query. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*ReadTimeout) DeepCopy

func (in *ReadTimeout) DeepCopy() *ReadTimeout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReadTimeout.

func (*ReadTimeout) DeepCopyInto

func (in *ReadTimeout) DeepCopyInto(out *ReadTimeout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ReadTimeout) DeepCopyMessage

func (in *ReadTimeout) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*ReadTimeout) GetErrorCode

func (m *ReadTimeout) GetErrorCode() primitive.ErrorCode

func (*ReadTimeout) GetErrorMessage

func (m *ReadTimeout) GetErrorMessage() string

func (*ReadTimeout) GetOpCode

func (m *ReadTimeout) GetOpCode() primitive.OpCode

func (*ReadTimeout) IsResponse

func (m *ReadTimeout) IsResponse() bool

func (*ReadTimeout) String

func (m *ReadTimeout) String() string

type Ready

type Ready struct {
}

Ready is a response sent when the coordinator replies to a Startup request without requiring authentication. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Ready) DeepCopy

func (in *Ready) DeepCopy() *Ready

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ready.

func (*Ready) DeepCopyInto

func (in *Ready) DeepCopyInto(out *Ready)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ready) DeepCopyMessage

func (in *Ready) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Ready) GetOpCode

func (m *Ready) GetOpCode() primitive.OpCode

func (*Ready) IsResponse

func (m *Ready) IsResponse() bool

func (*Ready) String

func (m *Ready) String() string

type Register

type Register struct {
	EventTypes []primitive.EventType
}

Register is a request to register the client as a listener for the specified event types. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Register) DeepCopy

func (in *Register) DeepCopy() *Register

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Register.

func (*Register) DeepCopyInto

func (in *Register) DeepCopyInto(out *Register)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Register) DeepCopyMessage

func (in *Register) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Register) GetOpCode

func (m *Register) GetOpCode() primitive.OpCode

func (*Register) IsResponse

func (m *Register) IsResponse() bool

func (*Register) String

func (m *Register) String() string

type Result

type Result interface {
	Message
	GetResultType() primitive.ResultType
}

type Revise

type Revise struct {
	RevisionType   primitive.DseRevisionType
	TargetStreamId int32
	// The number of pages that the client is ready to receive, or zero to indicate no limit.
	// Valid for DSE v2 only when RevisionType is 2 (DseRevisionTypeMoreContinuousPages).
	// See ContinuousPagingOptions.
	NextPages int32
}

Revise was called CANCEL in DSE protocol version 1 and was renamed to REVISE_REQUEST in version 2. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Revise) DeepCopy

func (in *Revise) DeepCopy() *Revise

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revise.

func (*Revise) DeepCopyInto

func (in *Revise) DeepCopyInto(out *Revise)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Revise) DeepCopyMessage

func (in *Revise) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Revise) GetOpCode

func (m *Revise) GetOpCode() primitive.OpCode

func (*Revise) IsResponse

func (m *Revise) IsResponse() bool

func (*Revise) String

func (m *Revise) String() string

type Row

type Row = []Column

type RowSet

type RowSet = []Row

type RowsMetadata

type RowsMetadata struct {
	// Must be always present, even when Columns is nil. If Columns is non-nil, the value of ColumnCount must match
	// len(Columns), otherwise an error is returned when encoding.
	ColumnCount int32
	// PagingState is a [bytes] value. If provided, this means that this page of results is not the last page..
	PagingState []byte
	// Valid for protocol version 5 and DSE protocol version 2 only.
	NewResultMetadataId []byte
	// Valid for DSE protocol versions only.
	ContinuousPageNumber int32
	// Valid for DSE protocol versions only.
	LastContinuousPage bool
	// If nil, the NO_METADATA flag is set. In a PreparedResult, will be non-nil if the statement is a SELECT.
	Columns []*ColumnMetadata
}

RowsMetadata is used in RowsResult to indicate metadata about the result set present in the result response; and in PreparedResult, to indicate metadata about the result set that the prepared statement will produce once executed. +k8s:deepcopy-gen=true

func (*RowsMetadata) DeepCopy

func (in *RowsMetadata) DeepCopy() *RowsMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RowsMetadata.

func (*RowsMetadata) DeepCopyInto

func (in *RowsMetadata) DeepCopyInto(out *RowsMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RowsMetadata) Flags

func (rm *RowsMetadata) Flags() (flag primitive.RowsFlag)

type RowsResult

type RowsResult struct {
	Metadata *RowsMetadata
	Data     RowSet
}

RowsResult is a response message sent when the executed query is a SELECT statement. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*RowsResult) DeepCopy

func (in *RowsResult) DeepCopy() *RowsResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RowsResult.

func (*RowsResult) DeepCopyInto

func (in *RowsResult) DeepCopyInto(out *RowsResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RowsResult) DeepCopyMessage

func (in *RowsResult) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*RowsResult) GetOpCode

func (m *RowsResult) GetOpCode() primitive.OpCode

func (*RowsResult) GetResultType

func (m *RowsResult) GetResultType() primitive.ResultType

func (*RowsResult) IsResponse

func (m *RowsResult) IsResponse() bool

func (*RowsResult) String

func (m *RowsResult) String() string

type SchemaChangeEvent

type SchemaChangeEvent struct {
	// The schema change type.
	ChangeType primitive.SchemaChangeType
	// The schema change target, that is, the kind of schema object affected by the change.
	Target primitive.SchemaChangeTarget
	// The name of the keyspace affected by the change.
	Keyspace string
	// If the schema object affected by the change is not the keyspace itself, this field contains its name. Otherwise,
	// this field is irrelevant and should be empty.
	Object string
	// If the schema object affected by the change is a function or an aggregate, this field contains its arguments.
	// Otherwise, this field is irrelevant. Valid from protocol version 4 onwards.
	Arguments []string
}

SchemaChangeEvent is a response sent when a schema change event occurs. Note: this struct is identical to SchemaChangeResult. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*SchemaChangeEvent) DeepCopy

func (in *SchemaChangeEvent) DeepCopy() *SchemaChangeEvent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaChangeEvent.

func (*SchemaChangeEvent) DeepCopyInto

func (in *SchemaChangeEvent) DeepCopyInto(out *SchemaChangeEvent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SchemaChangeEvent) DeepCopyMessage

func (in *SchemaChangeEvent) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*SchemaChangeEvent) GetEventType

func (m *SchemaChangeEvent) GetEventType() primitive.EventType

func (*SchemaChangeEvent) GetOpCode

func (m *SchemaChangeEvent) GetOpCode() primitive.OpCode

func (*SchemaChangeEvent) IsResponse

func (m *SchemaChangeEvent) IsResponse() bool

func (*SchemaChangeEvent) String

func (m *SchemaChangeEvent) String() string

type SchemaChangeResult

type SchemaChangeResult struct {
	// The schema change type.
	ChangeType primitive.SchemaChangeType
	// The schema change target, that is, the kind of schema object affected by the change. This field has been
	// introduced in protocol version 3.
	Target primitive.SchemaChangeTarget
	// The name of the keyspace affected by the change.
	Keyspace string
	// If the schema object affected by the change is not the keyspace itself, this field contains its name. Otherwise,
	// this field is irrelevant.
	Object string
	// If the schema object affected by the change is a function or an aggregate, this field contains its arguments.
	// Otherwise, this field is irrelevant. Valid from protocol version 4 onwards.
	Arguments []string
}

SchemaChangeResult is a response message sent when the executed query is a schema-altering query (DDL). Note: this struct is identical to SchemaChangeEvent. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*SchemaChangeResult) DeepCopy

func (in *SchemaChangeResult) DeepCopy() *SchemaChangeResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchemaChangeResult.

func (*SchemaChangeResult) DeepCopyInto

func (in *SchemaChangeResult) DeepCopyInto(out *SchemaChangeResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SchemaChangeResult) DeepCopyMessage

func (in *SchemaChangeResult) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*SchemaChangeResult) GetOpCode

func (m *SchemaChangeResult) GetOpCode() primitive.OpCode

func (*SchemaChangeResult) GetResultType

func (m *SchemaChangeResult) GetResultType() primitive.ResultType

func (*SchemaChangeResult) IsResponse

func (m *SchemaChangeResult) IsResponse() bool

func (*SchemaChangeResult) String

func (m *SchemaChangeResult) String() string

type ServerError

type ServerError struct {
	ErrorMessage string
}

ServerError is a server error response. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*ServerError) DeepCopy

func (in *ServerError) DeepCopy() *ServerError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerError.

func (*ServerError) DeepCopyInto

func (in *ServerError) DeepCopyInto(out *ServerError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServerError) DeepCopyMessage

func (in *ServerError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*ServerError) GetErrorCode

func (m *ServerError) GetErrorCode() primitive.ErrorCode

func (*ServerError) GetErrorMessage

func (m *ServerError) GetErrorMessage() string

func (*ServerError) GetOpCode

func (m *ServerError) GetOpCode() primitive.OpCode

func (*ServerError) IsResponse

func (m *ServerError) IsResponse() bool

func (*ServerError) String

func (m *ServerError) String() string

type SetKeyspaceResult

type SetKeyspaceResult struct {
	Keyspace string
}

SetKeyspaceResult is a response message sent when the executed query is a USE statement that alters the session's current keyspace. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*SetKeyspaceResult) DeepCopy

func (in *SetKeyspaceResult) DeepCopy() *SetKeyspaceResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetKeyspaceResult.

func (*SetKeyspaceResult) DeepCopyInto

func (in *SetKeyspaceResult) DeepCopyInto(out *SetKeyspaceResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SetKeyspaceResult) DeepCopyMessage

func (in *SetKeyspaceResult) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*SetKeyspaceResult) GetOpCode

func (m *SetKeyspaceResult) GetOpCode() primitive.OpCode

func (*SetKeyspaceResult) GetResultType

func (m *SetKeyspaceResult) GetResultType() primitive.ResultType

func (*SetKeyspaceResult) IsResponse

func (m *SetKeyspaceResult) IsResponse() bool

func (*SetKeyspaceResult) String

func (m *SetKeyspaceResult) String() string

type Startup

type Startup struct {
	// Currently supported options are:
	// - "CQL_VERSION"
	// - "COMPRESSION"
	// Starting with DSE v2 the following options are also recognized:
	// - "CLIENT_ID": string representation of the client instance. Recommended is a ID unique per runtime instance
	//   (e.g. DataStax Java Driver's CqlSession instance), generated by the driver.
	// - "APPLICATION_NAME": optional, name of the application, should include the vendor name.
	//   For example "DataStax Studio".
	// - "APPLICATION_VERSION": optional, version of the application.
	// - "DRIVER_NAME": product name of the driver implementation. For example: 'DataStax Java Driver'.
	// - "DRIVER_VERSION": version of the driver implementation, typically a semantic version string.
	Options map[string]string
}

Startup is the first request message that a client sends when establishing a connection. The server will respond by either a Ready response message (in which case the connection is ready for queries) or with an Authenticate response message (in which case credentials will need to be provided using a subsequent AuthResponse request message). +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func NewStartup

func NewStartup(keysAndValues ...string) *Startup

func (*Startup) DeepCopy

func (in *Startup) DeepCopy() *Startup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Startup.

func (*Startup) DeepCopyInto

func (in *Startup) DeepCopyInto(out *Startup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Startup) DeepCopyMessage

func (in *Startup) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Startup) GetApplicationName

func (m *Startup) GetApplicationName() string

func (*Startup) GetApplicationVersion

func (m *Startup) GetApplicationVersion() string

func (*Startup) GetClientId

func (m *Startup) GetClientId() string

func (*Startup) GetCompression

func (m *Startup) GetCompression() primitive.Compression

func (*Startup) GetDriverName

func (m *Startup) GetDriverName() string

func (*Startup) GetDriverVersion

func (m *Startup) GetDriverVersion() string

func (*Startup) GetOpCode

func (m *Startup) GetOpCode() primitive.OpCode

func (*Startup) IsResponse

func (m *Startup) IsResponse() bool

func (*Startup) IsThrowOnOverload

func (m *Startup) IsThrowOnOverload() bool

func (*Startup) SetApplicationName

func (m *Startup) SetApplicationName(applicationName string)

func (*Startup) SetApplicationVersion

func (m *Startup) SetApplicationVersion(applicationVersion string)

func (*Startup) SetClientId

func (m *Startup) SetClientId(clientId string)

func (*Startup) SetCompression

func (m *Startup) SetCompression(compression primitive.Compression)

func (*Startup) SetDriverName

func (m *Startup) SetDriverName(driverName string)

func (*Startup) SetDriverVersion

func (m *Startup) SetDriverVersion(driverVersion string)

func (*Startup) SetThrowOnOverload

func (m *Startup) SetThrowOnOverload(throwOnOverload bool)

func (*Startup) String

func (m *Startup) String() string

type StatusChangeEvent

type StatusChangeEvent struct {
	ChangeType primitive.StatusChangeType
	Address    *primitive.Inet
}

StatusChangeEvent is a response sent when a node status change event occurs. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*StatusChangeEvent) DeepCopy

func (in *StatusChangeEvent) DeepCopy() *StatusChangeEvent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusChangeEvent.

func (*StatusChangeEvent) DeepCopyInto

func (in *StatusChangeEvent) DeepCopyInto(out *StatusChangeEvent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatusChangeEvent) DeepCopyMessage

func (in *StatusChangeEvent) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*StatusChangeEvent) GetEventType

func (m *StatusChangeEvent) GetEventType() primitive.EventType

func (*StatusChangeEvent) GetOpCode

func (m *StatusChangeEvent) GetOpCode() primitive.OpCode

func (*StatusChangeEvent) IsResponse

func (m *StatusChangeEvent) IsResponse() bool

func (*StatusChangeEvent) String

func (m *StatusChangeEvent) String() string

type Supported

type Supported struct {
	// This multimap gives for each of the supported Startup options, the list of supported values.
	// See Startup.Options for details about supported option keys.
	Options map[string][]string
}

Supported is a response message sent in reply to an Options request. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Supported) DeepCopy

func (in *Supported) DeepCopy() *Supported

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Supported.

func (*Supported) DeepCopyInto

func (in *Supported) DeepCopyInto(out *Supported)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Supported) DeepCopyMessage

func (in *Supported) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Supported) GetOpCode

func (m *Supported) GetOpCode() primitive.OpCode

func (*Supported) IsResponse

func (m *Supported) IsResponse() bool

func (*Supported) String

func (m *Supported) String() string

type SyntaxError

type SyntaxError struct {
	ErrorMessage string
}

SyntaxError is an error response notifying that the query has a syntax error. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*SyntaxError) DeepCopy

func (in *SyntaxError) DeepCopy() *SyntaxError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyntaxError.

func (*SyntaxError) DeepCopyInto

func (in *SyntaxError) DeepCopyInto(out *SyntaxError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SyntaxError) DeepCopyMessage

func (in *SyntaxError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*SyntaxError) GetErrorCode

func (m *SyntaxError) GetErrorCode() primitive.ErrorCode

func (*SyntaxError) GetErrorMessage

func (m *SyntaxError) GetErrorMessage() string

func (*SyntaxError) GetOpCode

func (m *SyntaxError) GetOpCode() primitive.OpCode

func (*SyntaxError) IsResponse

func (m *SyntaxError) IsResponse() bool

func (*SyntaxError) String

func (m *SyntaxError) String() string

type TopologyChangeEvent

type TopologyChangeEvent struct {
	// The topology change type. Note that MOVED_NODE is only valid from protocol version 3 onwards.
	ChangeType primitive.TopologyChangeType
	// The address of the node.
	Address *primitive.Inet
}

TopologyChangeEvent is a response sent when a topology change event occurs. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*TopologyChangeEvent) DeepCopy

func (in *TopologyChangeEvent) DeepCopy() *TopologyChangeEvent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyChangeEvent.

func (*TopologyChangeEvent) DeepCopyInto

func (in *TopologyChangeEvent) DeepCopyInto(out *TopologyChangeEvent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TopologyChangeEvent) DeepCopyMessage

func (in *TopologyChangeEvent) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*TopologyChangeEvent) GetEventType

func (m *TopologyChangeEvent) GetEventType() primitive.EventType

func (*TopologyChangeEvent) GetOpCode

func (m *TopologyChangeEvent) GetOpCode() primitive.OpCode

func (*TopologyChangeEvent) IsResponse

func (m *TopologyChangeEvent) IsResponse() bool

func (*TopologyChangeEvent) String

func (m *TopologyChangeEvent) String() string

type TruncateError

type TruncateError struct {
	ErrorMessage string
}

TruncateError is an error response notifying that a TRUNCATE statement failed. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*TruncateError) DeepCopy

func (in *TruncateError) DeepCopy() *TruncateError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TruncateError.

func (*TruncateError) DeepCopyInto

func (in *TruncateError) DeepCopyInto(out *TruncateError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TruncateError) DeepCopyMessage

func (in *TruncateError) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*TruncateError) GetErrorCode

func (m *TruncateError) GetErrorCode() primitive.ErrorCode

func (*TruncateError) GetErrorMessage

func (m *TruncateError) GetErrorMessage() string

func (*TruncateError) GetOpCode

func (m *TruncateError) GetOpCode() primitive.OpCode

func (*TruncateError) IsResponse

func (m *TruncateError) IsResponse() bool

func (*TruncateError) String

func (m *TruncateError) String() string

type Unauthorized

type Unauthorized struct {
	ErrorMessage string
}

Unauthorized is an error response notifying that the logged user is not authorized to perform the request. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Unauthorized) DeepCopy

func (in *Unauthorized) DeepCopy() *Unauthorized

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Unauthorized.

func (*Unauthorized) DeepCopyInto

func (in *Unauthorized) DeepCopyInto(out *Unauthorized)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Unauthorized) DeepCopyMessage

func (in *Unauthorized) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Unauthorized) GetErrorCode

func (m *Unauthorized) GetErrorCode() primitive.ErrorCode

func (*Unauthorized) GetErrorMessage

func (m *Unauthorized) GetErrorMessage() string

func (*Unauthorized) GetOpCode

func (m *Unauthorized) GetOpCode() primitive.OpCode

func (*Unauthorized) IsResponse

func (m *Unauthorized) IsResponse() bool

func (*Unauthorized) String

func (m *Unauthorized) String() string

type Unavailable

type Unavailable struct {
	ErrorMessage string
	// The consistency level of the query that triggered the exception.
	Consistency primitive.ConsistencyLevel
	// The number of nodes that should be alive to respect Consistency.
	Required int32
	// The number of replicas that were known to be alive when the request was processed (since an
	// unavailable exception has been triggered, Alive < Required).
	Alive int32
}

Unavailable is an error response sent when the coordinator knows that the consistency level cannot be fulfilled. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Unavailable) DeepCopy

func (in *Unavailable) DeepCopy() *Unavailable

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Unavailable.

func (*Unavailable) DeepCopyInto

func (in *Unavailable) DeepCopyInto(out *Unavailable)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Unavailable) DeepCopyMessage

func (in *Unavailable) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Unavailable) GetErrorCode

func (m *Unavailable) GetErrorCode() primitive.ErrorCode

func (*Unavailable) GetErrorMessage

func (m *Unavailable) GetErrorMessage() string

func (*Unavailable) GetOpCode

func (m *Unavailable) GetOpCode() primitive.OpCode

func (*Unavailable) IsResponse

func (m *Unavailable) IsResponse() bool

func (*Unavailable) String

func (m *Unavailable) String() string

type Unprepared

type Unprepared struct {
	ErrorMessage string
	Id           []byte
}

Unprepared is an error response sent when an unprepared query execution is attempted. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*Unprepared) DeepCopy

func (in *Unprepared) DeepCopy() *Unprepared

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Unprepared.

func (*Unprepared) DeepCopyInto

func (in *Unprepared) DeepCopyInto(out *Unprepared)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Unprepared) DeepCopyMessage

func (in *Unprepared) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*Unprepared) GetErrorCode

func (m *Unprepared) GetErrorCode() primitive.ErrorCode

func (*Unprepared) GetErrorMessage

func (m *Unprepared) GetErrorMessage() string

func (*Unprepared) GetOpCode

func (m *Unprepared) GetOpCode() primitive.OpCode

func (*Unprepared) IsResponse

func (m *Unprepared) IsResponse() bool

func (*Unprepared) String

func (m *Unprepared) String() string

type VariablesMetadata

type VariablesMetadata struct {
	// The indices of variables belonging to the table's partition key, if any. Valid from protocol version 4 onwards;
	// will be nil for protocol versions lesser than 4.
	PkIndices []uint16
	Columns   []*ColumnMetadata
}

VariablesMetadata is used in PreparedResult to indicate metadata about the prepared statement's bound variables. +k8s:deepcopy-gen=true

func (*VariablesMetadata) DeepCopy

func (in *VariablesMetadata) DeepCopy() *VariablesMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VariablesMetadata.

func (*VariablesMetadata) DeepCopyInto

func (in *VariablesMetadata) DeepCopyInto(out *VariablesMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VariablesMetadata) Flags

func (rm *VariablesMetadata) Flags() (flag primitive.VariablesFlag)

type VoidResult

type VoidResult struct{}

VoidResult is a response message sent when the executed query returns nothing. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*VoidResult) DeepCopy

func (in *VoidResult) DeepCopy() *VoidResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VoidResult.

func (*VoidResult) DeepCopyInto

func (in *VoidResult) DeepCopyInto(out *VoidResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VoidResult) DeepCopyMessage

func (in *VoidResult) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*VoidResult) GetOpCode

func (m *VoidResult) GetOpCode() primitive.OpCode

func (*VoidResult) GetResultType

func (m *VoidResult) GetResultType() primitive.ResultType

func (*VoidResult) IsResponse

func (m *VoidResult) IsResponse() bool

func (*VoidResult) String

func (m *VoidResult) String() string

type WriteFailure

type WriteFailure struct {
	ErrorMessage string
	// The consistency level of the query that triggered the exception.
	Consistency primitive.ConsistencyLevel
	// The number of nodes having answered the request.
	Received int32
	// The number of replicas whose response is required to achieve Consistency.
	BlockFor int32
	// The number of nodes that experienced a failure while executing the request.
	// Only filled when the protocol versions is < 5.
	NumFailures int32
	// A collection of endpoints with failure reason codes. Only filled when the protocol versions is >= 5, including
	// DSE versions v1 and v2.
	FailureReasons []*primitive.FailureReason
	// The type of the write that failed.
	WriteType primitive.WriteType
}

WriteFailure is an error response sent when the coordinator receives a write failure from a replica. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*WriteFailure) DeepCopy

func (in *WriteFailure) DeepCopy() *WriteFailure

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WriteFailure.

func (*WriteFailure) DeepCopyInto

func (in *WriteFailure) DeepCopyInto(out *WriteFailure)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WriteFailure) DeepCopyMessage

func (in *WriteFailure) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*WriteFailure) GetErrorCode

func (m *WriteFailure) GetErrorCode() primitive.ErrorCode

func (*WriteFailure) GetErrorMessage

func (m *WriteFailure) GetErrorMessage() string

func (*WriteFailure) GetOpCode

func (m *WriteFailure) GetOpCode() primitive.OpCode

func (*WriteFailure) IsResponse

func (m *WriteFailure) IsResponse() bool

func (*WriteFailure) String

func (m *WriteFailure) String() string

type WriteTimeout

type WriteTimeout struct {
	ErrorMessage string
	// The consistency level of the query that triggered the exception.
	Consistency primitive.ConsistencyLevel
	// The number of nodes having answered the request.
	Received int32
	// The number of replicas whose response is required to achieve Consistency.
	BlockFor int32
	// The type of the write that failed.
	WriteType primitive.WriteType
	// The number of contentions occurred during the CAS operation. This field is only present when WriteType is "CAS".
	Contentions uint16
}

WriteTimeout is an error response sent when the coordinator does not receive enough responses from replicas for a write query. +k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=github.com/datastax/go-cassandra-native-protocol/message.Message

func (*WriteTimeout) DeepCopy

func (in *WriteTimeout) DeepCopy() *WriteTimeout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WriteTimeout.

func (*WriteTimeout) DeepCopyInto

func (in *WriteTimeout) DeepCopyInto(out *WriteTimeout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WriteTimeout) DeepCopyMessage

func (in *WriteTimeout) DeepCopyMessage() Message

DeepCopyMessage is an autogenerated deepcopy function, copying the receiver, creating a new Message.

func (*WriteTimeout) GetErrorCode

func (m *WriteTimeout) GetErrorCode() primitive.ErrorCode

func (*WriteTimeout) GetErrorMessage

func (m *WriteTimeout) GetErrorMessage() string

func (*WriteTimeout) GetOpCode

func (m *WriteTimeout) GetOpCode() primitive.OpCode

func (*WriteTimeout) IsResponse

func (m *WriteTimeout) IsResponse() bool

func (*WriteTimeout) String

func (m *WriteTimeout) String() string

Jump to

Keyboard shortcuts

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