PostgreSQL oids for common types
const ( BoolOID = 16 ByteaOID = 17 QCharOID = 18 NameOID = 19 Int8OID = 20 Int2OID = 21 Int4OID = 23 TextOID = 25 OIDOID = 26 TIDOID = 27 XIDOID = 28 CIDOID = 29 JSONOID = 114 JSONArrayOID = 199 PointOID = 600 LsegOID = 601 PathOID = 602 BoxOID = 603 PolygonOID = 604 LineOID = 628 CIDROID = 650 CIDRArrayOID = 651 Float4OID = 700 Float8OID = 701 CircleOID = 718 UnknownOID = 705 MacaddrOID = 829 InetOID = 869 BoolArrayOID = 1000 Int2ArrayOID = 1005 Int4ArrayOID = 1007 TextArrayOID = 1009 ByteaArrayOID = 1001 BPCharArrayOID = 1014 VarcharArrayOID = 1015 Int8ArrayOID = 1016 Float4ArrayOID = 1021 Float8ArrayOID = 1022 ACLItemOID = 1033 ACLItemArrayOID = 1034 InetArrayOID = 1041 BPCharOID = 1042 VarcharOID = 1043 DateOID = 1082 TimeOID = 1083 TimestampOID = 1114 TimestampArrayOID = 1115 DateArrayOID = 1182 TimestamptzOID = 1184 TimestamptzArrayOID = 1185 IntervalOID = 1186 NumericArrayOID = 1231 BitOID = 1560 VarbitOID = 1562 NumericOID = 1700 RecordOID = 2249 UUIDOID = 2950 UUIDArrayOID = 2951 JSONBOID = 3802 JSONBArrayOID = 3807 DaterangeOID = 3912 Int4rangeOID = 3904 Int4multirangeOID = 4451 NumrangeOID = 3906 NummultirangeOID = 4532 TsrangeOID = 3908 TsrangeArrayOID = 3909 TstzrangeOID = 3910 TstzrangeArrayOID = 3911 Int8rangeOID = 3926 Int8multirangeOID = 4536 )
PostgreSQL format codes
const ( TextFormatCode = 0 BinaryFormatCode = 1 )
const ( Inclusive = BoundType('i') Exclusive = BoundType('e') Unbounded = BoundType('U') Empty = BoundType('E') )
func DatabaseSQLValue(ci *ConnInfo, src Value) (interface{}, error)
func EncodeTextArrayDimensions(buf []byte, dimensions []ArrayDimension) []byte
func EncodeValueText(src TextEncoder) (interface{}, error)
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(dst interface{}) error
func QuoteArrayElementIfNeeded(src string) string
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"
type ACLItem struct { String string Status Status }
func (src *ACLItem) AssignTo(dst interface{}) error
func (dst *ACLItem) DecodeText(ci *ConnInfo, src []byte) error
func (src ACLItem) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst ACLItem) Get() interface{}
func (dst *ACLItem) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *ACLItem) Set(src interface{}) error
func (src ACLItem) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type ACLItemArray struct { Elements []ACLItem Dimensions []ArrayDimension Status Status }
func (src *ACLItemArray) AssignTo(dst interface{}) error
func (dst *ACLItemArray) DecodeText(ci *ConnInfo, src []byte) error
func (src ACLItemArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst ACLItemArray) Get() interface{}
func (dst *ACLItemArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *ACLItemArray) Set(src interface{}) error
func (src ACLItemArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type ArrayDimension struct { Length int32 LowerBound int32 }
type ArrayHeader struct { ContainsNull bool ElementOID int32 Dimensions []ArrayDimension }
func (dst *ArrayHeader) DecodeBinary(ci *ConnInfo, src []byte) (int, error)
func (src ArrayHeader) EncodeBinary(ci *ConnInfo, buf []byte) []byte
ArrayType represents an array type. While it implements Value, this is only in service of its type conversion duties when registered as a data type in a ConnType. It should not be used directly as a Value. ArrayType is a convenience type for types that do not have a concrete array type.
type ArrayType struct {
// contains filtered or unexported fields
}
func NewArrayType(typeName string, elementOID uint32, newElement func() ValueTranscoder) *ArrayType
func (src *ArrayType) AssignTo(dst interface{}) error
func (dst *ArrayType) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *ArrayType) DecodeText(ci *ConnInfo, src []byte) error
func (src ArrayType) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src ArrayType) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst ArrayType) Get() interface{}
func (at *ArrayType) NewTypeValue() Value
func (dst *ArrayType) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *ArrayType) Set(src interface{}) error
func (at *ArrayType) TypeName() string
func (src ArrayType) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
BPChar is fixed-length, blank padded char type character(n), char(n)
type BPChar Text
func (src *BPChar) AssignTo(dst interface{}) error
AssignTo assigns from src to dst.
func (dst *BPChar) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *BPChar) DecodeText(ci *ConnInfo, src []byte) error
func (src BPChar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src BPChar) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst BPChar) Get() interface{}
Get returns underlying value
func (src BPChar) MarshalJSON() ([]byte, error)
func (BPChar) PreferredParamFormat() int16
func (BPChar) PreferredResultFormat() int16
func (dst *BPChar) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *BPChar) Set(src interface{}) error
Set converts from src to dst.
func (dst *BPChar) UnmarshalJSON(b []byte) error
func (src BPChar) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type BPCharArray struct { Elements []BPChar Dimensions []ArrayDimension Status Status }
func (src *BPCharArray) AssignTo(dst interface{}) error
func (dst *BPCharArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *BPCharArray) DecodeText(ci *ConnInfo, src []byte) error
func (src BPCharArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src BPCharArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst BPCharArray) Get() interface{}
func (dst *BPCharArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *BPCharArray) Set(src interface{}) error
func (src BPCharArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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 }
BinaryEncoder is implemented by types that can encode themselves into the PostgreSQL binary wire format.
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) }
type Bit Varbit
func (src *Bit) AssignTo(dst interface{}) error
func (dst *Bit) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Bit) DecodeText(ci *ConnInfo, src []byte) error
func (src Bit) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Bit) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Bit) Get() interface{}
func (dst *Bit) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Bit) Set(src interface{}) error
func (src Bit) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Bool struct { Bool bool Status Status }
func (src *Bool) AssignTo(dst interface{}) error
func (dst *Bool) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Bool) DecodeText(ci *ConnInfo, src []byte) error
func (src Bool) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Bool) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Bool) Get() interface{}
func (src Bool) MarshalJSON() ([]byte, error)
func (dst *Bool) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Bool) Set(src interface{}) error
func (dst *Bool) UnmarshalJSON(b []byte) error
func (src Bool) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type BoolArray struct { Elements []Bool Dimensions []ArrayDimension Status Status }
func (src *BoolArray) AssignTo(dst interface{}) error
func (dst *BoolArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *BoolArray) DecodeText(ci *ConnInfo, src []byte) error
func (src BoolArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src BoolArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst BoolArray) Get() interface{}
func (dst *BoolArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *BoolArray) Set(src interface{}) error
func (src BoolArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type BoundType byte
func (bt BoundType) String() string
type Box struct { P [2]Vec2 Status Status }
func (src *Box) AssignTo(dst interface{}) error
func (dst *Box) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Box) DecodeText(ci *ConnInfo, src []byte) error
func (src Box) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Box) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Box) Get() interface{}
func (dst *Box) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Box) Set(src interface{}) error
func (src Box) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Bytea struct { Bytes []byte Status Status }
func (src *Bytea) AssignTo(dst interface{}) error
func (dst *Bytea) DecodeBinary(ci *ConnInfo, src []byte) error
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 (src Bytea) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Bytea) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Bytea) Get() interface{}
func (dst *Bytea) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Bytea) Set(src interface{}) error
func (src Bytea) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type ByteaArray struct { Elements []Bytea Dimensions []ArrayDimension Status Status }
func (src *ByteaArray) AssignTo(dst interface{}) error
func (dst *ByteaArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *ByteaArray) DecodeText(ci *ConnInfo, src []byte) error
func (src ByteaArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src ByteaArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst ByteaArray) Get() interface{}
func (dst *ByteaArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *ByteaArray) Set(src interface{}) error
func (src ByteaArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type CID pguint32
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 (dst *CID) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *CID) DecodeText(ci *ConnInfo, src []byte) error
func (src CID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src CID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst CID) Get() interface{}
func (dst *CID) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
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 (src CID) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type CIDR Inet
func (src *CIDR) AssignTo(dst interface{}) error
func (dst *CIDR) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *CIDR) DecodeText(ci *ConnInfo, src []byte) error
func (src CIDR) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src CIDR) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst CIDR) Get() interface{}
func (dst *CIDR) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *CIDR) Set(src interface{}) error
func (src CIDR) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type CIDRArray struct { Elements []CIDR Dimensions []ArrayDimension Status Status }
func (src *CIDRArray) AssignTo(dst interface{}) error
func (dst *CIDRArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *CIDRArray) DecodeText(ci *ConnInfo, src []byte) error
func (src CIDRArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src CIDRArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst CIDRArray) Get() interface{}
func (dst *CIDRArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *CIDRArray) Set(src interface{}) error
func (src CIDRArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Circle struct { P Vec2 R float64 Status Status }
func (src *Circle) AssignTo(dst interface{}) error
func (dst *Circle) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Circle) DecodeText(ci *ConnInfo, src []byte) error
func (src Circle) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Circle) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Circle) Get() interface{}
func (dst *Circle) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Circle) Set(src interface{}) error
func (src Circle) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type CompositeBinaryBuilder struct {
// contains filtered or unexported fields
}
func NewCompositeBinaryBuilder(ci *ConnInfo, buf []byte) *CompositeBinaryBuilder
func (b *CompositeBinaryBuilder) AppendEncoder(oid uint32, field BinaryEncoder)
func (b *CompositeBinaryBuilder) AppendValue(oid uint32, field interface{})
func (b *CompositeBinaryBuilder) Finish() ([]byte, error)
type CompositeBinaryScanner struct {
// contains filtered or unexported fields
}
func NewCompositeBinaryScanner(ci *ConnInfo, src []byte) *CompositeBinaryScanner
NewCompositeBinaryScanner a scanner over a binary encoded composite balue.
func (cfs *CompositeBinaryScanner) Bytes() []byte
Bytes returns the bytes of the field most recently read by Scan().
func (cfs *CompositeBinaryScanner) Err() error
Err returns any error encountered by the scanner.
func (cfs *CompositeBinaryScanner) FieldCount() int
func (cfs *CompositeBinaryScanner) Next() bool
Next advances the scanner to the next field. It returns false after the last field is read or an error occurs. After Next returns false, the Err method can be called to check if any errors occurred.
func (cfs *CompositeBinaryScanner) OID() uint32
OID returns the OID of the field most recently read by Scan().
func (cfs *CompositeBinaryScanner) ScanDecoder(d BinaryDecoder)
ScanDecoder calls Next and decodes the result with d.
func (cfs *CompositeBinaryScanner) ScanValue(d interface{})
ScanDecoder calls Next and scans the result into d.
CompositeFields scans the fields of a composite type into the elements of the CompositeFields value. To scan a nullable value use a *CompositeFields. It will be set to nil in case of null.
CompositeFields implements EncodeBinary and EncodeText. However, functionality is limited due to CompositeFields not knowing the PostgreSQL schema of the composite type. Prefer using a registered CompositeType.
type CompositeFields []interface{}
func (cf CompositeFields) DecodeBinary(ci *ConnInfo, src []byte) error
func (cf CompositeFields) DecodeText(ci *ConnInfo, src []byte) error
func (cf CompositeFields) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeBinary encodes composite fields into the binary format. Unlike CompositeType the schema of the destination is unknown. Prefer registering a CompositeType to using CompositeFields to encode directly. Because the binary composite format requires the OID of each field to be specified the only types that will work are those known to ConnInfo.
In particular:
* Nil cannot be used because there is no way to determine what type it. * Integer types must be exact matches. e.g. A Go int32 into a PostgreSQL bigint will fail. * No dereferencing will be done. e.g. *Text must be used instead of Text.
func (cf CompositeFields) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeText encodes composite fields into the text format. Prefer registering a CompositeType to using CompositeFields to encode directly.
type CompositeTextBuilder struct {
// contains filtered or unexported fields
}
func NewCompositeTextBuilder(ci *ConnInfo, buf []byte) *CompositeTextBuilder
func (b *CompositeTextBuilder) AppendEncoder(field TextEncoder)
func (b *CompositeTextBuilder) AppendValue(field interface{})
func (b *CompositeTextBuilder) Finish() ([]byte, error)
type CompositeTextScanner struct {
// contains filtered or unexported fields
}
func NewCompositeTextScanner(ci *ConnInfo, src []byte) *CompositeTextScanner
NewCompositeTextScanner a scanner over a text encoded composite value.
func (cfs *CompositeTextScanner) Bytes() []byte
Bytes returns the bytes of the field most recently read by Scan().
func (cfs *CompositeTextScanner) Err() error
Err returns any error encountered by the scanner.
func (cfs *CompositeTextScanner) Next() bool
Next advances the scanner to the next field. It returns false after the last field is read or an error occurs. After Next returns false, the Err method can be called to check if any errors occurred.
func (cfs *CompositeTextScanner) ScanDecoder(d TextDecoder)
ScanDecoder calls Next and decodes the result with d.
func (cfs *CompositeTextScanner) ScanValue(d interface{})
ScanDecoder calls Next and scans the result into d.
type CompositeType struct {
// contains filtered or unexported fields
}
func NewCompositeType(typeName string, fields []CompositeTypeField, ci *ConnInfo) (*CompositeType, error)
NewCompositeType creates a CompositeType from fields and ci. ci is used to find the ValueTranscoders used for fields. All field OIDs must be previously registered in ci.
func NewCompositeTypeValues(typeName string, fields []CompositeTypeField, values []ValueTranscoder) (*CompositeType, error)
NewCompositeTypeValues creates a CompositeType from fields and values. fields and values must have the same length. Prefer NewCompositeType unless overriding the transcoding of fields is required.
func (src CompositeType) AssignTo(dst interface{}) error
AssignTo should never be called on composite value directly
func (dst *CompositeType) DecodeBinary(ci *ConnInfo, buf []byte) error
DecodeBinary implements BinaryDecoder interface. Opposite to Record, fields in a composite act as a "schema" and decoding fails if SQL value can't be assigned due to type mismatch
func (dst *CompositeType) DecodeText(ci *ConnInfo, buf []byte) error
func (src CompositeType) EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
func (src CompositeType) EncodeText(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
func (ct *CompositeType) Fields() []CompositeTypeField
func (src CompositeType) Get() interface{}
func (ct *CompositeType) NewTypeValue() Value
func (dst *CompositeType) Set(src interface{}) error
func (ct *CompositeType) TypeName() string
type CompositeTypeField struct { Name string OID uint32 }
type ConnInfo struct {
// contains filtered or unexported fields
}
func NewConnInfo() *ConnInfo
func (ci *ConnInfo) DataTypeForName(name string) (*DataType, bool)
func (ci *ConnInfo) DataTypeForOID(oid uint32) (*DataType, bool)
func (ci *ConnInfo) DataTypeForValue(v interface{}) (*DataType, bool)
DataTypeForValue finds a data type suitable for v. Use RegisterDataType to register types that can encode and decode themselves. Use RegisterDefaultPgType to register that can be handled by a registered data type.
func (ci *ConnInfo) DeepCopy() *ConnInfo
DeepCopy makes a deep copy of the ConnInfo.
func (ci *ConnInfo) InitializeDataTypes(nameOIDs map[string]uint32)
func (ci *ConnInfo) ParamFormatCodeForOID(oid uint32) int16
func (ci *ConnInfo) PlanScan(oid uint32, formatCode int16, dst interface{}) ScanPlan
PlanScan prepares a plan to scan a value into dst.
func (ci *ConnInfo) RegisterDataType(t DataType)
func (ci *ConnInfo) RegisterDefaultPgType(value interface{}, name string)
RegisterDefaultPgType registers a mapping of a Go type to a PostgreSQL type name. Typically the data type to be encoded or decoded is determined by the PostgreSQL OID. But if the OID of a value to be encoded or decoded is unknown, this additional mapping will be used by DataTypeForValue to determine a suitable data type.
func (ci *ConnInfo) ResultFormatCodeForOID(oid uint32) int16
func (ci *ConnInfo) Scan(oid uint32, formatCode int16, src []byte, dst interface{}) error
type DataType struct { Value Value Name string OID uint32 // contains filtered or unexported fields }
type Date struct { Time time.Time Status Status InfinityModifier InfinityModifier }
func (src *Date) AssignTo(dst interface{}) error
func (dst *Date) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Date) DecodeText(ci *ConnInfo, src []byte) error
func (src Date) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Date) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Date) Get() interface{}
func (src Date) MarshalJSON() ([]byte, error)
func (dst *Date) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Date) Set(src interface{}) error
func (dst *Date) UnmarshalJSON(b []byte) error
func (src Date) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type DateArray struct { Elements []Date Dimensions []ArrayDimension Status Status }
func (src *DateArray) AssignTo(dst interface{}) error
func (dst *DateArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *DateArray) DecodeText(ci *ConnInfo, src []byte) error
func (src DateArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src DateArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst DateArray) Get() interface{}
func (dst *DateArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *DateArray) Set(src interface{}) error
func (src DateArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Daterange struct { Lower Date Upper Date LowerType BoundType UpperType BoundType Status Status }
func (src *Daterange) AssignTo(dst interface{}) error
func (dst *Daterange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Daterange) DecodeText(ci *ConnInfo, src []byte) error
func (src Daterange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Daterange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Daterange) Get() interface{}
func (dst *Daterange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Daterange) Set(src interface{}) error
func (src Daterange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type EnumArray struct { Elements []GenericText Dimensions []ArrayDimension Status Status }
func (src *EnumArray) AssignTo(dst interface{}) error
func (dst *EnumArray) DecodeText(ci *ConnInfo, src []byte) error
func (src EnumArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst EnumArray) Get() interface{}
func (dst *EnumArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *EnumArray) Set(src interface{}) error
func (src EnumArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
EnumType represents an enum type. While it implements Value, this is only in service of its type conversion duties when registered as a data type in a ConnType. It should not be used directly as a Value.
type EnumType struct {
// contains filtered or unexported fields
}
func NewEnumType(typeName string, members []string) *EnumType
NewEnumType initializes a new EnumType. It retains a read-only reference to members. members must not be changed.
func (src *EnumType) AssignTo(dst interface{}) error
func (dst *EnumType) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *EnumType) DecodeText(ci *ConnInfo, src []byte) error
func (src EnumType) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src EnumType) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst EnumType) Get() interface{}
func (et *EnumType) Members() []string
func (et *EnumType) NewTypeValue() Value
func (EnumType) PreferredParamFormat() int16
func (EnumType) PreferredResultFormat() int16
func (dst *EnumType) Set(src interface{}) error
Set assigns src to dst. Set purposely does not check that src is a member. This allows continued error free operation in the event the PostgreSQL enum type is modified during a connection.
func (et *EnumType) TypeName() string
type Float4 struct { Float float32 Status Status }
func (src *Float4) AssignTo(dst interface{}) error
func (dst *Float4) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Float4) DecodeText(ci *ConnInfo, src []byte) error
func (src Float4) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Float4) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Float4) Get() interface{}
func (dst *Float4) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Float4) Set(src interface{}) error
func (src Float4) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Float4Array struct { Elements []Float4 Dimensions []ArrayDimension Status Status }
func (src *Float4Array) AssignTo(dst interface{}) error
func (dst *Float4Array) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Float4Array) DecodeText(ci *ConnInfo, src []byte) error
func (src Float4Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Float4Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Float4Array) Get() interface{}
func (dst *Float4Array) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Float4Array) Set(src interface{}) error
func (src Float4Array) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Float8 struct { Float float64 Status Status }
func (src *Float8) AssignTo(dst interface{}) error
func (dst *Float8) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Float8) DecodeText(ci *ConnInfo, src []byte) error
func (src Float8) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Float8) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Float8) Get() interface{}
func (dst *Float8) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Float8) Set(src interface{}) error
func (src Float8) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Float8Array struct { Elements []Float8 Dimensions []ArrayDimension Status Status }
func (src *Float8Array) AssignTo(dst interface{}) error
func (dst *Float8Array) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Float8Array) DecodeText(ci *ConnInfo, src []byte) error
func (src Float8Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Float8Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Float8Array) Get() interface{}
func (dst *Float8Array) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Float8Array) Set(src interface{}) error
func (src Float8Array) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
GenericBinary is a placeholder for binary format values that no other type exists to handle.
type GenericBinary Bytea
func (src *GenericBinary) AssignTo(dst interface{}) error
func (dst *GenericBinary) DecodeBinary(ci *ConnInfo, src []byte) error
func (src GenericBinary) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst GenericBinary) Get() interface{}
func (dst *GenericBinary) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *GenericBinary) Set(src interface{}) error
func (src GenericBinary) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
GenericText is a placeholder for text format values that no other type exists to handle.
type GenericText Text
func (src *GenericText) AssignTo(dst interface{}) error
func (dst *GenericText) DecodeText(ci *ConnInfo, src []byte) error
func (src GenericText) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst GenericText) Get() interface{}
func (dst *GenericText) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *GenericText) Set(src interface{}) error
func (src GenericText) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
Hstore represents an hstore column that can be null or have null values associated with its keys.
type Hstore struct { Map map[string]Text Status Status }
func (src *Hstore) AssignTo(dst interface{}) error
func (dst *Hstore) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Hstore) DecodeText(ci *ConnInfo, src []byte) error
func (src Hstore) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Hstore) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Hstore) Get() interface{}
func (dst *Hstore) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Hstore) Set(src interface{}) error
func (src Hstore) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type HstoreArray struct { Elements []Hstore Dimensions []ArrayDimension Status Status }
func (src *HstoreArray) AssignTo(dst interface{}) error
func (dst *HstoreArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *HstoreArray) DecodeText(ci *ConnInfo, src []byte) error
func (src HstoreArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src HstoreArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst HstoreArray) Get() interface{}
func (dst *HstoreArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *HstoreArray) Set(src interface{}) error
func (src HstoreArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
Inet represents both inet and cidr PostgreSQL types.
type Inet struct { IPNet *net.IPNet Status Status }
func (src *Inet) AssignTo(dst interface{}) error
func (dst *Inet) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Inet) DecodeText(ci *ConnInfo, src []byte) error
func (src Inet) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeBinary encodes src into w.
func (src Inet) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Inet) Get() interface{}
func (dst *Inet) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Inet) Set(src interface{}) error
func (src Inet) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type InetArray struct { Elements []Inet Dimensions []ArrayDimension Status Status }
func (src *InetArray) AssignTo(dst interface{}) error
func (dst *InetArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *InetArray) DecodeText(ci *ConnInfo, src []byte) error
func (src InetArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src InetArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst InetArray) Get() interface{}
func (dst *InetArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *InetArray) Set(src interface{}) error
func (src InetArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type InfinityModifier int8
const ( Infinity InfinityModifier = 1 None InfinityModifier = 0 NegativeInfinity InfinityModifier = -Infinity )
func (im InfinityModifier) String() string
type Int2 struct { Int int16 Status Status }
func (src *Int2) AssignTo(dst interface{}) error
func (dst *Int2) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int2) DecodeText(ci *ConnInfo, src []byte) error
func (src Int2) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int2) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int2) Get() interface{}
func (src Int2) MarshalJSON() ([]byte, error)
func (dst *Int2) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int2) Set(src interface{}) error
func (dst *Int2) UnmarshalJSON(b []byte) error
func (src Int2) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int2Array struct { Elements []Int2 Dimensions []ArrayDimension Status Status }
func (src *Int2Array) AssignTo(dst interface{}) error
func (dst *Int2Array) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int2Array) DecodeText(ci *ConnInfo, src []byte) error
func (src Int2Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int2Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int2Array) Get() interface{}
func (dst *Int2Array) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int2Array) Set(src interface{}) error
func (src Int2Array) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int4 struct { Int int32 Status Status }
func (src *Int4) AssignTo(dst interface{}) error
func (dst *Int4) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int4) DecodeText(ci *ConnInfo, src []byte) error
func (src Int4) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int4) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int4) Get() interface{}
func (src Int4) MarshalJSON() ([]byte, error)
func (dst *Int4) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int4) Set(src interface{}) error
func (dst *Int4) UnmarshalJSON(b []byte) error
func (src Int4) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int4Array struct { Elements []Int4 Dimensions []ArrayDimension Status Status }
func (src *Int4Array) AssignTo(dst interface{}) error
func (dst *Int4Array) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int4Array) DecodeText(ci *ConnInfo, src []byte) error
func (src Int4Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int4Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int4Array) Get() interface{}
func (dst *Int4Array) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int4Array) Set(src interface{}) error
func (src Int4Array) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int4multirange struct { Ranges []Int4range Status Status }
func (src *Int4multirange) AssignTo(dst interface{}) error
func (dst *Int4multirange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int4multirange) DecodeText(ci *ConnInfo, src []byte) error
func (src Int4multirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int4multirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int4multirange) Get() interface{}
func (dst *Int4multirange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int4multirange) Set(src interface{}) error
func (src Int4multirange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int4range struct { Lower Int4 Upper Int4 LowerType BoundType UpperType BoundType Status Status }
func (src *Int4range) AssignTo(dst interface{}) error
func (dst *Int4range) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int4range) DecodeText(ci *ConnInfo, src []byte) error
func (src Int4range) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int4range) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int4range) Get() interface{}
func (dst *Int4range) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int4range) Set(src interface{}) error
func (src Int4range) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int8 struct { Int int64 Status Status }
func (src *Int8) AssignTo(dst interface{}) error
func (dst *Int8) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int8) DecodeText(ci *ConnInfo, src []byte) error
func (src Int8) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int8) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int8) Get() interface{}
func (src Int8) MarshalJSON() ([]byte, error)
func (dst *Int8) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int8) Set(src interface{}) error
func (dst *Int8) UnmarshalJSON(b []byte) error
func (src Int8) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int8Array struct { Elements []Int8 Dimensions []ArrayDimension Status Status }
func (src *Int8Array) AssignTo(dst interface{}) error
func (dst *Int8Array) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int8Array) DecodeText(ci *ConnInfo, src []byte) error
func (src Int8Array) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int8Array) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int8Array) Get() interface{}
func (dst *Int8Array) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int8Array) Set(src interface{}) error
func (src Int8Array) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int8multirange struct { Ranges []Int8range Status Status }
func (src *Int8multirange) AssignTo(dst interface{}) error
func (dst *Int8multirange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int8multirange) DecodeText(ci *ConnInfo, src []byte) error
func (src Int8multirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int8multirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int8multirange) Get() interface{}
func (dst *Int8multirange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int8multirange) Set(src interface{}) error
func (src Int8multirange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Int8range struct { Lower Int8 Upper Int8 LowerType BoundType UpperType BoundType Status Status }
func (src *Int8range) AssignTo(dst interface{}) error
func (dst *Int8range) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Int8range) DecodeText(ci *ConnInfo, src []byte) error
func (src Int8range) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Int8range) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Int8range) Get() interface{}
func (dst *Int8range) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Int8range) Set(src interface{}) error
func (src Int8range) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Interval struct { Microseconds int64 Days int32 Months int32 Status Status }
func (src *Interval) AssignTo(dst interface{}) error
func (dst *Interval) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Interval) DecodeText(ci *ConnInfo, src []byte) error
func (src Interval) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeBinary encodes src into w.
func (src Interval) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Interval) Get() interface{}
func (dst *Interval) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Interval) Set(src interface{}) error
func (src Interval) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type JSON struct { Bytes []byte Status Status }
func (src *JSON) AssignTo(dst interface{}) error
func (dst *JSON) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *JSON) DecodeText(ci *ConnInfo, src []byte) error
func (src JSON) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src JSON) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst JSON) Get() interface{}
func (src JSON) MarshalJSON() ([]byte, error)
func (JSON) PreferredParamFormat() int16
func (JSON) PreferredResultFormat() int16
func (dst *JSON) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *JSON) Set(src interface{}) error
func (dst *JSON) UnmarshalJSON(b []byte) error
func (src JSON) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type JSONArray struct { Elements []JSON Dimensions []ArrayDimension Status Status }
func (src *JSONArray) AssignTo(dst interface{}) error
func (dst *JSONArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *JSONArray) DecodeText(ci *ConnInfo, src []byte) error
func (src JSONArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src JSONArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst JSONArray) Get() interface{}
func (dst *JSONArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *JSONArray) Set(src interface{}) error
func (src JSONArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type JSONB JSON
func (src *JSONB) AssignTo(dst interface{}) error
func (dst *JSONB) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *JSONB) DecodeText(ci *ConnInfo, src []byte) error
func (src JSONB) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src JSONB) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst JSONB) Get() interface{}
func (src JSONB) MarshalJSON() ([]byte, error)
func (JSONB) PreferredParamFormat() int16
func (JSONB) PreferredResultFormat() int16
func (dst *JSONB) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *JSONB) Set(src interface{}) error
func (dst *JSONB) UnmarshalJSON(b []byte) error
func (src JSONB) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type JSONBArray struct { Elements []JSONB Dimensions []ArrayDimension Status Status }
func (src *JSONBArray) AssignTo(dst interface{}) error
func (dst *JSONBArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *JSONBArray) DecodeText(ci *ConnInfo, src []byte) error
func (src JSONBArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src JSONBArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst JSONBArray) Get() interface{}
func (dst *JSONBArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *JSONBArray) Set(src interface{}) error
func (src JSONBArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Line struct { A, B, C float64 Status Status }
func (src *Line) AssignTo(dst interface{}) error
func (dst *Line) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Line) DecodeText(ci *ConnInfo, src []byte) error
func (src Line) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Line) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Line) Get() interface{}
func (dst *Line) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Line) Set(src interface{}) error
func (src Line) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Lseg struct { P [2]Vec2 Status Status }
func (src *Lseg) AssignTo(dst interface{}) error
func (dst *Lseg) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Lseg) DecodeText(ci *ConnInfo, src []byte) error
func (src Lseg) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Lseg) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Lseg) Get() interface{}
func (dst *Lseg) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Lseg) Set(src interface{}) error
func (src Lseg) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Ltree Text
func (src *Ltree) AssignTo(dst interface{}) error
func (dst *Ltree) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Ltree) DecodeText(ci *ConnInfo, src []byte) error
func (src Ltree) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Ltree) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Ltree) Get() interface{}
func (Ltree) PreferredParamFormat() int16
func (Ltree) PreferredResultFormat() int16
func (dst *Ltree) Scan(src interface{}) error
func (dst *Ltree) Set(src interface{}) error
func (src Ltree) Value() (driver.Value, error)
type Macaddr struct { Addr net.HardwareAddr Status Status }
func (src *Macaddr) AssignTo(dst interface{}) error
func (dst *Macaddr) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Macaddr) DecodeText(ci *ConnInfo, src []byte) error
func (src Macaddr) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeBinary encodes src into w.
func (src Macaddr) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Macaddr) Get() interface{}
func (dst *Macaddr) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Macaddr) Set(src interface{}) error
func (src Macaddr) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type MacaddrArray struct { Elements []Macaddr Dimensions []ArrayDimension Status Status }
func (src *MacaddrArray) AssignTo(dst interface{}) error
func (dst *MacaddrArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *MacaddrArray) DecodeText(ci *ConnInfo, src []byte) error
func (src MacaddrArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src MacaddrArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst MacaddrArray) Get() interface{}
func (dst *MacaddrArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *MacaddrArray) Set(src interface{}) error
func (src MacaddrArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type Name Text
func (src *Name) AssignTo(dst interface{}) error
func (dst *Name) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Name) DecodeText(ci *ConnInfo, src []byte) error
func (src Name) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Name) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Name) Get() interface{}
func (dst *Name) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Name) Set(src interface{}) error
func (src Name) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Numeric struct { Int *big.Int Exp int32 Status Status NaN bool InfinityModifier InfinityModifier }
func (src *Numeric) AssignTo(dst interface{}) error
func (dst *Numeric) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Numeric) DecodeText(ci *ConnInfo, src []byte) error
func (src Numeric) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Numeric) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Numeric) Get() interface{}
func (dst *Numeric) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Numeric) Set(src interface{}) error
func (src Numeric) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type NumericArray struct { Elements []Numeric Dimensions []ArrayDimension Status Status }
func (src *NumericArray) AssignTo(dst interface{}) error
func (dst *NumericArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *NumericArray) DecodeText(ci *ConnInfo, src []byte) error
func (src NumericArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src NumericArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst NumericArray) Get() interface{}
func (dst *NumericArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *NumericArray) Set(src interface{}) error
func (src NumericArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Nummultirange struct { Ranges []Numrange Status Status }
func (src *Nummultirange) AssignTo(dst interface{}) error
func (dst *Nummultirange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Nummultirange) DecodeText(ci *ConnInfo, src []byte) error
func (src Nummultirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Nummultirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Nummultirange) Get() interface{}
func (dst *Nummultirange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Nummultirange) Set(src interface{}) error
func (src Nummultirange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Numrange struct { Lower Numeric Upper Numeric LowerType BoundType UpperType BoundType Status Status }
func (src *Numrange) AssignTo(dst interface{}) error
func (dst *Numrange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Numrange) DecodeText(ci *ConnInfo, src []byte) error
func (src Numrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Numrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Numrange) Get() interface{}
func (dst *Numrange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Numrange) Set(src interface{}) error
func (src Numrange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type OID uint32
func (dst *OID) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *OID) DecodeText(ci *ConnInfo, src []byte) error
func (src OID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src OID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst *OID) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (src OID) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type OIDValue pguint32
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 (dst *OIDValue) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *OIDValue) DecodeText(ci *ConnInfo, src []byte) error
func (src OIDValue) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src OIDValue) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst OIDValue) Get() interface{}
func (dst *OIDValue) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
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 (src OIDValue) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
ParamFormatPreferrer allows a type to specify its preferred param format instead of it being inferred from whether it is also a BinaryEncoder.
type ParamFormatPreferrer interface { PreferredParamFormat() int16 }
type Path struct { P []Vec2 Closed bool Status Status }
func (src *Path) AssignTo(dst interface{}) error
func (dst *Path) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Path) DecodeText(ci *ConnInfo, src []byte) error
func (src Path) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Path) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Path) Get() interface{}
func (dst *Path) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Path) Set(src interface{}) error
func (src Path) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Point struct { P Vec2 Status Status }
func (src *Point) AssignTo(dst interface{}) error
func (dst *Point) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Point) DecodeText(ci *ConnInfo, src []byte) error
func (src Point) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Point) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Point) Get() interface{}
func (src Point) MarshalJSON() ([]byte, error)
func (dst *Point) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Point) Set(src interface{}) error
func (dst *Point) UnmarshalJSON(point []byte) error
func (src Point) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Polygon struct { P []Vec2 Status Status }
func (src *Polygon) AssignTo(dst interface{}) error
func (dst *Polygon) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Polygon) DecodeText(ci *ConnInfo, src []byte) error
func (src Polygon) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Polygon) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Polygon) Get() interface{}
func (dst *Polygon) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Polygon) Set(src interface{}) error
Set converts src to dest.
src can be nil, string, []float64, and []pgtype.Vec2.
If src is string the format must be ((x1,y1),(x2,y2),...,(xn,yn)). Important that there are no spaces in it.
func (src Polygon) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type QChar struct { Int int8 Status Status }
func (src *QChar) AssignTo(dst interface{}) error
func (dst *QChar) DecodeBinary(ci *ConnInfo, src []byte) error
func (src QChar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst QChar) Get() interface{}
func (dst *QChar) Set(src interface{}) error
Record is the generic PostgreSQL record type such as is created with the "row" function. Record only implements BinaryDecoder 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.
type Record struct { Fields []Value Status Status }
func (src *Record) AssignTo(dst interface{}) error
func (dst *Record) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst Record) Get() interface{}
func (dst *Record) Set(src interface{}) error
type RecordArray struct { Elements []Record Dimensions []ArrayDimension Status Status }
func (src *RecordArray) AssignTo(dst interface{}) error
func (dst *RecordArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst RecordArray) Get() interface{}
func (dst *RecordArray) Set(src interface{}) error
ResultFormatPreferrer allows a type to specify its preferred result format instead of it being inferred from whether it is also a BinaryDecoder.
type ResultFormatPreferrer interface { PreferredResultFormat() int16 }
ScanPlan is a precompiled plan to scan into a type of destination.
type ScanPlan interface { // Scan scans src into dst. If the dst type has changed in an incompatible way a ScanPlan should automatically // replan and scan. Scan(ci *ConnInfo, oid uint32, formatCode int16, src []byte, dst interface{}) error }
type Status byte
const ( Undefined Status = iota Null Present )
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.
type TID struct { BlockNumber uint32 OffsetNumber uint16 Status Status }
func (src *TID) AssignTo(dst interface{}) error
func (dst *TID) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TID) DecodeText(ci *ConnInfo, src []byte) error
func (src TID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TID) Get() interface{}
func (dst *TID) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TID) Set(src interface{}) error
func (src TID) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Text struct { String string Status Status }
func (src *Text) AssignTo(dst interface{}) error
func (dst *Text) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Text) DecodeText(ci *ConnInfo, src []byte) error
func (src Text) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Text) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Text) Get() interface{}
func (src Text) MarshalJSON() ([]byte, error)
func (Text) PreferredParamFormat() int16
func (Text) PreferredResultFormat() int16
func (dst *Text) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Text) Set(src interface{}) error
func (dst *Text) UnmarshalJSON(b []byte) error
func (src Text) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type TextArray struct { Elements []Text Dimensions []ArrayDimension Status Status }
func (src *TextArray) AssignTo(dst interface{}) error
func (dst *TextArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TextArray) DecodeText(ci *ConnInfo, src []byte) error
func (src TextArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TextArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TextArray) Get() interface{}
func (dst *TextArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TextArray) Set(src interface{}) error
func (src TextArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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 }
TextEncoder is implemented by types that can encode themselves into the PostgreSQL text wire format.
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) }
Time represents the PostgreSQL time type. The PostgreSQL time is a time of day without time zone.
Time is represented as the number of microseconds since midnight in the same way that PostgreSQL does. Other time and date types in pgtype can use time.Time as the underlying representation. However, pgtype.Time type cannot due to needing to handle 24:00:00. time.Time converts that to 00:00:00 on the following day.
type Time struct { Microseconds int64 // Number of microseconds since midnight Status Status }
func (src *Time) AssignTo(dst interface{}) error
func (dst *Time) DecodeBinary(ci *ConnInfo, src []byte) error
DecodeBinary decodes from src into dst.
func (dst *Time) DecodeText(ci *ConnInfo, src []byte) error
DecodeText decodes from src into dst.
func (src Time) 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 (src Time) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
EncodeText writes the text encoding of src into w.
func (dst Time) Get() interface{}
func (dst *Time) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Time) Set(src interface{}) error
Set converts src into a Time and stores in dst.
func (src Time) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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.
type Timestamp struct { Time time.Time // Time must always be in UTC. Status Status InfinityModifier InfinityModifier }
func (src *Timestamp) AssignTo(dst interface{}) error
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 (dst *Timestamp) DecodeText(ci *ConnInfo, src []byte) error
DecodeText decodes from src into dst. The decoded time is considered to be in UTC.
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 (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 (dst Timestamp) Get() interface{}
func (dst *Timestamp) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
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 (src Timestamp) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type TimestampArray struct { Elements []Timestamp Dimensions []ArrayDimension Status Status }
func (src *TimestampArray) AssignTo(dst interface{}) error
func (dst *TimestampArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TimestampArray) DecodeText(ci *ConnInfo, src []byte) error
func (src TimestampArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TimestampArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TimestampArray) Get() interface{}
func (dst *TimestampArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TimestampArray) Set(src interface{}) error
func (src TimestampArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Timestamptz struct { Time time.Time Status Status InfinityModifier InfinityModifier }
func (src *Timestamptz) AssignTo(dst interface{}) error
func (dst *Timestamptz) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Timestamptz) DecodeText(ci *ConnInfo, src []byte) error
func (src Timestamptz) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Timestamptz) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Timestamptz) Get() interface{}
func (src Timestamptz) MarshalJSON() ([]byte, error)
func (dst *Timestamptz) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Timestamptz) Set(src interface{}) error
func (dst *Timestamptz) UnmarshalJSON(b []byte) error
func (src Timestamptz) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type TimestamptzArray struct { Elements []Timestamptz Dimensions []ArrayDimension Status Status }
func (src *TimestamptzArray) AssignTo(dst interface{}) error
func (dst *TimestamptzArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TimestamptzArray) DecodeText(ci *ConnInfo, src []byte) error
func (src TimestamptzArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TimestamptzArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TimestamptzArray) Get() interface{}
func (dst *TimestamptzArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TimestamptzArray) Set(src interface{}) error
func (src TimestamptzArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Tsrange struct { Lower Timestamp Upper Timestamp LowerType BoundType UpperType BoundType Status Status }
func (src *Tsrange) AssignTo(dst interface{}) error
func (dst *Tsrange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Tsrange) DecodeText(ci *ConnInfo, src []byte) error
func (src Tsrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Tsrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Tsrange) Get() interface{}
func (dst *Tsrange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Tsrange) Set(src interface{}) error
func (src Tsrange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type TsrangeArray struct { Elements []Tsrange Dimensions []ArrayDimension Status Status }
func (src *TsrangeArray) AssignTo(dst interface{}) error
func (dst *TsrangeArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TsrangeArray) DecodeText(ci *ConnInfo, src []byte) error
func (src TsrangeArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TsrangeArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TsrangeArray) Get() interface{}
func (dst *TsrangeArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TsrangeArray) Set(src interface{}) error
func (src TsrangeArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Tstzrange struct { Lower Timestamptz Upper Timestamptz LowerType BoundType UpperType BoundType Status Status }
func (src *Tstzrange) AssignTo(dst interface{}) error
func (dst *Tstzrange) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Tstzrange) DecodeText(ci *ConnInfo, src []byte) error
func (src Tstzrange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Tstzrange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Tstzrange) Get() interface{}
func (dst *Tstzrange) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Tstzrange) Set(src interface{}) error
func (src Tstzrange) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type TstzrangeArray struct { Elements []Tstzrange Dimensions []ArrayDimension Status Status }
func (src *TstzrangeArray) AssignTo(dst interface{}) error
func (dst *TstzrangeArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *TstzrangeArray) DecodeText(ci *ConnInfo, src []byte) error
func (src TstzrangeArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src TstzrangeArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst TstzrangeArray) Get() interface{}
func (dst *TstzrangeArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *TstzrangeArray) Set(src interface{}) error
func (src TstzrangeArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
TypeValue is a Value where instances can represent different PostgreSQL types. This can be useful for representing types such as enums, composites, and arrays.
In general, instances of TypeValue should not be used to directly represent a value. It should only be used as an encoder and decoder internal to ConnInfo.
type TypeValue interface { Value // NewTypeValue creates a TypeValue including references to internal type information. e.g. the list of members // in an EnumType. NewTypeValue() Value // TypeName returns the PostgreSQL name of this type. TypeName() string }
type UUID struct { Bytes [16]byte Status Status }
func (src *UUID) AssignTo(dst interface{}) error
func (dst *UUID) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *UUID) DecodeText(ci *ConnInfo, src []byte) error
func (src UUID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src UUID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst UUID) Get() interface{}
func (src UUID) MarshalJSON() ([]byte, error)
func (dst *UUID) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *UUID) Set(src interface{}) error
func (dst *UUID) UnmarshalJSON(src []byte) error
func (src UUID) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type UUIDArray struct { Elements []UUID Dimensions []ArrayDimension Status Status }
func (src *UUIDArray) AssignTo(dst interface{}) error
func (dst *UUIDArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *UUIDArray) DecodeText(ci *ConnInfo, src []byte) error
func (src UUIDArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src UUIDArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst UUIDArray) Get() interface{}
func (dst *UUIDArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *UUIDArray) Set(src interface{}) error
func (src UUIDArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
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;
type Unknown struct { String string Status Status }
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 (dst *Unknown) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Unknown) DecodeText(ci *ConnInfo, src []byte) error
func (dst Unknown) Get() interface{}
func (dst *Unknown) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Unknown) Set(src interface{}) error
func (src Unknown) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type UntypedBinaryRange struct { Lower []byte Upper []byte LowerType BoundType UpperType BoundType }
func ParseUntypedBinaryRange(src []byte) (*UntypedBinaryRange, error)
type UntypedTextArray struct { Elements []string Quoted []bool Dimensions []ArrayDimension }
func ParseUntypedTextArray(src string) (*UntypedTextArray, error)
type UntypedTextMultirange struct { Elements []string }
func ParseUntypedTextMultirange(src string) (*UntypedTextMultirange, error)
type UntypedTextRange struct { Lower string Upper string LowerType BoundType UpperType BoundType }
func ParseUntypedTextRange(src string) (*UntypedTextRange, error)
Value translates values to and from an internal canonical representation for the type. To actually be usable a type that implements Value should also implement some combination of BinaryDecoder, BinaryEncoder, TextDecoder, and TextEncoder.
Operations that update a Value (e.g. Set, DecodeText, DecodeBinary) should entirely replace the value. e.g. Internal slices should be replaced not resized and reused. This allows Get and AssignTo to return a slice directly rather than incur a usually unnecessary copy.
type Value interface { // Set converts and assigns src to itself. Value takes ownership of src. Set(src interface{}) error // Get returns the simplest representation of Value. Get may return a pointer to an internal value but it must never // mutate that value. e.g. If Get returns a []byte Value must never change the contents of the []byte. Get() interface{} // AssignTo converts and assigns the Value to dst. AssignTo may a pointer to an internal value but it must never // mutate that value. e.g. If Get returns a []byte Value must never change the contents of the []byte. AssignTo(dst interface{}) error }
func NewValue(v Value) Value
NewValue returns a new instance of the same type as v.
ValueTranscoder is a value that implements the text and binary encoding and decoding interfaces.
type ValueTranscoder interface { Value TextEncoder BinaryEncoder TextDecoder BinaryDecoder }
type Varbit struct { Bytes []byte Len int32 // Number of bits Status Status }
func (src *Varbit) AssignTo(dst interface{}) error
func (dst *Varbit) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Varbit) DecodeText(ci *ConnInfo, src []byte) error
func (src Varbit) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Varbit) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Varbit) Get() interface{}
func (dst *Varbit) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *Varbit) Set(src interface{}) error
func (src Varbit) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Varchar Text
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 (dst *Varchar) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *Varchar) DecodeText(ci *ConnInfo, src []byte) error
func (src Varchar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src Varchar) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst Varchar) Get() interface{}
func (src Varchar) MarshalJSON() ([]byte, error)
func (Varchar) PreferredParamFormat() int16
func (Varchar) PreferredResultFormat() int16
func (dst *Varchar) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
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 (dst *Varchar) UnmarshalJSON(b []byte) error
func (src Varchar) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type VarcharArray struct { Elements []Varchar Dimensions []ArrayDimension Status Status }
func (src *VarcharArray) AssignTo(dst interface{}) error
func (dst *VarcharArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *VarcharArray) DecodeText(ci *ConnInfo, src []byte) error
func (src VarcharArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src VarcharArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst VarcharArray) Get() interface{}
func (dst *VarcharArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (dst *VarcharArray) Set(src interface{}) error
func (src VarcharArray) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
type Vec2 struct { X float64 Y float64 }
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.
type XID pguint32
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 (dst *XID) DecodeBinary(ci *ConnInfo, src []byte) error
func (dst *XID) DecodeText(ci *ConnInfo, src []byte) error
func (src XID) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (src XID) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (dst XID) Get() interface{}
func (dst *XID) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
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 (src XID) Value() (driver.Value, error)
Value implements the database/sql/driver Valuer interface.
Name | Synopsis |
---|---|
.. | |
ext | |
gofrs-uuid | |
shopspring-numeric | |
pgxtype | |
testutil | |
zeronull | Package zeronull contains types that automatically convert between database NULLs and Go zero values. |