Documentation ¶
Overview ¶
Package pgproto3 is a encoder and decoder of the PostgreSQL wire protocol version 3.
See https://www.postgresql.org/docs/current/protocol-message-formats.html for meanings of the different messages.
Index ¶
- Constants
- type AuthenticationCleartextPassword
- func (*AuthenticationCleartextPassword) AuthenticationResponse()
- func (*AuthenticationCleartextPassword) Backend()
- func (dst *AuthenticationCleartextPassword) Decode(src []byte) error
- func (src *AuthenticationCleartextPassword) Encode(dst []byte) ([]byte, error)
- func (src AuthenticationCleartextPassword) MarshalJSON() ([]byte, error)
- type AuthenticationGSS
- func (a *AuthenticationGSS) AuthenticationResponse()
- func (a *AuthenticationGSS) Backend()
- func (a *AuthenticationGSS) Decode(src []byte) error
- func (a *AuthenticationGSS) Encode(dst []byte) ([]byte, error)
- func (a *AuthenticationGSS) MarshalJSON() ([]byte, error)
- func (a *AuthenticationGSS) UnmarshalJSON(data []byte) error
- type AuthenticationGSSContinue
- func (a *AuthenticationGSSContinue) AuthenticationResponse()
- func (a *AuthenticationGSSContinue) Backend()
- func (a *AuthenticationGSSContinue) Decode(src []byte) error
- func (a *AuthenticationGSSContinue) Encode(dst []byte) ([]byte, error)
- func (a *AuthenticationGSSContinue) MarshalJSON() ([]byte, error)
- func (a *AuthenticationGSSContinue) UnmarshalJSON(data []byte) error
- type AuthenticationMD5Password
- func (*AuthenticationMD5Password) AuthenticationResponse()
- func (*AuthenticationMD5Password) Backend()
- func (dst *AuthenticationMD5Password) Decode(src []byte) error
- func (src *AuthenticationMD5Password) Encode(dst []byte) ([]byte, error)
- func (src AuthenticationMD5Password) MarshalJSON() ([]byte, error)
- func (dst *AuthenticationMD5Password) UnmarshalJSON(data []byte) error
- type AuthenticationOk
- type AuthenticationResponseMessage
- type AuthenticationSASL
- type AuthenticationSASLContinue
- func (*AuthenticationSASLContinue) AuthenticationResponse()
- func (*AuthenticationSASLContinue) Backend()
- func (dst *AuthenticationSASLContinue) Decode(src []byte) error
- func (src *AuthenticationSASLContinue) Encode(dst []byte) ([]byte, error)
- func (src AuthenticationSASLContinue) MarshalJSON() ([]byte, error)
- func (dst *AuthenticationSASLContinue) UnmarshalJSON(data []byte) error
- type AuthenticationSASLFinal
- func (*AuthenticationSASLFinal) AuthenticationResponse()
- func (*AuthenticationSASLFinal) Backend()
- func (dst *AuthenticationSASLFinal) Decode(src []byte) error
- func (src *AuthenticationSASLFinal) Encode(dst []byte) ([]byte, error)
- func (src AuthenticationSASLFinal) MarshalJSON() ([]byte, error)
- func (dst *AuthenticationSASLFinal) UnmarshalJSON(data []byte) error
- type Backend
- type BackendKeyData
- type BackendMessage
- type BigEndianBuf
- type Bind
- type BindComplete
- type CancelRequest
- type ChunkReader
- type Close
- type CloseComplete
- type CommandComplete
- type CopyBothResponse
- type CopyData
- type CopyDone
- type CopyFail
- type CopyInResponse
- type CopyOutResponse
- type DataRow
- type Describe
- type EmptyQueryResponse
- type ErrorResponse
- type Execute
- type FieldDescription
- type Flush
- type Frontend
- type FrontendMessage
- type FunctionCall
- type FunctionCallResponse
- type GSSEncRequest
- type GSSResponse
- type Message
- type NoData
- type NoticeResponse
- type NotificationResponse
- type ParameterDescription
- type ParameterStatus
- type Parse
- type ParseComplete
- type PasswordMessage
- type PortalSuspended
- type Query
- type ReadyForQuery
- type RowDescription
- type SASLInitialResponse
- type SASLResponse
- type SSLRequest
- type StartupMessage
- type Sync
- type Terminate
Constants ¶
const ( AuthTypeOk = 0 AuthTypeCleartextPassword = 3 AuthTypeMD5Password = 5 AuthTypeSCMCreds = 6 AuthTypeGSS = 7 AuthTypeGSSCont = 8 AuthTypeSSPI = 9 AuthTypeSASL = 10 AuthTypeSASLContinue = 11 AuthTypeSASLFinal = 12 )
Authentication message type constants. See src/include/libpq/pqcomm.h for all constants.
const ( TextFormat = 0 BinaryFormat = 1 )
const ProtocolVersionNumber = 196608 // 3.0
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticationCleartextPassword ¶
type AuthenticationCleartextPassword struct { }
AuthenticationCleartextPassword is a message sent from the backend indicating that a clear-text password is required.
func (*AuthenticationCleartextPassword) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationCleartextPassword) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationCleartextPassword) Backend ¶
func (*AuthenticationCleartextPassword) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationCleartextPassword) Decode ¶
func (dst *AuthenticationCleartextPassword) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationCleartextPassword) Encode ¶
func (src *AuthenticationCleartextPassword) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationCleartextPassword) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationCleartextPassword) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type AuthenticationGSS ¶ added in v2.3.0
type AuthenticationGSS struct{}
func (*AuthenticationGSS) AuthenticationResponse ¶ added in v2.3.0
func (a *AuthenticationGSS) AuthenticationResponse()
func (*AuthenticationGSS) Backend ¶ added in v2.3.0
func (a *AuthenticationGSS) Backend()
func (*AuthenticationGSS) Decode ¶ added in v2.3.0
func (a *AuthenticationGSS) Decode(src []byte) error
func (*AuthenticationGSS) Encode ¶ added in v2.3.0
func (a *AuthenticationGSS) Encode(dst []byte) ([]byte, error)
func (*AuthenticationGSS) MarshalJSON ¶ added in v2.3.0
func (a *AuthenticationGSS) MarshalJSON() ([]byte, error)
func (*AuthenticationGSS) UnmarshalJSON ¶ added in v2.3.0
func (a *AuthenticationGSS) UnmarshalJSON(data []byte) error
type AuthenticationGSSContinue ¶ added in v2.3.0
type AuthenticationGSSContinue struct {
Data []byte
}
func (*AuthenticationGSSContinue) AuthenticationResponse ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) AuthenticationResponse()
func (*AuthenticationGSSContinue) Backend ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) Backend()
func (*AuthenticationGSSContinue) Decode ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) Decode(src []byte) error
func (*AuthenticationGSSContinue) Encode ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) Encode(dst []byte) ([]byte, error)
func (*AuthenticationGSSContinue) MarshalJSON ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) MarshalJSON() ([]byte, error)
func (*AuthenticationGSSContinue) UnmarshalJSON ¶ added in v2.3.0
func (a *AuthenticationGSSContinue) UnmarshalJSON(data []byte) error
type AuthenticationMD5Password ¶
type AuthenticationMD5Password struct {
Salt [4]byte
}
AuthenticationMD5Password is a message sent from the backend indicating that an MD5 hashed password is required.
func (*AuthenticationMD5Password) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationMD5Password) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationMD5Password) Backend ¶
func (*AuthenticationMD5Password) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationMD5Password) Decode ¶
func (dst *AuthenticationMD5Password) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationMD5Password) Encode ¶
func (src *AuthenticationMD5Password) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationMD5Password) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationMD5Password) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*AuthenticationMD5Password) UnmarshalJSON ¶ added in v2.1.0
func (dst *AuthenticationMD5Password) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type AuthenticationOk ¶
type AuthenticationOk struct { }
AuthenticationOk is a message sent from the backend indicating that authentication was successful.
func (*AuthenticationOk) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationOk) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationOk) Backend ¶
func (*AuthenticationOk) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationOk) Decode ¶
func (dst *AuthenticationOk) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationOk) Encode ¶
func (src *AuthenticationOk) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationOk) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationOk) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type AuthenticationResponseMessage ¶ added in v2.1.0
type AuthenticationResponseMessage interface { BackendMessage AuthenticationResponse() // no-op method to distinguish authentication responses }
type AuthenticationSASL ¶
type AuthenticationSASL struct {
AuthMechanisms []string
}
AuthenticationSASL is a message sent from the backend indicating that SASL authentication is required.
func (*AuthenticationSASL) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationSASL) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationSASL) Backend ¶
func (*AuthenticationSASL) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationSASL) Decode ¶
func (dst *AuthenticationSASL) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationSASL) Encode ¶
func (src *AuthenticationSASL) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationSASL) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationSASL) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type AuthenticationSASLContinue ¶
type AuthenticationSASLContinue struct {
Data []byte
}
AuthenticationSASLContinue is a message sent from the backend containing a SASL challenge.
func (*AuthenticationSASLContinue) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationSASLContinue) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationSASLContinue) Backend ¶
func (*AuthenticationSASLContinue) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationSASLContinue) Decode ¶
func (dst *AuthenticationSASLContinue) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationSASLContinue) Encode ¶
func (src *AuthenticationSASLContinue) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationSASLContinue) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationSASLContinue) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*AuthenticationSASLContinue) UnmarshalJSON ¶ added in v2.1.0
func (dst *AuthenticationSASLContinue) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type AuthenticationSASLFinal ¶
type AuthenticationSASLFinal struct {
Data []byte
}
AuthenticationSASLFinal is a message sent from the backend indicating a SASL authentication has completed.
func (*AuthenticationSASLFinal) AuthenticationResponse ¶ added in v2.1.0
func (*AuthenticationSASLFinal) AuthenticationResponse()
Backend identifies this message as an authentication response.
func (*AuthenticationSASLFinal) Backend ¶
func (*AuthenticationSASLFinal) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*AuthenticationSASLFinal) Decode ¶
func (dst *AuthenticationSASLFinal) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*AuthenticationSASLFinal) Encode ¶
func (src *AuthenticationSASLFinal) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (AuthenticationSASLFinal) MarshalJSON ¶ added in v2.1.0
func (src AuthenticationSASLFinal) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Unmarshaler.
func (*AuthenticationSASLFinal) UnmarshalJSON ¶ added in v2.1.0
func (dst *AuthenticationSASLFinal) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type Backend ¶
type Backend struct {
// contains filtered or unexported fields
}
Backend acts as a server for the PostgreSQL wire protocol version 3.
func NewBackend ¶
func NewBackend(cr ChunkReader, w io.Writer) *Backend
NewBackend creates a new Backend.
func (*Backend) Receive ¶
func (b *Backend) Receive() (FrontendMessage, error)
Receive receives a message from the frontend. The returned message is only valid until the next call to Receive.
func (*Backend) ReceiveStartupMessage ¶
func (b *Backend) ReceiveStartupMessage() (FrontendMessage, error)
ReceiveStartupMessage receives the initial connection message. This method is used of the normal Receive method because the initial connection message is "special" and does not include the message type as the first byte. This will return either a StartupMessage, SSLRequest, GSSEncRequest, or CancelRequest.
func (*Backend) Send ¶
func (b *Backend) Send(msg BackendMessage) error
Send sends a message to the frontend.
func (*Backend) SetAuthType ¶ added in v2.1.0
SetAuthType sets the authentication type in the backend. Since multiple message types can start with 'p', SetAuthType allows contextual identification of FrontendMessages. For example, in the PG message flow documentation for PasswordMessage:
Byte1('p') Identifies the message as a password response. Note that this is also used for GSSAPI, SSPI and SASL response messages. The exact message type can be deduced from the context.
Since the Frontend does not know about the state of a backend, it is important to call SetAuthType() after an authentication request is received by the Frontend.
type BackendKeyData ¶
func (*BackendKeyData) Backend ¶
func (*BackendKeyData) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*BackendKeyData) Decode ¶
func (dst *BackendKeyData) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*BackendKeyData) Encode ¶
func (src *BackendKeyData) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (BackendKeyData) MarshalJSON ¶
func (src BackendKeyData) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type BackendMessage ¶
type BackendMessage interface { Message Backend() // no-op method to distinguish frontend from backend methods }
type BigEndianBuf ¶
type BigEndianBuf [8]byte
func (BigEndianBuf) Int16 ¶
func (b BigEndianBuf) Int16(n int16) []byte
func (BigEndianBuf) Int32 ¶
func (b BigEndianBuf) Int32(n int32) []byte
func (BigEndianBuf) Int64 ¶
func (b BigEndianBuf) Int64(n int64) []byte
func (BigEndianBuf) Uint16 ¶
func (b BigEndianBuf) Uint16(n uint16) []byte
func (BigEndianBuf) Uint32 ¶
func (b BigEndianBuf) Uint32(n uint32) []byte
type Bind ¶
type Bind struct { DestinationPortal string PreparedStatement string ParameterFormatCodes []int16 Parameters [][]byte ResultFormatCodes []int16 }
func (*Bind) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Bind) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Bind) Frontend ¶
func (*Bind) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Bind) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
func (*Bind) UnmarshalJSON ¶ added in v2.1.0
UnmarshalJSON implements encoding/json.Unmarshaler.
type BindComplete ¶
type BindComplete struct{}
func (*BindComplete) Backend ¶
func (*BindComplete) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*BindComplete) Decode ¶
func (dst *BindComplete) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*BindComplete) Encode ¶
func (src *BindComplete) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (BindComplete) MarshalJSON ¶
func (src BindComplete) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type CancelRequest ¶
func (*CancelRequest) Decode ¶
func (dst *CancelRequest) Decode(src []byte) error
func (*CancelRequest) Encode ¶
func (src *CancelRequest) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 4 byte message length.
func (*CancelRequest) Frontend ¶
func (*CancelRequest) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (CancelRequest) MarshalJSON ¶
func (src CancelRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type ChunkReader ¶
type ChunkReader interface { // Next returns buf filled with the next n bytes. If an error (including a partial read) occurs, // buf must be nil. Next must preserve any partially read data. Next must not reuse buf. Next(n int) (buf []byte, err error) }
ChunkReader is an interface to decouple github.com/jackc/chunkreader from this package.
func NewChunkReader ¶
func NewChunkReader(r io.Reader) ChunkReader
NewChunkReader creates and returns a new default ChunkReader.
type Close ¶
func (*Close) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Close) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Close) Frontend ¶
func (*Close) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Close) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
func (*Close) UnmarshalJSON ¶ added in v2.1.0
UnmarshalJSON implements encoding/json.Unmarshaler.
type CloseComplete ¶
type CloseComplete struct{}
func (*CloseComplete) Backend ¶
func (*CloseComplete) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CloseComplete) Decode ¶
func (dst *CloseComplete) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CloseComplete) Encode ¶
func (src *CloseComplete) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (CloseComplete) MarshalJSON ¶
func (src CloseComplete) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type CommandComplete ¶
type CommandComplete struct {
CommandTag []byte
}
func (*CommandComplete) Backend ¶
func (*CommandComplete) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CommandComplete) Decode ¶
func (dst *CommandComplete) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CommandComplete) Encode ¶
func (src *CommandComplete) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (CommandComplete) MarshalJSON ¶
func (src CommandComplete) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*CommandComplete) UnmarshalJSON ¶ added in v2.1.0
func (dst *CommandComplete) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type CopyBothResponse ¶
func (*CopyBothResponse) Backend ¶
func (*CopyBothResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CopyBothResponse) Decode ¶
func (dst *CopyBothResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyBothResponse) Encode ¶
func (src *CopyBothResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (CopyBothResponse) MarshalJSON ¶
func (src CopyBothResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*CopyBothResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *CopyBothResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type CopyData ¶
type CopyData struct {
Data []byte
}
func (*CopyData) Backend ¶
func (*CopyData) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CopyData) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyData) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*CopyData) Frontend ¶
func (*CopyData) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (CopyData) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
func (*CopyData) UnmarshalJSON ¶ added in v2.1.0
UnmarshalJSON implements encoding/json.Unmarshaler.
type CopyDone ¶
type CopyDone struct { }
func (*CopyDone) Backend ¶
func (*CopyDone) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CopyDone) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyDone) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*CopyDone) Frontend ¶ added in v2.0.4
func (*CopyDone) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (CopyDone) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type CopyFail ¶
type CopyFail struct {
Message string
}
func (*CopyFail) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyFail) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*CopyFail) Frontend ¶
func (*CopyFail) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (CopyFail) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type CopyInResponse ¶
func (*CopyInResponse) Backend ¶
func (*CopyInResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*CopyInResponse) Decode ¶
func (dst *CopyInResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyInResponse) Encode ¶
func (src *CopyInResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (CopyInResponse) MarshalJSON ¶
func (src CopyInResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*CopyInResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *CopyInResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type CopyOutResponse ¶
func (*CopyOutResponse) Backend ¶
func (*CopyOutResponse) Backend()
func (*CopyOutResponse) Decode ¶
func (dst *CopyOutResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*CopyOutResponse) Encode ¶
func (src *CopyOutResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (CopyOutResponse) MarshalJSON ¶
func (src CopyOutResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*CopyOutResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *CopyOutResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type DataRow ¶
type DataRow struct {
Values [][]byte
}
func (*DataRow) Backend ¶
func (*DataRow) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*DataRow) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*DataRow) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (DataRow) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
func (*DataRow) UnmarshalJSON ¶ added in v2.1.0
UnmarshalJSON implements encoding/json.Unmarshaler.
type Describe ¶
func (*Describe) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Describe) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Describe) Frontend ¶
func (*Describe) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Describe) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
func (*Describe) UnmarshalJSON ¶ added in v2.1.0
UnmarshalJSON implements encoding/json.Unmarshaler.
type EmptyQueryResponse ¶
type EmptyQueryResponse struct{}
func (*EmptyQueryResponse) Backend ¶
func (*EmptyQueryResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*EmptyQueryResponse) Decode ¶
func (dst *EmptyQueryResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*EmptyQueryResponse) Encode ¶
func (src *EmptyQueryResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (EmptyQueryResponse) MarshalJSON ¶
func (src EmptyQueryResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type ErrorResponse ¶
type ErrorResponse struct { Severity string SeverityUnlocalized string // only in 9.6 and greater Code string Message string Detail string Hint string Position int32 InternalPosition int32 InternalQuery string Where string SchemaName string TableName string ColumnName string DataTypeName string ConstraintName string File string Line int32 Routine string UnknownFields map[byte]string }
func (*ErrorResponse) Backend ¶
func (*ErrorResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*ErrorResponse) Decode ¶
func (dst *ErrorResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*ErrorResponse) Encode ¶
func (src *ErrorResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (ErrorResponse) MarshalJSON ¶ added in v2.1.0
func (src ErrorResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*ErrorResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *ErrorResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type Execute ¶
func (*Execute) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Execute) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Execute) Frontend ¶
func (*Execute) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Execute) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type FieldDescription ¶
type FieldDescription struct { Name []byte TableOID uint32 TableAttributeNumber uint16 DataTypeOID uint32 DataTypeSize int16 TypeModifier int32 Format int16 }
func (FieldDescription) MarshalJSON ¶
func (fd FieldDescription) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type Flush ¶
type Flush struct{}
func (*Flush) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Flush) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Flush) Frontend ¶
func (*Flush) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Flush) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type Frontend ¶
type Frontend struct {
// contains filtered or unexported fields
}
Frontend acts as a client for the PostgreSQL wire protocol version 3.
func NewFrontend ¶
func NewFrontend(cr ChunkReader, w io.Writer) *Frontend
NewFrontend creates a new Frontend.
func (*Frontend) GetAuthType ¶ added in v2.1.0
GetAuthType returns the authType used in the current state of the frontend. See SetAuthType for more information.
func (*Frontend) Receive ¶
func (f *Frontend) Receive() (BackendMessage, error)
Receive receives a message from the backend. The returned message is only valid until the next call to Receive.
func (*Frontend) Send ¶
func (f *Frontend) Send(msg FrontendMessage) error
Send sends a message to the backend.
type FrontendMessage ¶
type FrontendMessage interface { Message Frontend() // no-op method to distinguish frontend from backend methods }
type FunctionCall ¶ added in v2.2.0
type FunctionCall struct { Function uint32 ArgFormatCodes []uint16 Arguments [][]byte ResultFormatCode uint16 }
func (*FunctionCall) Decode ¶ added in v2.2.0
func (dst *FunctionCall) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*FunctionCall) Encode ¶ added in v2.2.0
func (src *FunctionCall) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*FunctionCall) Frontend ¶ added in v2.2.0
func (*FunctionCall) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
type FunctionCallResponse ¶
type FunctionCallResponse struct {
Result []byte
}
func (*FunctionCallResponse) Backend ¶
func (*FunctionCallResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*FunctionCallResponse) Decode ¶
func (dst *FunctionCallResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*FunctionCallResponse) Encode ¶
func (src *FunctionCallResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (FunctionCallResponse) MarshalJSON ¶
func (src FunctionCallResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*FunctionCallResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *FunctionCallResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type GSSEncRequest ¶ added in v2.0.5
type GSSEncRequest struct { }
func (*GSSEncRequest) Decode ¶ added in v2.0.5
func (dst *GSSEncRequest) Decode(src []byte) error
func (*GSSEncRequest) Encode ¶ added in v2.0.5
func (src *GSSEncRequest) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 4 byte message length.
func (*GSSEncRequest) Frontend ¶ added in v2.0.5
func (*GSSEncRequest) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (GSSEncRequest) MarshalJSON ¶ added in v2.0.5
func (src GSSEncRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type GSSResponse ¶ added in v2.3.0
type GSSResponse struct {
Data []byte
}
func (*GSSResponse) Decode ¶ added in v2.3.0
func (g *GSSResponse) Decode(data []byte) error
func (*GSSResponse) Encode ¶ added in v2.3.0
func (g *GSSResponse) Encode(dst []byte) ([]byte, error)
func (*GSSResponse) Frontend ¶ added in v2.3.0
func (g *GSSResponse) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (*GSSResponse) MarshalJSON ¶ added in v2.3.0
func (g *GSSResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*GSSResponse) UnmarshalJSON ¶ added in v2.3.0
func (g *GSSResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type Message ¶
type Message interface { // Decode is allowed and expected to retain a reference to data after // returning (unlike encoding.BinaryUnmarshaler). Decode(data []byte) error // Encode appends itself to dst and returns the new buffer. Encode(dst []byte) ([]byte, error) }
Message is the interface implemented by an object that can decode and encode a particular PostgreSQL message.
type NoData ¶
type NoData struct{}
func (*NoData) Backend ¶
func (*NoData) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*NoData) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*NoData) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (NoData) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type NoticeResponse ¶
type NoticeResponse ErrorResponse
func (*NoticeResponse) Backend ¶
func (*NoticeResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*NoticeResponse) Decode ¶
func (dst *NoticeResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
type NotificationResponse ¶
func (*NotificationResponse) Backend ¶
func (*NotificationResponse) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*NotificationResponse) Decode ¶
func (dst *NotificationResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*NotificationResponse) Encode ¶
func (src *NotificationResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (NotificationResponse) MarshalJSON ¶
func (src NotificationResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type ParameterDescription ¶
type ParameterDescription struct {
ParameterOIDs []uint32
}
func (*ParameterDescription) Backend ¶
func (*ParameterDescription) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*ParameterDescription) Decode ¶
func (dst *ParameterDescription) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*ParameterDescription) Encode ¶
func (src *ParameterDescription) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (ParameterDescription) MarshalJSON ¶
func (src ParameterDescription) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type ParameterStatus ¶
func (*ParameterStatus) Backend ¶
func (*ParameterStatus) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*ParameterStatus) Decode ¶
func (dst *ParameterStatus) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*ParameterStatus) Encode ¶
func (src *ParameterStatus) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (ParameterStatus) MarshalJSON ¶
func (ps ParameterStatus) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type Parse ¶
func (*Parse) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Parse) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Parse) Frontend ¶
func (*Parse) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Parse) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type ParseComplete ¶
type ParseComplete struct{}
func (*ParseComplete) Backend ¶
func (*ParseComplete) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*ParseComplete) Decode ¶
func (dst *ParseComplete) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*ParseComplete) Encode ¶
func (src *ParseComplete) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (ParseComplete) MarshalJSON ¶
func (src ParseComplete) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type PasswordMessage ¶
type PasswordMessage struct {
Password string
}
func (*PasswordMessage) Decode ¶
func (dst *PasswordMessage) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*PasswordMessage) Encode ¶
func (src *PasswordMessage) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*PasswordMessage) Frontend ¶
func (*PasswordMessage) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (*PasswordMessage) InitialResponse ¶ added in v2.1.0
func (*PasswordMessage) InitialResponse()
Frontend identifies this message as an authentication response.
func (PasswordMessage) MarshalJSON ¶
func (src PasswordMessage) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type PortalSuspended ¶
type PortalSuspended struct{}
func (*PortalSuspended) Backend ¶
func (*PortalSuspended) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*PortalSuspended) Decode ¶
func (dst *PortalSuspended) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*PortalSuspended) Encode ¶
func (src *PortalSuspended) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (PortalSuspended) MarshalJSON ¶
func (src PortalSuspended) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type Query ¶
type Query struct {
String string
}
func (*Query) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Query) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Query) Frontend ¶
func (*Query) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Query) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type ReadyForQuery ¶
type ReadyForQuery struct {
TxStatus byte
}
func (*ReadyForQuery) Backend ¶
func (*ReadyForQuery) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*ReadyForQuery) Decode ¶
func (dst *ReadyForQuery) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*ReadyForQuery) Encode ¶
func (src *ReadyForQuery) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (ReadyForQuery) MarshalJSON ¶
func (src ReadyForQuery) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*ReadyForQuery) UnmarshalJSON ¶ added in v2.1.0
func (dst *ReadyForQuery) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type RowDescription ¶
type RowDescription struct {
Fields []FieldDescription
}
func (*RowDescription) Backend ¶
func (*RowDescription) Backend()
Backend identifies this message as sendable by the PostgreSQL backend.
func (*RowDescription) Decode ¶
func (dst *RowDescription) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*RowDescription) Encode ¶
func (src *RowDescription) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (RowDescription) MarshalJSON ¶
func (src RowDescription) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*RowDescription) UnmarshalJSON ¶ added in v2.1.0
func (dst *RowDescription) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type SASLInitialResponse ¶
func (*SASLInitialResponse) Decode ¶
func (dst *SASLInitialResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*SASLInitialResponse) Encode ¶
func (src *SASLInitialResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*SASLInitialResponse) Frontend ¶
func (*SASLInitialResponse) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (SASLInitialResponse) MarshalJSON ¶
func (src SASLInitialResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*SASLInitialResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *SASLInitialResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type SASLResponse ¶
type SASLResponse struct {
Data []byte
}
func (*SASLResponse) Decode ¶
func (dst *SASLResponse) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*SASLResponse) Encode ¶
func (src *SASLResponse) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*SASLResponse) Frontend ¶
func (*SASLResponse) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (SASLResponse) MarshalJSON ¶
func (src SASLResponse) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
func (*SASLResponse) UnmarshalJSON ¶ added in v2.1.0
func (dst *SASLResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON implements encoding/json.Unmarshaler.
type SSLRequest ¶
type SSLRequest struct { }
func (*SSLRequest) Decode ¶
func (dst *SSLRequest) Decode(src []byte) error
func (*SSLRequest) Encode ¶
func (src *SSLRequest) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 4 byte message length.
func (*SSLRequest) Frontend ¶
func (*SSLRequest) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (SSLRequest) MarshalJSON ¶
func (src SSLRequest) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type StartupMessage ¶
func (*StartupMessage) Decode ¶
func (dst *StartupMessage) Decode(src []byte) error
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*StartupMessage) Encode ¶
func (src *StartupMessage) Encode(dst []byte) ([]byte, error)
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*StartupMessage) Frontend ¶
func (*StartupMessage) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (StartupMessage) MarshalJSON ¶
func (src StartupMessage) MarshalJSON() ([]byte, error)
MarshalJSON implements encoding/json.Marshaler.
type Sync ¶
type Sync struct{}
func (*Sync) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Sync) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Sync) Frontend ¶
func (*Sync) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Sync) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
type Terminate ¶
type Terminate struct{}
func (*Terminate) Decode ¶
Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message type identifier and 4 byte message length.
func (*Terminate) Encode ¶
Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length.
func (*Terminate) Frontend ¶
func (*Terminate) Frontend()
Frontend identifies this message as sendable by a PostgreSQL frontend.
func (Terminate) MarshalJSON ¶
MarshalJSON implements encoding/json.Marshaler.
Source Files ¶
- authentication_cleartext_password.go
- authentication_gss.go
- authentication_gss_continue.go
- authentication_md5_password.go
- authentication_ok.go
- authentication_sasl.go
- authentication_sasl_continue.go
- authentication_sasl_final.go
- backend.go
- backend_key_data.go
- big_endian.go
- bind.go
- bind_complete.go
- cancel_request.go
- chunkreader.go
- close.go
- close_complete.go
- command_complete.go
- copy_both_response.go
- copy_data.go
- copy_done.go
- copy_fail.go
- copy_in_response.go
- copy_out_response.go
- data_row.go
- describe.go
- doc.go
- empty_query_response.go
- error_response.go
- execute.go
- flush.go
- frontend.go
- function_call.go
- function_call_response.go
- gss_enc_request.go
- gss_response.go
- no_data.go
- notice_response.go
- notification_response.go
- parameter_description.go
- parameter_status.go
- parse.go
- parse_complete.go
- password_message.go
- pgproto3.go
- portal_suspended.go
- query.go
- ready_for_query.go
- row_description.go
- sasl_initial_response.go
- sasl_response.go
- ssl_request.go
- startup_message.go
- sync.go
- terminate.go