pgtype

package
v3.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2017 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BoolOID             = 16
	ByteaOID            = 17
	CharOID             = 18
	NameOID             = 19
	Int8OID             = 20
	Int2OID             = 21
	Int4OID             = 23
	TextOID             = 25
	OIDOID              = 26
	TIDOID              = 27
	XIDOID              = 28
	CIDOID              = 29
	JSONOID             = 114
	CIDROID             = 650
	CIDRArrayOID        = 651
	Float4OID           = 700
	Float8OID           = 701
	UnknownOID          = 705
	InetOID             = 869
	BoolArrayOID        = 1000
	Int2ArrayOID        = 1005
	Int4ArrayOID        = 1007
	TextArrayOID        = 1009
	ByteaArrayOID       = 1001
	VarcharArrayOID     = 1015
	Int8ArrayOID        = 1016
	Float4ArrayOID      = 1021
	Float8ArrayOID      = 1022
	ACLItemOID          = 1033
	ACLItemArrayOID     = 1034
	InetArrayOID        = 1041
	VarcharOID          = 1043
	DateOID             = 1082
	TimestampOID        = 1114
	TimestampArrayOID   = 1115
	DateArrayOID        = 1182
	TimestamptzOID      = 1184
	TimestamptzArrayOID = 1185
	RecordOID           = 2249
	UUIDOID             = 2950
	JSONBOID            = 3802
)

PostgreSQL oids for common types

View Source
const (
	Inclusive = BoundType('i')
	Exclusive = BoundType('e')
	Unbounded = BoundType('U')
	Empty     = BoundType('E')
)

Variables

This section is empty.

Functions

func DatabaseSQLValue

func DatabaseSQLValue(ci *ConnInfo, src Value) (interface{}, error)

func EncodeTextArrayDimensions

func EncodeTextArrayDimensions(buf []byte, dimensions []ArrayDimension) []byte

func EncodeValueText

func EncodeValueText(src TextEncoder) (interface{}, error)

func GetAssignToDstType

func GetAssignToDstType(dst interface{}) (interface{}, bool)

GetAssignToDstType attempts to convert dst to something AssignTo can assign to. If dst is a pointer to pointer it allocates a value and returns the dereferences pointer. If dst is a named type such as *Foo where Foo is type Foo int16, it converts dst to *int16.

GetAssignToDstType returns the converted dst and a bool representing if any change was made.

func NullAssignTo

func NullAssignTo(dst interface{}) error

func QuoteArrayElementIfNeeded

func QuoteArrayElementIfNeeded(src string) string

Types

type ACLItem

type ACLItem struct {
	String string
	Status Status
}

ACLItem is used for PostgreSQL's aclitem data type. A sample aclitem might look like this:

postgres=arwdDxt/postgres

Note, however, that because the user/role name part of an aclitem is an identifier, it follows all the usual formatting rules for SQL identifiers: if it contains spaces and other special characters, it should appear in double-quotes:

postgres=arwdDxt/"role with spaces"

func (*ACLItem) AssignTo

func (src *ACLItem) AssignTo(dst interface{}) error

func (*ACLItem) DecodeText

func (dst *ACLItem) DecodeText(ci *ConnInfo, src []byte) error

func (*ACLItem) EncodeText

func (src *ACLItem) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*ACLItem) Get

func (dst *ACLItem) Get() interface{}

func (*ACLItem) Scan

func (dst *ACLItem) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*ACLItem) Set

func (dst *ACLItem) Set(src interface{}) error

func (*ACLItem) Value

func (src *ACLItem) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type ACLItemArray

type ACLItemArray struct {
	Elements   []ACLItem
	Dimensions []ArrayDimension
	Status     Status
}

func (*ACLItemArray) AssignTo

func (src *ACLItemArray) AssignTo(dst interface{}) error

func (*ACLItemArray) DecodeText

func (dst *ACLItemArray) DecodeText(ci *ConnInfo, src []byte) error

func (*ACLItemArray) EncodeText

func (src *ACLItemArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*ACLItemArray) Get

func (dst *ACLItemArray) Get() interface{}

func (*ACLItemArray) Scan

func (dst *ACLItemArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*ACLItemArray) Set

func (dst *ACLItemArray) Set(src interface{}) error

func (*ACLItemArray) Value

func (src *ACLItemArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type ArrayDimension

type ArrayDimension struct {
	Length     int32
	LowerBound int32
}

type ArrayHeader

type ArrayHeader struct {
	ContainsNull bool
	ElementOID   int32
	Dimensions   []ArrayDimension
}

func (*ArrayHeader) DecodeBinary

func (dst *ArrayHeader) DecodeBinary(ci *ConnInfo, src []byte) (int, error)

func (*ArrayHeader) EncodeBinary

func (src *ArrayHeader) EncodeBinary(ci *ConnInfo, buf []byte) []byte

type BinaryDecoder

type BinaryDecoder interface {
	// DecodeBinary decodes src into BinaryDecoder. If src is nil then the
	// original SQL value is NULL. BinaryDecoder takes ownership of src. The
	// caller MUST not use it again.
	DecodeBinary(ci *ConnInfo, src []byte) error
}

type BinaryEncoder

type BinaryEncoder interface {
	// EncodeBinary should append the binary format of self to buf. If self is the
	// SQL value NULL then append nothing and return (nil, nil). The caller of
	// EncodeBinary is responsible for writing the correct NULL value or the
	// length of the data written.
	EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
}

BinaryEncoder is implemented by types that can encode themselves into the PostgreSQL binary wire format.

type Bool

type Bool struct {
	Bool   bool
	Status Status
}

func (*Bool) AssignTo

func (src *Bool) AssignTo(dst interface{}) error

func (*Bool) DecodeBinary

func (dst *Bool) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Bool) DecodeText

func (dst *Bool) DecodeText(ci *ConnInfo, src []byte) error

func (*Bool) EncodeBinary

func (src *Bool) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Bool) EncodeText

func (src *Bool) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Bool) Get

func (dst *Bool) Get() interface{}

func (*Bool) Scan

func (dst *Bool) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Bool) Set

func (dst *Bool) Set(src interface{}) error

func (*Bool) Value

func (src *Bool) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type BoolArray

type BoolArray struct {
	Elements   []Bool
	Dimensions []ArrayDimension
	Status     Status
}

func (*BoolArray) AssignTo

func (src *BoolArray) AssignTo(dst interface{}) error

func (*BoolArray) DecodeBinary

func (dst *BoolArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*BoolArray) DecodeText

func (dst *BoolArray) DecodeText(ci *ConnInfo, src []byte) error

func (*BoolArray) EncodeBinary

func (src *BoolArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*BoolArray) EncodeText

func (src *BoolArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*BoolArray) Get

func (dst *BoolArray) Get() interface{}

func (*BoolArray) Scan

func (dst *BoolArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*BoolArray) Set

func (dst *BoolArray) Set(src interface{}) error

func (*BoolArray) Value

func (src *BoolArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type BoundType

type BoundType byte

type Box

type Box struct {
	P      [2]Vec2
	Status Status
}

func (*Box) AssignTo

func (src *Box) AssignTo(dst interface{}) error

func (*Box) DecodeBinary

func (dst *Box) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Box) DecodeText

func (dst *Box) DecodeText(ci *ConnInfo, src []byte) error

func (*Box) EncodeBinary

func (src *Box) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Box) EncodeText

func (src *Box) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Box) Get

func (dst *Box) Get() interface{}

func (*Box) Scan

func (dst *Box) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Box) Set

func (dst *Box) Set(src interface{}) error

func (*Box) Value

func (src *Box) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Bytea

type Bytea struct {
	Bytes  []byte
	Status Status
}

func (*Bytea) AssignTo

func (src *Bytea) AssignTo(dst interface{}) error

func (*Bytea) DecodeBinary

func (dst *Bytea) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Bytea) DecodeText

func (dst *Bytea) DecodeText(ci *ConnInfo, src []byte) error

DecodeText only supports the hex format. This has been the default since PostgreSQL 9.0.

func (*Bytea) EncodeBinary

func (src *Bytea) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Bytea) EncodeText

func (src *Bytea) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Bytea) Get

func (dst *Bytea) Get() interface{}

func (*Bytea) Scan

func (dst *Bytea) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Bytea) Set

func (dst *Bytea) Set(src interface{}) error

func (*Bytea) Value

func (src *Bytea) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type ByteaArray

type ByteaArray struct {
	Elements   []Bytea
	Dimensions []ArrayDimension
	Status     Status
}

func (*ByteaArray) AssignTo

func (src *ByteaArray) AssignTo(dst interface{}) error

func (*ByteaArray) DecodeBinary

func (dst *ByteaArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*ByteaArray) DecodeText

func (dst *ByteaArray) DecodeText(ci *ConnInfo, src []byte) error

func (*ByteaArray) EncodeBinary

func (src *ByteaArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*ByteaArray) EncodeText

func (src *ByteaArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*ByteaArray) Get

func (dst *ByteaArray) Get() interface{}

func (*ByteaArray) Scan

func (dst *ByteaArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*ByteaArray) Set

func (dst *ByteaArray) Set(src interface{}) error

func (*ByteaArray) Value

func (src *ByteaArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type CID

type CID pguint32

CID is PostgreSQL's Command Identifier type.

When one does

select cmin, cmax, * from some_table;

it is the data type of the cmin and cmax hidden system columns.

It is currently implemented as an unsigned four byte integer. Its definition can be found in src/include/c.h as CommandId in the PostgreSQL sources.

func (*CID) AssignTo

func (src *CID) AssignTo(dst interface{}) error

AssignTo assigns from src to dst. Note that as CID is not a general number type AssignTo does not do automatic type conversion as other number types do.

func (*CID) DecodeBinary

func (dst *CID) DecodeBinary(ci *ConnInfo, src []byte) error

func (*CID) DecodeText

func (dst *CID) DecodeText(ci *ConnInfo, src []byte) error

func (*CID) EncodeBinary

func (src *CID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CID) EncodeText

func (src *CID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CID) Get

func (dst *CID) Get() interface{}

func (*CID) Scan

func (dst *CID) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*CID) Set

func (dst *CID) Set(src interface{}) error

Set converts from src to dst. Note that as CID is not a general number type Set does not do automatic type conversion as other number types do.

func (*CID) Value

func (src *CID) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type CIDR

type CIDR Inet

func (*CIDR) AssignTo

func (src *CIDR) AssignTo(dst interface{}) error

func (*CIDR) DecodeBinary

func (dst *CIDR) DecodeBinary(ci *ConnInfo, src []byte) error

func (*CIDR) DecodeText

func (dst *CIDR) DecodeText(ci *ConnInfo, src []byte) error

func (*CIDR) EncodeBinary

func (src *CIDR) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CIDR) EncodeText

func (src *CIDR) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CIDR) Get

func (dst *CIDR) Get() interface{}

func (*CIDR) Set

func (dst *CIDR) Set(src interface{}) error

type CIDRArray

type CIDRArray struct {
	Elements   []CIDR
	Dimensions []ArrayDimension
	Status     Status
}

func (*CIDRArray) AssignTo

func (src *CIDRArray) AssignTo(dst interface{}) error

func (*CIDRArray) DecodeBinary

func (dst *CIDRArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*CIDRArray) DecodeText

func (dst *CIDRArray) DecodeText(ci *ConnInfo, src []byte) error

func (*CIDRArray) EncodeBinary

func (src *CIDRArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CIDRArray) EncodeText

func (src *CIDRArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*CIDRArray) Get

func (dst *CIDRArray) Get() interface{}

func (*CIDRArray) Scan

func (dst *CIDRArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*CIDRArray) Set

func (dst *CIDRArray) Set(src interface{}) error

func (*CIDRArray) Value

func (src *CIDRArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Circle

type Circle struct {
	P      Vec2
	R      float64
	Status Status
}

func (*Circle) AssignTo

func (src *Circle) AssignTo(dst interface{}) error

func (*Circle) DecodeBinary

func (dst *Circle) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Circle) DecodeText

func (dst *Circle) DecodeText(ci *ConnInfo, src []byte) error

func (*Circle) EncodeBinary

func (src *Circle) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Circle) EncodeText

func (src *Circle) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Circle) Get

func (dst *Circle) Get() interface{}

func (*Circle) Scan

func (dst *Circle) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Circle) Set

func (dst *Circle) Set(src interface{}) error

func (*Circle) Value

func (src *Circle) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type ConnInfo

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

func NewConnInfo

func NewConnInfo() *ConnInfo

func (*ConnInfo) DataTypeForName

func (ci *ConnInfo) DataTypeForName(name string) (*DataType, bool)

func (*ConnInfo) DataTypeForOID

func (ci *ConnInfo) DataTypeForOID(oid OID) (*DataType, bool)

func (*ConnInfo) DataTypeForValue

func (ci *ConnInfo) DataTypeForValue(v Value) (*DataType, bool)

func (*ConnInfo) DeepCopy

func (ci *ConnInfo) DeepCopy() *ConnInfo

DeepCopy makes a deep copy of the ConnInfo.

func (*ConnInfo) InitializeDataTypes

func (ci *ConnInfo) InitializeDataTypes(nameOIDs map[string]OID)

func (*ConnInfo) RegisterDataType

func (ci *ConnInfo) RegisterDataType(t DataType)

type DataType

type DataType struct {
	Value Value
	Name  string
	OID   OID
}

type Date

type Date struct {
	Time             time.Time
	Status           Status
	InfinityModifier InfinityModifier
}

func (*Date) AssignTo

func (src *Date) AssignTo(dst interface{}) error

func (*Date) DecodeBinary

func (dst *Date) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Date) DecodeText

func (dst *Date) DecodeText(ci *ConnInfo, src []byte) error

func (*Date) EncodeBinary

func (src *Date) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Date) EncodeText

func (src *Date) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Date) Get

func (dst *Date) Get() interface{}

func (*Date) Scan

func (dst *Date) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Date) Set

func (dst *Date) Set(src interface{}) error

func (*Date) Value

func (src *Date) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type DateArray

type DateArray struct {
	Elements   []Date
	Dimensions []ArrayDimension
	Status     Status
}

func (*DateArray) AssignTo

func (src *DateArray) AssignTo(dst interface{}) error

func (*DateArray) DecodeBinary

func (dst *DateArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*DateArray) DecodeText

func (dst *DateArray) DecodeText(ci *ConnInfo, src []byte) error

func (*DateArray) EncodeBinary

func (src *DateArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*DateArray) EncodeText

func (src *DateArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*DateArray) Get

func (dst *DateArray) Get() interface{}

func (*DateArray) Scan

func (dst *DateArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*DateArray) Set

func (dst *DateArray) Set(src interface{}) error

func (*DateArray) Value

func (src *DateArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Daterange

type Daterange struct {
	Lower     Date
	Upper     Date
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Daterange) AssignTo

func (src *Daterange) AssignTo(dst interface{}) error

func (*Daterange) DecodeBinary

func (dst *Daterange) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Daterange) DecodeText

func (dst *Daterange) DecodeText(ci *ConnInfo, src []byte) error

func (Daterange) EncodeBinary

func (src Daterange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Daterange) EncodeText

func (src Daterange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Daterange) Get

func (dst *Daterange) Get() interface{}

func (*Daterange) Scan

func (dst *Daterange) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Daterange) Set

func (dst *Daterange) Set(src interface{}) error

func (Daterange) Value

func (src Daterange) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Decimal

type Decimal Numeric

func (*Decimal) AssignTo

func (src *Decimal) AssignTo(dst interface{}) error

func (*Decimal) DecodeBinary

func (dst *Decimal) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Decimal) DecodeText

func (dst *Decimal) DecodeText(ci *ConnInfo, src []byte) error

func (*Decimal) EncodeBinary

func (src *Decimal) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Decimal) EncodeText

func (src *Decimal) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Decimal) Get

func (dst *Decimal) Get() interface{}

func (*Decimal) Set

func (dst *Decimal) Set(src interface{}) error

type Float4

type Float4 struct {
	Float  float32
	Status Status
}

func (*Float4) AssignTo

func (src *Float4) AssignTo(dst interface{}) error

func (*Float4) DecodeBinary

func (dst *Float4) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Float4) DecodeText

func (dst *Float4) DecodeText(ci *ConnInfo, src []byte) error

func (*Float4) EncodeBinary

func (src *Float4) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float4) EncodeText

func (src *Float4) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float4) Get

func (dst *Float4) Get() interface{}

func (*Float4) Scan

func (dst *Float4) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Float4) Set

func (dst *Float4) Set(src interface{}) error

func (*Float4) Value

func (src *Float4) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Float4Array

type Float4Array struct {
	Elements   []Float4
	Dimensions []ArrayDimension
	Status     Status
}

func (*Float4Array) AssignTo

func (src *Float4Array) AssignTo(dst interface{}) error

func (*Float4Array) DecodeBinary

func (dst *Float4Array) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Float4Array) DecodeText

func (dst *Float4Array) DecodeText(ci *ConnInfo, src []byte) error

func (*Float4Array) EncodeBinary

func (src *Float4Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float4Array) EncodeText

func (src *Float4Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float4Array) Get

func (dst *Float4Array) Get() interface{}

func (*Float4Array) Scan

func (dst *Float4Array) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Float4Array) Set

func (dst *Float4Array) Set(src interface{}) error

func (*Float4Array) Value

func (src *Float4Array) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Float8

type Float8 struct {
	Float  float64
	Status Status
}

func (*Float8) AssignTo

func (src *Float8) AssignTo(dst interface{}) error

func (*Float8) DecodeBinary

func (dst *Float8) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Float8) DecodeText

func (dst *Float8) DecodeText(ci *ConnInfo, src []byte) error

func (*Float8) EncodeBinary

func (src *Float8) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float8) EncodeText

func (src *Float8) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float8) Get

func (dst *Float8) Get() interface{}

func (*Float8) Scan

func (dst *Float8) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Float8) Set

func (dst *Float8) Set(src interface{}) error

func (*Float8) Value

func (src *Float8) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Float8Array

type Float8Array struct {
	Elements   []Float8
	Dimensions []ArrayDimension
	Status     Status
}

func (*Float8Array) AssignTo

func (src *Float8Array) AssignTo(dst interface{}) error

func (*Float8Array) DecodeBinary

func (dst *Float8Array) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Float8Array) DecodeText

func (dst *Float8Array) DecodeText(ci *ConnInfo, src []byte) error

func (*Float8Array) EncodeBinary

func (src *Float8Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float8Array) EncodeText

func (src *Float8Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Float8Array) Get

func (dst *Float8Array) Get() interface{}

func (*Float8Array) Scan

func (dst *Float8Array) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Float8Array) Set

func (dst *Float8Array) Set(src interface{}) error

func (*Float8Array) Value

func (src *Float8Array) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type GenericBinary

type GenericBinary Bytea

GenericBinary is a placeholder for binary format values that no other type exists to handle.

func (*GenericBinary) AssignTo

func (src *GenericBinary) AssignTo(dst interface{}) error

func (*GenericBinary) DecodeBinary

func (dst *GenericBinary) DecodeBinary(ci *ConnInfo, src []byte) error

func (*GenericBinary) EncodeBinary

func (src *GenericBinary) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*GenericBinary) Get

func (dst *GenericBinary) Get() interface{}

func (*GenericBinary) Scan

func (dst *GenericBinary) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*GenericBinary) Set

func (dst *GenericBinary) Set(src interface{}) error

func (*GenericBinary) Value

func (src *GenericBinary) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type GenericText

type GenericText Text

GenericText is a placeholder for text format values that no other type exists to handle.

func (*GenericText) AssignTo

func (src *GenericText) AssignTo(dst interface{}) error

func (*GenericText) DecodeText

func (dst *GenericText) DecodeText(ci *ConnInfo, src []byte) error

func (*GenericText) EncodeText

func (src *GenericText) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*GenericText) Get

func (dst *GenericText) Get() interface{}

func (*GenericText) Scan

func (dst *GenericText) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*GenericText) Set

func (dst *GenericText) Set(src interface{}) error

func (*GenericText) Value

func (src *GenericText) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Hstore

type Hstore struct {
	Map    map[string]Text
	Status Status
}

Hstore represents an hstore column that can be null or have null values associated with its keys.

func (*Hstore) AssignTo

func (src *Hstore) AssignTo(dst interface{}) error

func (*Hstore) DecodeBinary

func (dst *Hstore) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Hstore) DecodeText

func (dst *Hstore) DecodeText(ci *ConnInfo, src []byte) error

func (*Hstore) EncodeBinary

func (src *Hstore) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Hstore) EncodeText

func (src *Hstore) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Hstore) Get

func (dst *Hstore) Get() interface{}

func (*Hstore) Scan

func (dst *Hstore) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Hstore) Set

func (dst *Hstore) Set(src interface{}) error

func (*Hstore) Value

func (src *Hstore) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type HstoreArray

type HstoreArray struct {
	Elements   []Hstore
	Dimensions []ArrayDimension
	Status     Status
}

func (*HstoreArray) AssignTo

func (src *HstoreArray) AssignTo(dst interface{}) error

func (*HstoreArray) DecodeBinary

func (dst *HstoreArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*HstoreArray) DecodeText

func (dst *HstoreArray) DecodeText(ci *ConnInfo, src []byte) error

func (*HstoreArray) EncodeBinary

func (src *HstoreArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*HstoreArray) EncodeText

func (src *HstoreArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*HstoreArray) Get

func (dst *HstoreArray) Get() interface{}

func (*HstoreArray) Scan

func (dst *HstoreArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*HstoreArray) Set

func (dst *HstoreArray) Set(src interface{}) error

func (*HstoreArray) Value

func (src *HstoreArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Inet

type Inet struct {
	IPNet  *net.IPNet
	Status Status
}

Inet represents both inet and cidr PostgreSQL types.

func (*Inet) AssignTo

func (src *Inet) AssignTo(dst interface{}) error

func (*Inet) DecodeBinary

func (dst *Inet) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Inet) DecodeText

func (dst *Inet) DecodeText(ci *ConnInfo, src []byte) error

func (*Inet) EncodeBinary

func (src *Inet) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

EncodeBinary encodes src into w.

func (*Inet) EncodeText

func (src *Inet) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Inet) Get

func (dst *Inet) Get() interface{}

func (*Inet) Scan

func (dst *Inet) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Inet) Set

func (dst *Inet) Set(src interface{}) error

func (*Inet) Value

func (src *Inet) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type InetArray

type InetArray struct {
	Elements   []Inet
	Dimensions []ArrayDimension
	Status     Status
}

func (*InetArray) AssignTo

func (src *InetArray) AssignTo(dst interface{}) error

func (*InetArray) DecodeBinary

func (dst *InetArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*InetArray) DecodeText

func (dst *InetArray) DecodeText(ci *ConnInfo, src []byte) error

func (*InetArray) EncodeBinary

func (src *InetArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*InetArray) EncodeText

func (src *InetArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*InetArray) Get

func (dst *InetArray) Get() interface{}

func (*InetArray) Scan

func (dst *InetArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*InetArray) Set

func (dst *InetArray) Set(src interface{}) error

func (*InetArray) Value

func (src *InetArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type InfinityModifier

type InfinityModifier int8
const (
	Infinity         InfinityModifier = 1
	None             InfinityModifier = 0
	NegativeInfinity InfinityModifier = -Infinity
)

func (InfinityModifier) String

func (im InfinityModifier) String() string

type Int2

type Int2 struct {
	Int    int16
	Status Status
}

func (*Int2) AssignTo

func (src *Int2) AssignTo(dst interface{}) error

func (*Int2) DecodeBinary

func (dst *Int2) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int2) DecodeText

func (dst *Int2) DecodeText(ci *ConnInfo, src []byte) error

func (*Int2) EncodeBinary

func (src *Int2) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int2) EncodeText

func (src *Int2) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int2) Get

func (dst *Int2) Get() interface{}

func (*Int2) MarshalJSON

func (src *Int2) MarshalJSON() ([]byte, error)

func (*Int2) Scan

func (dst *Int2) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int2) Set

func (dst *Int2) Set(src interface{}) error

func (*Int2) Value

func (src *Int2) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int2Array

type Int2Array struct {
	Elements   []Int2
	Dimensions []ArrayDimension
	Status     Status
}

func (*Int2Array) AssignTo

func (src *Int2Array) AssignTo(dst interface{}) error

func (*Int2Array) DecodeBinary

func (dst *Int2Array) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int2Array) DecodeText

func (dst *Int2Array) DecodeText(ci *ConnInfo, src []byte) error

func (*Int2Array) EncodeBinary

func (src *Int2Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int2Array) EncodeText

func (src *Int2Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int2Array) Get

func (dst *Int2Array) Get() interface{}

func (*Int2Array) Scan

func (dst *Int2Array) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int2Array) Set

func (dst *Int2Array) Set(src interface{}) error

func (*Int2Array) Value

func (src *Int2Array) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int4

type Int4 struct {
	Int    int32
	Status Status
}

func (*Int4) AssignTo

func (src *Int4) AssignTo(dst interface{}) error

func (*Int4) DecodeBinary

func (dst *Int4) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int4) DecodeText

func (dst *Int4) DecodeText(ci *ConnInfo, src []byte) error

func (*Int4) EncodeBinary

func (src *Int4) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int4) EncodeText

func (src *Int4) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int4) Get

func (dst *Int4) Get() interface{}

func (*Int4) MarshalJSON

func (src *Int4) MarshalJSON() ([]byte, error)

func (*Int4) Scan

func (dst *Int4) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int4) Set

func (dst *Int4) Set(src interface{}) error

func (*Int4) Value

func (src *Int4) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int4Array

type Int4Array struct {
	Elements   []Int4
	Dimensions []ArrayDimension
	Status     Status
}

func (*Int4Array) AssignTo

func (src *Int4Array) AssignTo(dst interface{}) error

func (*Int4Array) DecodeBinary

func (dst *Int4Array) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int4Array) DecodeText

func (dst *Int4Array) DecodeText(ci *ConnInfo, src []byte) error

func (*Int4Array) EncodeBinary

func (src *Int4Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int4Array) EncodeText

func (src *Int4Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int4Array) Get

func (dst *Int4Array) Get() interface{}

func (*Int4Array) Scan

func (dst *Int4Array) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int4Array) Set

func (dst *Int4Array) Set(src interface{}) error

func (*Int4Array) Value

func (src *Int4Array) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int4range

type Int4range struct {
	Lower     Int4
	Upper     Int4
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Int4range) AssignTo

func (src *Int4range) AssignTo(dst interface{}) error

func (*Int4range) DecodeBinary

func (dst *Int4range) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int4range) DecodeText

func (dst *Int4range) DecodeText(ci *ConnInfo, src []byte) error

func (Int4range) EncodeBinary

func (src Int4range) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Int4range) EncodeText

func (src Int4range) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int4range) Get

func (dst *Int4range) Get() interface{}

func (*Int4range) Scan

func (dst *Int4range) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int4range) Set

func (dst *Int4range) Set(src interface{}) error

func (Int4range) Value

func (src Int4range) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int8

type Int8 struct {
	Int    int64
	Status Status
}

func (*Int8) AssignTo

func (src *Int8) AssignTo(dst interface{}) error

func (*Int8) DecodeBinary

func (dst *Int8) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int8) DecodeText

func (dst *Int8) DecodeText(ci *ConnInfo, src []byte) error

func (*Int8) EncodeBinary

func (src *Int8) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int8) EncodeText

func (src *Int8) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int8) Get

func (dst *Int8) Get() interface{}

func (*Int8) MarshalJSON

func (src *Int8) MarshalJSON() ([]byte, error)

func (*Int8) Scan

func (dst *Int8) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int8) Set

func (dst *Int8) Set(src interface{}) error

func (*Int8) Value

func (src *Int8) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int8Array

type Int8Array struct {
	Elements   []Int8
	Dimensions []ArrayDimension
	Status     Status
}

func (*Int8Array) AssignTo

func (src *Int8Array) AssignTo(dst interface{}) error

func (*Int8Array) DecodeBinary

func (dst *Int8Array) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int8Array) DecodeText

func (dst *Int8Array) DecodeText(ci *ConnInfo, src []byte) error

func (*Int8Array) EncodeBinary

func (src *Int8Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int8Array) EncodeText

func (src *Int8Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int8Array) Get

func (dst *Int8Array) Get() interface{}

func (*Int8Array) Scan

func (dst *Int8Array) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int8Array) Set

func (dst *Int8Array) Set(src interface{}) error

func (*Int8Array) Value

func (src *Int8Array) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Int8range

type Int8range struct {
	Lower     Int8
	Upper     Int8
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Int8range) AssignTo

func (src *Int8range) AssignTo(dst interface{}) error

func (*Int8range) DecodeBinary

func (dst *Int8range) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Int8range) DecodeText

func (dst *Int8range) DecodeText(ci *ConnInfo, src []byte) error

func (Int8range) EncodeBinary

func (src Int8range) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Int8range) EncodeText

func (src Int8range) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Int8range) Get

func (dst *Int8range) Get() interface{}

func (*Int8range) Scan

func (dst *Int8range) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Int8range) Set

func (dst *Int8range) Set(src interface{}) error

func (Int8range) Value

func (src Int8range) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Interval

type Interval struct {
	Microseconds int64
	Days         int32
	Months       int32
	Status       Status
}

func (*Interval) AssignTo

func (src *Interval) AssignTo(dst interface{}) error

func (*Interval) DecodeBinary

func (dst *Interval) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Interval) DecodeText

func (dst *Interval) DecodeText(ci *ConnInfo, src []byte) error

func (*Interval) EncodeBinary

func (src *Interval) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

EncodeBinary encodes src into w.

func (*Interval) EncodeText

func (src *Interval) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Interval) Get

func (dst *Interval) Get() interface{}

func (*Interval) Scan

func (dst *Interval) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Interval) Set

func (dst *Interval) Set(src interface{}) error

func (*Interval) Value

func (src *Interval) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type JSON

type JSON struct {
	Bytes  []byte
	Status Status
}

func (*JSON) AssignTo

func (src *JSON) AssignTo(dst interface{}) error

func (*JSON) DecodeBinary

func (dst *JSON) DecodeBinary(ci *ConnInfo, src []byte) error

func (*JSON) DecodeText

func (dst *JSON) DecodeText(ci *ConnInfo, src []byte) error

func (*JSON) EncodeBinary

func (src *JSON) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*JSON) EncodeText

func (src *JSON) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*JSON) Get

func (dst *JSON) Get() interface{}

func (*JSON) Scan

func (dst *JSON) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*JSON) Set

func (dst *JSON) Set(src interface{}) error

func (*JSON) Value

func (src *JSON) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type JSONB

type JSONB JSON

func (*JSONB) AssignTo

func (src *JSONB) AssignTo(dst interface{}) error

func (*JSONB) DecodeBinary

func (dst *JSONB) DecodeBinary(ci *ConnInfo, src []byte) error

func (*JSONB) DecodeText

func (dst *JSONB) DecodeText(ci *ConnInfo, src []byte) error

func (*JSONB) EncodeBinary

func (src *JSONB) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*JSONB) EncodeText

func (src *JSONB) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*JSONB) Get

func (dst *JSONB) Get() interface{}

func (*JSONB) Scan

func (dst *JSONB) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*JSONB) Set

func (dst *JSONB) Set(src interface{}) error

func (*JSONB) Value

func (src *JSONB) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Line

type Line struct {
	A, B, C float64
	Status  Status
}

func (*Line) AssignTo

func (src *Line) AssignTo(dst interface{}) error

func (*Line) DecodeBinary

func (dst *Line) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Line) DecodeText

func (dst *Line) DecodeText(ci *ConnInfo, src []byte) error

func (*Line) EncodeBinary

func (src *Line) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Line) EncodeText

func (src *Line) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Line) Get

func (dst *Line) Get() interface{}

func (*Line) Scan

func (dst *Line) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Line) Set

func (dst *Line) Set(src interface{}) error

func (*Line) Value

func (src *Line) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Lseg

type Lseg struct {
	P      [2]Vec2
	Status Status
}

func (*Lseg) AssignTo

func (src *Lseg) AssignTo(dst interface{}) error

func (*Lseg) DecodeBinary

func (dst *Lseg) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Lseg) DecodeText

func (dst *Lseg) DecodeText(ci *ConnInfo, src []byte) error

func (*Lseg) EncodeBinary

func (src *Lseg) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Lseg) EncodeText

func (src *Lseg) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Lseg) Get

func (dst *Lseg) Get() interface{}

func (*Lseg) Scan

func (dst *Lseg) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Lseg) Set

func (dst *Lseg) Set(src interface{}) error

func (*Lseg) Value

func (src *Lseg) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Macaddr

type Macaddr struct {
	Addr   net.HardwareAddr
	Status Status
}

func (*Macaddr) AssignTo

func (src *Macaddr) AssignTo(dst interface{}) error

func (*Macaddr) DecodeBinary

func (dst *Macaddr) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Macaddr) DecodeText

func (dst *Macaddr) DecodeText(ci *ConnInfo, src []byte) error

func (*Macaddr) EncodeBinary

func (src *Macaddr) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

EncodeBinary encodes src into w.

func (*Macaddr) EncodeText

func (src *Macaddr) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Macaddr) Get

func (dst *Macaddr) Get() interface{}

func (*Macaddr) Scan

func (dst *Macaddr) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Macaddr) Set

func (dst *Macaddr) Set(src interface{}) error

func (*Macaddr) Value

func (src *Macaddr) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Name

type Name Text

Name is a type used for PostgreSQL's special 63-byte name data type, used for identifiers like table names. The pg_class.relname column is a good example of where the name data type is used.

Note that the underlying Go data type of pgx.Name is string, so there is no way to enforce the 63-byte length. Inputting a longer name into PostgreSQL will result in silent truncation to 63 bytes.

Also, if you have custom-compiled PostgreSQL and set NAMEDATALEN to a different value, obviously that number of bytes applies, rather than the default 63.

func (*Name) AssignTo

func (src *Name) AssignTo(dst interface{}) error

func (*Name) DecodeBinary

func (dst *Name) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Name) DecodeText

func (dst *Name) DecodeText(ci *ConnInfo, src []byte) error

func (*Name) EncodeBinary

func (src *Name) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Name) EncodeText

func (src *Name) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Name) Get

func (dst *Name) Get() interface{}

func (*Name) Scan

func (dst *Name) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Name) Set

func (dst *Name) Set(src interface{}) error

func (*Name) Value

func (src *Name) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Numeric

type Numeric struct {
	Int    *big.Int
	Exp    int32
	Status Status
}

func (*Numeric) AssignTo

func (src *Numeric) AssignTo(dst interface{}) error

func (*Numeric) DecodeBinary

func (dst *Numeric) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Numeric) DecodeText

func (dst *Numeric) DecodeText(ci *ConnInfo, src []byte) error

func (*Numeric) EncodeBinary

func (src *Numeric) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Numeric) EncodeText

func (src *Numeric) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Numeric) Get

func (dst *Numeric) Get() interface{}

func (*Numeric) Scan

func (dst *Numeric) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Numeric) Set

func (dst *Numeric) Set(src interface{}) error

func (*Numeric) Value

func (src *Numeric) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type NumericArray

type NumericArray struct {
	Elements   []Numeric
	Dimensions []ArrayDimension
	Status     Status
}

func (*NumericArray) AssignTo

func (src *NumericArray) AssignTo(dst interface{}) error

func (*NumericArray) DecodeBinary

func (dst *NumericArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*NumericArray) DecodeText

func (dst *NumericArray) DecodeText(ci *ConnInfo, src []byte) error

func (*NumericArray) EncodeBinary

func (src *NumericArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*NumericArray) EncodeText

func (src *NumericArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*NumericArray) Get

func (dst *NumericArray) Get() interface{}

func (*NumericArray) Scan

func (dst *NumericArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*NumericArray) Set

func (dst *NumericArray) Set(src interface{}) error

func (*NumericArray) Value

func (src *NumericArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Numrange

type Numrange struct {
	Lower     Numeric
	Upper     Numeric
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Numrange) AssignTo

func (src *Numrange) AssignTo(dst interface{}) error

func (*Numrange) DecodeBinary

func (dst *Numrange) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Numrange) DecodeText

func (dst *Numrange) DecodeText(ci *ConnInfo, src []byte) error

func (Numrange) EncodeBinary

func (src Numrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Numrange) EncodeText

func (src Numrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Numrange) Get

func (dst *Numrange) Get() interface{}

func (*Numrange) Scan

func (dst *Numrange) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Numrange) Set

func (dst *Numrange) Set(src interface{}) error

func (Numrange) Value

func (src Numrange) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type OID

type OID uint32

OID (Object Identifier Type) is, according to https://www.postgresql.org/docs/current/static/datatype-oid.html, used internally by PostgreSQL as a primary key for various system tables. It is currently implemented as an unsigned four-byte integer. Its definition can be found in src/include/postgres_ext.h in the PostgreSQL sources. Because it is so frequently required to be in a NOT NULL condition OID cannot be NULL. To allow for NULL OIDs use OIDValue.

func (*OID) DecodeBinary

func (dst *OID) DecodeBinary(ci *ConnInfo, src []byte) error

func (*OID) DecodeText

func (dst *OID) DecodeText(ci *ConnInfo, src []byte) error

func (OID) EncodeBinary

func (src OID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (OID) EncodeText

func (src OID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*OID) Scan

func (dst *OID) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (OID) Value

func (src OID) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type OIDValue

type OIDValue pguint32

OIDValue (Object Identifier Type) is, according to https://www.postgresql.org/docs/current/static/datatype-OIDValue.html, used internally by PostgreSQL as a primary key for various system tables. It is currently implemented as an unsigned four-byte integer. Its definition can be found in src/include/postgres_ext.h in the PostgreSQL sources.

func (*OIDValue) AssignTo

func (src *OIDValue) AssignTo(dst interface{}) error

AssignTo assigns from src to dst. Note that as OIDValue is not a general number type AssignTo does not do automatic type conversion as other number types do.

func (*OIDValue) DecodeBinary

func (dst *OIDValue) DecodeBinary(ci *ConnInfo, src []byte) error

func (*OIDValue) DecodeText

func (dst *OIDValue) DecodeText(ci *ConnInfo, src []byte) error

func (*OIDValue) EncodeBinary

func (src *OIDValue) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*OIDValue) EncodeText

func (src *OIDValue) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*OIDValue) Get

func (dst *OIDValue) Get() interface{}

func (*OIDValue) Scan

func (dst *OIDValue) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*OIDValue) Set

func (dst *OIDValue) Set(src interface{}) error

Set converts from src to dst. Note that as OIDValue is not a general number type Set does not do automatic type conversion as other number types do.

func (*OIDValue) Value

func (src *OIDValue) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Path

type Path struct {
	P      []Vec2
	Closed bool
	Status Status
}

func (*Path) AssignTo

func (src *Path) AssignTo(dst interface{}) error

func (*Path) DecodeBinary

func (dst *Path) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Path) DecodeText

func (dst *Path) DecodeText(ci *ConnInfo, src []byte) error

func (*Path) EncodeBinary

func (src *Path) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Path) EncodeText

func (src *Path) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Path) Get

func (dst *Path) Get() interface{}

func (*Path) Scan

func (dst *Path) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Path) Set

func (dst *Path) Set(src interface{}) error

func (*Path) Value

func (src *Path) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Point

type Point struct {
	P      Vec2
	Status Status
}

func (*Point) AssignTo

func (src *Point) AssignTo(dst interface{}) error

func (*Point) DecodeBinary

func (dst *Point) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Point) DecodeText

func (dst *Point) DecodeText(ci *ConnInfo, src []byte) error

func (*Point) EncodeBinary

func (src *Point) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Point) EncodeText

func (src *Point) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Point) Get

func (dst *Point) Get() interface{}

func (*Point) Scan

func (dst *Point) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Point) Set

func (dst *Point) Set(src interface{}) error

func (*Point) Value

func (src *Point) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Polygon

type Polygon struct {
	P      []Vec2
	Status Status
}

func (*Polygon) AssignTo

func (src *Polygon) AssignTo(dst interface{}) error

func (*Polygon) DecodeBinary

func (dst *Polygon) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Polygon) DecodeText

func (dst *Polygon) DecodeText(ci *ConnInfo, src []byte) error

func (*Polygon) EncodeBinary

func (src *Polygon) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Polygon) EncodeText

func (src *Polygon) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Polygon) Get

func (dst *Polygon) Get() interface{}

func (*Polygon) Scan

func (dst *Polygon) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Polygon) Set

func (dst *Polygon) Set(src interface{}) error

func (*Polygon) Value

func (src *Polygon) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type QChar

type QChar struct {
	Int    int8
	Status Status
}

QChar is for PostgreSQL's special 8-bit-only "char" type more akin to the C language's char type, or Go's byte type. (Note that the name in PostgreSQL itself is "char", in double-quotes, and not char.) It gets used a lot in PostgreSQL's system tables to hold a single ASCII character value (eg pg_class.relkind). It is named Qchar for quoted char to disambiguate from SQL standard type char.

Not all possible values of QChar are representable in the text format. Therefore, QChar does not implement TextEncoder and TextDecoder. In addition, database/sql Scanner and database/sql/driver Value are not implemented.

func (*QChar) AssignTo

func (src *QChar) AssignTo(dst interface{}) error

func (*QChar) DecodeBinary

func (dst *QChar) DecodeBinary(ci *ConnInfo, src []byte) error

func (*QChar) EncodeBinary

func (src *QChar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*QChar) Get

func (dst *QChar) Get() interface{}

func (*QChar) Set

func (dst *QChar) Set(src interface{}) error

type Record

type Record struct {
	Fields []Value
	Status Status
}

Record is the generic PostgreSQL record type such as is created with the "row" function. Record only implements BinaryEncoder and Value. The text format output format from PostgreSQL does not include type information and is therefore impossible to decode. No encoders are implemented because PostgreSQL does not support input of generic records.

func (*Record) AssignTo

func (src *Record) AssignTo(dst interface{}) error

func (*Record) DecodeBinary

func (dst *Record) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Record) Get

func (dst *Record) Get() interface{}

func (*Record) Set

func (dst *Record) Set(src interface{}) error

type Status

type Status byte
const (
	Undefined Status = iota
	Null
	Present
)

type TID

type TID struct {
	BlockNumber  uint32
	OffsetNumber uint16
	Status       Status
}

TID is PostgreSQL's Tuple Identifier type.

When one does

select ctid, * from some_table;

it is the data type of the ctid hidden system column.

It is currently implemented as a pair unsigned two byte integers. Its conversion functions can be found in src/backend/utils/adt/tid.c in the PostgreSQL sources.

func (*TID) AssignTo

func (src *TID) AssignTo(dst interface{}) error

func (*TID) DecodeBinary

func (dst *TID) DecodeBinary(ci *ConnInfo, src []byte) error

func (*TID) DecodeText

func (dst *TID) DecodeText(ci *ConnInfo, src []byte) error

func (*TID) EncodeBinary

func (src *TID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TID) EncodeText

func (src *TID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TID) Get

func (dst *TID) Get() interface{}

func (*TID) Scan

func (dst *TID) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*TID) Set

func (dst *TID) Set(src interface{}) error

func (*TID) Value

func (src *TID) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Text

type Text struct {
	String string
	Status Status
}

func (*Text) AssignTo

func (src *Text) AssignTo(dst interface{}) error

func (*Text) DecodeBinary

func (dst *Text) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Text) DecodeText

func (dst *Text) DecodeText(ci *ConnInfo, src []byte) error

func (*Text) EncodeBinary

func (src *Text) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Text) EncodeText

func (src *Text) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Text) Get

func (dst *Text) Get() interface{}

func (*Text) MarshalJSON

func (src *Text) MarshalJSON() ([]byte, error)

func (*Text) Scan

func (dst *Text) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Text) Set

func (dst *Text) Set(src interface{}) error

func (*Text) Value

func (src *Text) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type TextArray

type TextArray struct {
	Elements   []Text
	Dimensions []ArrayDimension
	Status     Status
}

func (*TextArray) AssignTo

func (src *TextArray) AssignTo(dst interface{}) error

func (*TextArray) DecodeBinary

func (dst *TextArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*TextArray) DecodeText

func (dst *TextArray) DecodeText(ci *ConnInfo, src []byte) error

func (*TextArray) EncodeBinary

func (src *TextArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TextArray) EncodeText

func (src *TextArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TextArray) Get

func (dst *TextArray) Get() interface{}

func (*TextArray) Scan

func (dst *TextArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*TextArray) Set

func (dst *TextArray) Set(src interface{}) error

func (*TextArray) Value

func (src *TextArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type TextDecoder

type TextDecoder interface {
	// DecodeText decodes src into TextDecoder. If src is nil then the original
	// SQL value is NULL. TextDecoder takes ownership of src. The caller MUST not
	// use it again.
	DecodeText(ci *ConnInfo, src []byte) error
}

type TextEncoder

type TextEncoder interface {
	// EncodeText should append the text format of self to buf. If self is the
	// SQL value NULL then append nothing and return (nil, nil). The caller of
	// EncodeText is responsible for writing the correct NULL value or the
	// length of the data written.
	EncodeText(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
}

TextEncoder is implemented by types that can encode themselves into the PostgreSQL text wire format.

type Timestamp

type Timestamp struct {
	Time             time.Time // Time must always be in UTC.
	Status           Status
	InfinityModifier InfinityModifier
}

Timestamp represents the PostgreSQL timestamp type. The PostgreSQL timestamp does not have a time zone. This presents a problem when translating to and from time.Time which requires a time zone. It is highly recommended to use timestamptz whenever possible. Timestamp methods either convert to UTC or return an error on non-UTC times.

func (*Timestamp) AssignTo

func (src *Timestamp) AssignTo(dst interface{}) error

func (*Timestamp) DecodeBinary

func (dst *Timestamp) DecodeBinary(ci *ConnInfo, src []byte) error

DecodeBinary decodes from src into dst. The decoded time is considered to be in UTC.

func (*Timestamp) DecodeText

func (dst *Timestamp) DecodeText(ci *ConnInfo, src []byte) error

DecodeText decodes from src into dst. The decoded time is considered to be in UTC.

func (*Timestamp) EncodeBinary

func (src *Timestamp) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

EncodeBinary writes the binary encoding of src into w. If src.Time is not in the UTC time zone it returns an error.

func (*Timestamp) EncodeText

func (src *Timestamp) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

EncodeText writes the text encoding of src into w. If src.Time is not in the UTC time zone it returns an error.

func (*Timestamp) Get

func (dst *Timestamp) Get() interface{}

func (*Timestamp) Scan

func (dst *Timestamp) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Timestamp) Set

func (dst *Timestamp) Set(src interface{}) error

Set converts src into a Timestamp and stores in dst. If src is a time.Time in a non-UTC time zone, the time zone is discarded.

func (*Timestamp) Value

func (src *Timestamp) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type TimestampArray

type TimestampArray struct {
	Elements   []Timestamp
	Dimensions []ArrayDimension
	Status     Status
}

func (*TimestampArray) AssignTo

func (src *TimestampArray) AssignTo(dst interface{}) error

func (*TimestampArray) DecodeBinary

func (dst *TimestampArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*TimestampArray) DecodeText

func (dst *TimestampArray) DecodeText(ci *ConnInfo, src []byte) error

func (*TimestampArray) EncodeBinary

func (src *TimestampArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TimestampArray) EncodeText

func (src *TimestampArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TimestampArray) Get

func (dst *TimestampArray) Get() interface{}

func (*TimestampArray) Scan

func (dst *TimestampArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*TimestampArray) Set

func (dst *TimestampArray) Set(src interface{}) error

func (*TimestampArray) Value

func (src *TimestampArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Timestamptz

type Timestamptz struct {
	Time             time.Time
	Status           Status
	InfinityModifier InfinityModifier
}

func (*Timestamptz) AssignTo

func (src *Timestamptz) AssignTo(dst interface{}) error

func (*Timestamptz) DecodeBinary

func (dst *Timestamptz) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Timestamptz) DecodeText

func (dst *Timestamptz) DecodeText(ci *ConnInfo, src []byte) error

func (*Timestamptz) EncodeBinary

func (src *Timestamptz) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Timestamptz) EncodeText

func (src *Timestamptz) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Timestamptz) Get

func (dst *Timestamptz) Get() interface{}

func (*Timestamptz) Scan

func (dst *Timestamptz) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Timestamptz) Set

func (dst *Timestamptz) Set(src interface{}) error

func (*Timestamptz) Value

func (src *Timestamptz) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type TimestamptzArray

type TimestamptzArray struct {
	Elements   []Timestamptz
	Dimensions []ArrayDimension
	Status     Status
}

func (*TimestamptzArray) AssignTo

func (src *TimestamptzArray) AssignTo(dst interface{}) error

func (*TimestamptzArray) DecodeBinary

func (dst *TimestamptzArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*TimestamptzArray) DecodeText

func (dst *TimestamptzArray) DecodeText(ci *ConnInfo, src []byte) error

func (*TimestamptzArray) EncodeBinary

func (src *TimestamptzArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TimestamptzArray) EncodeText

func (src *TimestamptzArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*TimestamptzArray) Get

func (dst *TimestamptzArray) Get() interface{}

func (*TimestamptzArray) Scan

func (dst *TimestamptzArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*TimestamptzArray) Set

func (dst *TimestamptzArray) Set(src interface{}) error

func (*TimestamptzArray) Value

func (src *TimestamptzArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Tsrange

type Tsrange struct {
	Lower     Timestamp
	Upper     Timestamp
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Tsrange) AssignTo

func (src *Tsrange) AssignTo(dst interface{}) error

func (*Tsrange) DecodeBinary

func (dst *Tsrange) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Tsrange) DecodeText

func (dst *Tsrange) DecodeText(ci *ConnInfo, src []byte) error

func (Tsrange) EncodeBinary

func (src Tsrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Tsrange) EncodeText

func (src Tsrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Tsrange) Get

func (dst *Tsrange) Get() interface{}

func (*Tsrange) Scan

func (dst *Tsrange) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Tsrange) Set

func (dst *Tsrange) Set(src interface{}) error

func (Tsrange) Value

func (src Tsrange) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Tstzrange

type Tstzrange struct {
	Lower     Timestamptz
	Upper     Timestamptz
	LowerType BoundType
	UpperType BoundType
	Status    Status
}

func (*Tstzrange) AssignTo

func (src *Tstzrange) AssignTo(dst interface{}) error

func (*Tstzrange) DecodeBinary

func (dst *Tstzrange) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Tstzrange) DecodeText

func (dst *Tstzrange) DecodeText(ci *ConnInfo, src []byte) error

func (Tstzrange) EncodeBinary

func (src Tstzrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (Tstzrange) EncodeText

func (src Tstzrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Tstzrange) Get

func (dst *Tstzrange) Get() interface{}

func (*Tstzrange) Scan

func (dst *Tstzrange) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Tstzrange) Set

func (dst *Tstzrange) Set(src interface{}) error

func (Tstzrange) Value

func (src Tstzrange) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type UUID

type UUID struct {
	Bytes  [16]byte
	Status Status
}

func (*UUID) AssignTo

func (src *UUID) AssignTo(dst interface{}) error

func (*UUID) DecodeBinary

func (dst *UUID) DecodeBinary(ci *ConnInfo, src []byte) error

func (*UUID) DecodeText

func (dst *UUID) DecodeText(ci *ConnInfo, src []byte) error

func (*UUID) EncodeBinary

func (src *UUID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*UUID) EncodeText

func (src *UUID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*UUID) Get

func (dst *UUID) Get() interface{}

func (*UUID) Scan

func (dst *UUID) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*UUID) Set

func (dst *UUID) Set(src interface{}) error

func (*UUID) Value

func (src *UUID) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Unknown

type Unknown struct {
	String string
	Status Status
}

Unknown represents the PostgreSQL unknown type. It is either a string literal or NULL. It is used when PostgreSQL does not know the type of a value. In general, this will only be used in pgx when selecting a null value without type information. e.g. SELECT NULL;

func (*Unknown) AssignTo

func (src *Unknown) AssignTo(dst interface{}) error

AssignTo assigns from src to dst. Note that as Unknown is not a general number type AssignTo does not do automatic type conversion as other number types do.

func (*Unknown) DecodeBinary

func (dst *Unknown) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Unknown) DecodeText

func (dst *Unknown) DecodeText(ci *ConnInfo, src []byte) error

func (*Unknown) Get

func (dst *Unknown) Get() interface{}

func (*Unknown) Scan

func (dst *Unknown) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Unknown) Set

func (dst *Unknown) Set(src interface{}) error

func (*Unknown) Value

func (src *Unknown) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type UntypedBinaryRange

type UntypedBinaryRange struct {
	Lower     []byte
	Upper     []byte
	LowerType BoundType
	UpperType BoundType
}

func ParseUntypedBinaryRange

func ParseUntypedBinaryRange(src []byte) (*UntypedBinaryRange, error)

type UntypedTextArray

type UntypedTextArray struct {
	Elements   []string
	Dimensions []ArrayDimension
}

func ParseUntypedTextArray

func ParseUntypedTextArray(src string) (*UntypedTextArray, error)

type UntypedTextRange

type UntypedTextRange struct {
	Lower     string
	Upper     string
	LowerType BoundType
	UpperType BoundType
}

func ParseUntypedTextRange

func ParseUntypedTextRange(src string) (*UntypedTextRange, error)

type Value

type Value interface {
	// Set converts and assigns src to itself.
	Set(src interface{}) error

	// Get returns the simplest representation of Value. If the Value is Null or
	// Undefined that is the return value. If no simpler representation is
	// possible, then Get() returns Value.
	Get() interface{}

	// AssignTo converts and assigns the Value to dst. It MUST make a deep copy of
	// any reference types.
	AssignTo(dst interface{}) error
}

type Varbit

type Varbit struct {
	Bytes  []byte
	Len    int32 // Number of bits
	Status Status
}

func (*Varbit) AssignTo

func (src *Varbit) AssignTo(dst interface{}) error

func (*Varbit) DecodeBinary

func (dst *Varbit) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Varbit) DecodeText

func (dst *Varbit) DecodeText(ci *ConnInfo, src []byte) error

func (*Varbit) EncodeBinary

func (src *Varbit) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Varbit) EncodeText

func (src *Varbit) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Varbit) Get

func (dst *Varbit) Get() interface{}

func (*Varbit) Scan

func (dst *Varbit) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Varbit) Set

func (dst *Varbit) Set(src interface{}) error

func (*Varbit) Value

func (src *Varbit) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Varchar

type Varchar Text

func (*Varchar) AssignTo

func (src *Varchar) AssignTo(dst interface{}) error

AssignTo assigns from src to dst. Note that as Varchar is not a general number type AssignTo does not do automatic type conversion as other number types do.

func (*Varchar) DecodeBinary

func (dst *Varchar) DecodeBinary(ci *ConnInfo, src []byte) error

func (*Varchar) DecodeText

func (dst *Varchar) DecodeText(ci *ConnInfo, src []byte) error

func (*Varchar) EncodeBinary

func (src *Varchar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Varchar) EncodeText

func (src *Varchar) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*Varchar) Get

func (dst *Varchar) Get() interface{}

func (*Varchar) MarshalJSON

func (src *Varchar) MarshalJSON() ([]byte, error)

func (*Varchar) Scan

func (dst *Varchar) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*Varchar) Set

func (dst *Varchar) Set(src interface{}) error

Set converts from src to dst. Note that as Varchar is not a general number type Set does not do automatic type conversion as other number types do.

func (*Varchar) Value

func (src *Varchar) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type VarcharArray

type VarcharArray struct {
	Elements   []Varchar
	Dimensions []ArrayDimension
	Status     Status
}

func (*VarcharArray) AssignTo

func (src *VarcharArray) AssignTo(dst interface{}) error

func (*VarcharArray) DecodeBinary

func (dst *VarcharArray) DecodeBinary(ci *ConnInfo, src []byte) error

func (*VarcharArray) DecodeText

func (dst *VarcharArray) DecodeText(ci *ConnInfo, src []byte) error

func (*VarcharArray) EncodeBinary

func (src *VarcharArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*VarcharArray) EncodeText

func (src *VarcharArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*VarcharArray) Get

func (dst *VarcharArray) Get() interface{}

func (*VarcharArray) Scan

func (dst *VarcharArray) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*VarcharArray) Set

func (dst *VarcharArray) Set(src interface{}) error

func (*VarcharArray) Value

func (src *VarcharArray) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

type Vec2

type Vec2 struct {
	X float64
	Y float64
}

type XID

type XID pguint32

XID is PostgreSQL's Transaction ID type.

In later versions of PostgreSQL, it is the type used for the backend_xid and backend_xmin columns of the pg_stat_activity system view.

Also, when one does

select xmin, xmax, * from some_table;

it is the data type of the xmin and xmax hidden system columns.

It is currently implemented as an unsigned four byte integer. Its definition can be found in src/include/postgres_ext.h as TransactionId in the PostgreSQL sources.

func (*XID) AssignTo

func (src *XID) AssignTo(dst interface{}) error

AssignTo assigns from src to dst. Note that as XID is not a general number type AssignTo does not do automatic type conversion as other number types do.

func (*XID) DecodeBinary

func (dst *XID) DecodeBinary(ci *ConnInfo, src []byte) error

func (*XID) DecodeText

func (dst *XID) DecodeText(ci *ConnInfo, src []byte) error

func (*XID) EncodeBinary

func (src *XID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)

func (*XID) EncodeText

func (src *XID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)

func (*XID) Get

func (dst *XID) Get() interface{}

func (*XID) Scan

func (dst *XID) Scan(src interface{}) error

Scan implements the database/sql Scanner interface.

func (*XID) Set

func (dst *XID) Set(src interface{}) error

Set converts from src to dst. Note that as XID is not a general number type Set does not do automatic type conversion as other number types do.

func (*XID) Value

func (src *XID) Value() (driver.Value, error)

Value implements the database/sql/driver Valuer interface.

Directories

Path Synopsis
ext

Jump to

Keyboard shortcuts

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