Documentation ¶
Overview ¶
Example (Composite) ¶
conn, err := pgx.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE")) if err != nil { fmt.Println(err) return } defer conn.Close(context.Background()) _, err = conn.Exec(context.Background(), `drop type if exists mytype;`) if err != nil { fmt.Println(err) return } _, err = conn.Exec(context.Background(), `create type mytype as ( a int4, b text );`) if err != nil { fmt.Println(err) return } defer conn.Exec(context.Background(), "drop type mytype") var oid uint32 err = conn.QueryRow(context.Background(), `select 'mytype'::regtype::oid`).Scan(&oid) if err != nil { fmt.Println(err) return } ct, err := pgtype.NewCompositeType("mytype", []pgtype.CompositeTypeField{ {"a", pgtype.Int4OID}, {"b", pgtype.TextOID}, }, conn.ConnInfo()) if err != nil { fmt.Println(err) return } conn.ConnInfo().RegisterDataType(pgtype.DataType{Value: ct, Name: ct.TypeName(), OID: oid}) var a int var b *string err = conn.QueryRow(context.Background(), "select $1::mytype", []interface{}{2, "bar"}).Scan([]interface{}{&a, &b}) if err != nil { fmt.Println(err) return } fmt.Printf("First: a=%d b=%s\n", a, *b) err = conn.QueryRow(context.Background(), "select (1, NULL)::mytype").Scan([]interface{}{&a, &b}) if err != nil { fmt.Println(err) return } fmt.Printf("Second: a=%d b=%v\n", a, b) scanTarget := []interface{}{&a, &b} err = conn.QueryRow(context.Background(), "select NULL::mytype").Scan(&scanTarget) E(err) fmt.Printf("Third: isNull=%v\n", scanTarget == nil)
Output: First: a=2 b=bar Second: a=1 b=<nil> Third: isNull=true
Example (CustomCompositeTypes) ¶
ExampleCustomCompositeTypes demonstrates how support for custom types mappable to SQL composites can be added.
package main import ( "context" "errors" "fmt" "os" "github.com/matthewpi/pgtype" "github.com/matthewpi/pgx/v4" ) type MyType struct { a int32 // NULL will cause decoding error b *string // there can be NULL in this position in SQL } func (dst *MyType) DecodeBinary(ci *pgtype.ConnInfo, src []byte) error { if src == nil { return errors.New("NULL values can't be decoded. Scan into a &*MyType to handle NULLs") } if err := (pgtype.CompositeFields{&dst.a, &dst.b}).DecodeBinary(ci, src); err != nil { return err } return nil } func (src MyType) EncodeBinary(ci *pgtype.ConnInfo, buf []byte) (newBuf []byte, err error) { a := pgtype.Int4{src.a, pgtype.Present} var b pgtype.Text if src.b != nil { b = pgtype.Text{*src.b, pgtype.Present} } else { b = pgtype.Text{Status: pgtype.Null} } return (pgtype.CompositeFields{&a, &b}).EncodeBinary(ci, buf) } func ptrS(s string) *string { return &s } func E(err error) { if err != nil { panic(err) } } // ExampleCustomCompositeTypes demonstrates how support for custom types mappable to SQL // composites can be added. func main() { conn, err := pgx.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE")) E(err) defer conn.Close(context.Background()) _, err = conn.Exec(context.Background(), `drop type if exists mytype; create type mytype as ( a int4, b text );`) E(err) defer conn.Exec(context.Background(), "drop type mytype") var result *MyType // Demonstrates both passing and reading back composite values err = conn.QueryRow(context.Background(), "select $1::mytype", pgx.QueryResultFormats{pgx.BinaryFormatCode}, MyType{1, ptrS("foo")}). Scan(&result) E(err) fmt.Printf("First row: a=%d b=%s\n", result.a, *result.b) // Because we scan into &*MyType, NULLs are handled generically by assigning nil to result err = conn.QueryRow(context.Background(), "select NULL::mytype", pgx.QueryResultFormats{pgx.BinaryFormatCode}).Scan(&result) E(err) fmt.Printf("Second row: %v\n", result) }
Output: First row: a=1 b=foo Second row: <nil>
Index ¶
- Constants
- 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)
- func NullAssignTo(dst interface{}) error
- func QuoteArrayElementIfNeeded(src string) string
- type ACLItem
- 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
- func (dst *ACLItem) Set(src interface{}) error
- func (src ACLItem) Value() (driver.Value, error)
- type ACLItemArray
- 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
- func (dst *ACLItemArray) Set(src interface{}) error
- func (src ACLItemArray) Value() (driver.Value, error)
- type ArrayDimension
- type ArrayHeader
- type 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
- func (dst *ArrayType) Set(src interface{}) error
- func (at *ArrayType) TypeName() string
- func (src ArrayType) Value() (driver.Value, error)
- type BPChar
- func (src *BPChar) AssignTo(dst interface{}) error
- 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{}
- func (src BPChar) MarshalJSON() ([]byte, error)
- func (BPChar) PreferredParamFormat() int16
- func (BPChar) PreferredResultFormat() int16
- func (dst *BPChar) Scan(src interface{}) error
- func (dst *BPChar) Set(src interface{}) error
- func (dst *BPChar) UnmarshalJSON(b []byte) error
- func (src BPChar) Value() (driver.Value, error)
- type BPCharArray
- 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
- func (dst *BPCharArray) Set(src interface{}) error
- func (src BPCharArray) Value() (driver.Value, error)
- type BinaryDecoder
- type BinaryEncoder
- type Bit
- 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
- func (dst *Bit) Set(src interface{}) error
- func (src Bit) Value() (driver.Value, error)
- type Bool
- 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
- func (dst *Bool) Set(src interface{}) error
- func (dst *Bool) UnmarshalJSON(b []byte) error
- func (src Bool) Value() (driver.Value, error)
- type BoolArray
- 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
- func (dst *BoolArray) Set(src interface{}) error
- func (src BoolArray) Value() (driver.Value, error)
- type BoundType
- type Box
- 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
- func (dst *Box) Set(src interface{}) error
- func (src Box) Value() (driver.Value, error)
- type Bytea
- 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
- 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
- func (dst *Bytea) Set(src interface{}) error
- func (src Bytea) Value() (driver.Value, error)
- type ByteaArray
- 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
- func (dst *ByteaArray) Set(src interface{}) error
- func (src ByteaArray) Value() (driver.Value, error)
- type CID
- func (src *CID) AssignTo(dst interface{}) error
- 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
- func (dst *CID) Set(src interface{}) error
- func (src CID) Value() (driver.Value, error)
- type CIDR
- 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) Set(src interface{}) error
- type CIDRArray
- 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
- func (dst *CIDRArray) Set(src interface{}) error
- func (src CIDRArray) Value() (driver.Value, error)
- type Circle
- 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
- func (dst *Circle) Set(src interface{}) error
- func (src Circle) Value() (driver.Value, error)
- type CompositeBinaryBuilder
- type CompositeBinaryScanner
- func (cfs *CompositeBinaryScanner) Bytes() []byte
- func (cfs *CompositeBinaryScanner) Err() error
- func (cfs *CompositeBinaryScanner) FieldCount() int
- func (cfs *CompositeBinaryScanner) Next() bool
- func (cfs *CompositeBinaryScanner) OID() uint32
- func (cfs *CompositeBinaryScanner) ScanDecoder(d BinaryDecoder)
- func (cfs *CompositeBinaryScanner) ScanValue(d interface{})
- type CompositeFields
- type CompositeTextBuilder
- type CompositeTextScanner
- type CompositeType
- func (src CompositeType) AssignTo(dst interface{}) error
- func (dst *CompositeType) DecodeBinary(ci *ConnInfo, buf []byte) error
- 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
- type 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)
- func (ci *ConnInfo) DeepCopy() *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
- func (ci *ConnInfo) RegisterDataType(t DataType)
- func (ci *ConnInfo) RegisterDefaultPgType(value interface{}, name string)
- func (ci *ConnInfo) ResultFormatCodeForOID(oid uint32) int16
- func (ci *ConnInfo) Scan(oid uint32, formatCode int16, src []byte, dst interface{}) error
- type DataType
- type Date
- 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
- func (dst *Date) Set(src interface{}) error
- func (dst *Date) UnmarshalJSON(b []byte) error
- func (src Date) Value() (driver.Value, error)
- type DateArray
- 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
- func (dst *DateArray) Set(src interface{}) error
- func (src DateArray) Value() (driver.Value, error)
- type Daterange
- 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
- func (dst *Daterange) Set(src interface{}) error
- func (src Daterange) Value() (driver.Value, error)
- type EnumArray
- 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
- func (dst *EnumArray) Set(src interface{}) error
- func (src EnumArray) Value() (driver.Value, error)
- type EnumType
- 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
- func (et *EnumType) TypeName() string
- type Float4
- 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
- func (dst *Float4) Set(src interface{}) error
- func (src Float4) Value() (driver.Value, error)
- type Float4Array
- 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
- func (dst *Float4Array) Set(src interface{}) error
- func (src Float4Array) Value() (driver.Value, error)
- type Float8
- 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
- func (dst *Float8) Set(src interface{}) error
- func (src Float8) Value() (driver.Value, error)
- type Float8Array
- 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
- func (dst *Float8Array) Set(src interface{}) error
- func (src Float8Array) Value() (driver.Value, error)
- type GenericBinary
- 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
- func (dst *GenericBinary) Set(src interface{}) error
- func (src GenericBinary) Value() (driver.Value, error)
- type GenericText
- 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
- func (dst *GenericText) Set(src interface{}) error
- func (src GenericText) Value() (driver.Value, error)
- type Hstore
- 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
- func (dst *Hstore) Set(src interface{}) error
- func (src Hstore) Value() (driver.Value, error)
- type HstoreArray
- 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
- func (dst *HstoreArray) Set(src interface{}) error
- func (src HstoreArray) Value() (driver.Value, error)
- type Inet
- 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)
- func (src Inet) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
- func (dst Inet) Get() interface{}
- func (dst *Inet) Scan(src interface{}) error
- func (dst *Inet) Set(src interface{}) error
- func (src Inet) Value() (driver.Value, error)
- type InetArray
- 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
- func (dst *InetArray) Set(src interface{}) error
- func (src InetArray) Value() (driver.Value, error)
- type InfinityModifier
- type Int2
- 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
- func (dst *Int2) Set(src interface{}) error
- func (src Int2) Value() (driver.Value, error)
- type Int2Array
- 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
- func (dst *Int2Array) Set(src interface{}) error
- func (src Int2Array) Value() (driver.Value, error)
- type Int4
- 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
- func (dst *Int4) Set(src interface{}) error
- func (dst *Int4) UnmarshalJSON(b []byte) error
- func (src Int4) Value() (driver.Value, error)
- type Int4Array
- 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
- func (dst *Int4Array) Set(src interface{}) error
- func (src Int4Array) Value() (driver.Value, error)
- type Int4range
- 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
- func (dst *Int4range) Set(src interface{}) error
- func (src Int4range) Value() (driver.Value, error)
- type Int8
- 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
- func (dst *Int8) Set(src interface{}) error
- func (dst *Int8) UnmarshalJSON(b []byte) error
- func (src Int8) Value() (driver.Value, error)
- type Int8Array
- 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
- func (dst *Int8Array) Set(src interface{}) error
- func (src Int8Array) Value() (driver.Value, error)
- type Int8range
- 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
- func (dst *Int8range) Set(src interface{}) error
- func (src Int8range) Value() (driver.Value, error)
- type Interval
- 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)
- func (src Interval) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
- func (dst Interval) Get() interface{}
- func (dst *Interval) Scan(src interface{}) error
- func (dst *Interval) Set(src interface{}) error
- func (src Interval) Value() (driver.Value, error)
- type JSON
- 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
- func (dst *JSON) Set(src interface{}) error
- func (dst *JSON) UnmarshalJSON(b []byte) error
- func (src JSON) Value() (driver.Value, error)
- type JSONB
- 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
- func (dst *JSONB) Set(src interface{}) error
- func (dst *JSONB) UnmarshalJSON(b []byte) error
- func (src JSONB) Value() (driver.Value, error)
- type JSONBArray
- 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
- func (dst *JSONBArray) Set(src interface{}) error
- func (src JSONBArray) Value() (driver.Value, error)
- type Line
- 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
- func (dst *Line) Set(src interface{}) error
- func (src Line) Value() (driver.Value, error)
- type Lseg
- 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
- func (dst *Lseg) Set(src interface{}) error
- func (src Lseg) Value() (driver.Value, error)
- type Macaddr
- 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)
- func (src Macaddr) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
- func (dst Macaddr) Get() interface{}
- func (dst *Macaddr) Scan(src interface{}) error
- func (dst *Macaddr) Set(src interface{}) error
- func (src Macaddr) Value() (driver.Value, error)
- type MacaddrArray
- 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
- func (dst *MacaddrArray) Set(src interface{}) error
- func (src MacaddrArray) Value() (driver.Value, error)
- type Name
- 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
- func (dst *Name) Set(src interface{}) error
- func (src Name) Value() (driver.Value, error)
- type Numeric
- 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
- func (dst *Numeric) Set(src interface{}) error
- func (src Numeric) Value() (driver.Value, error)
- type NumericArray
- 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
- func (dst *NumericArray) Set(src interface{}) error
- func (src NumericArray) Value() (driver.Value, error)
- type Numrange
- 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
- func (dst *Numrange) Set(src interface{}) error
- func (src Numrange) Value() (driver.Value, error)
- type OID
- 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
- func (src OID) Value() (driver.Value, error)
- type OIDValue
- func (src *OIDValue) AssignTo(dst interface{}) error
- 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
- func (dst *OIDValue) Set(src interface{}) error
- func (src OIDValue) Value() (driver.Value, error)
- type ParamFormatPreferrer
- type Path
- 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
- func (dst *Path) Set(src interface{}) error
- func (src Path) Value() (driver.Value, error)
- type Point
- 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
- func (dst *Point) Set(src interface{}) error
- func (dst *Point) UnmarshalJSON(point []byte) error
- func (src Point) Value() (driver.Value, error)
- type Polygon
- 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
- func (dst *Polygon) Set(src interface{}) error
- func (src Polygon) Value() (driver.Value, error)
- type QChar
- type Record
- type ResultFormatPreferrer
- type ScanPlan
- type Status
- type TID
- 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
- func (dst *TID) Set(src interface{}) error
- func (src TID) Value() (driver.Value, error)
- type Text
- 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
- func (dst *Text) Set(src interface{}) error
- func (dst *Text) UnmarshalJSON(b []byte) error
- func (src Text) Value() (driver.Value, error)
- type TextArray
- 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
- func (dst *TextArray) Set(src interface{}) error
- func (src TextArray) Value() (driver.Value, error)
- type TextDecoder
- type TextEncoder
- type Time
- func (src *Time) AssignTo(dst interface{}) error
- func (dst *Time) DecodeBinary(ci *ConnInfo, src []byte) error
- func (dst *Time) DecodeText(ci *ConnInfo, src []byte) error
- func (src Time) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
- func (src Time) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
- func (dst Time) Get() interface{}
- func (dst *Time) Scan(src interface{}) error
- func (dst *Time) Set(src interface{}) error
- func (src Time) Value() (driver.Value, error)
- type Timestamp
- func (src *Timestamp) AssignTo(dst interface{}) error
- func (dst *Timestamp) DecodeBinary(ci *ConnInfo, src []byte) error
- func (dst *Timestamp) DecodeText(ci *ConnInfo, src []byte) error
- func (src Timestamp) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
- func (src Timestamp) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
- func (dst Timestamp) Get() interface{}
- func (dst *Timestamp) Scan(src interface{}) error
- func (dst *Timestamp) Set(src interface{}) error
- func (src Timestamp) Value() (driver.Value, error)
- type TimestampArray
- 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
- func (dst *TimestampArray) Set(src interface{}) error
- func (src TimestampArray) Value() (driver.Value, error)
- type Timestamptz
- 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
- func (dst *Timestamptz) Set(src interface{}) error
- func (dst *Timestamptz) UnmarshalJSON(b []byte) error
- func (src Timestamptz) Value() (driver.Value, error)
- type TimestamptzArray
- 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
- func (dst *TimestamptzArray) Set(src interface{}) error
- func (src TimestamptzArray) Value() (driver.Value, error)
- type Tsrange
- 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
- func (dst *Tsrange) Set(src interface{}) error
- func (src Tsrange) Value() (driver.Value, error)
- type TsrangeArray
- 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
- func (dst *TsrangeArray) Set(src interface{}) error
- func (src TsrangeArray) Value() (driver.Value, error)
- type Tstzrange
- 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
- func (dst *Tstzrange) Set(src interface{}) error
- func (src Tstzrange) Value() (driver.Value, error)
- type TstzrangeArray
- 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
- func (dst *TstzrangeArray) Set(src interface{}) error
- func (src TstzrangeArray) Value() (driver.Value, error)
- type TypeValue
- type UUID
- 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
- func (dst *UUID) Set(src interface{}) error
- func (dst *UUID) UnmarshalJSON(src []byte) error
- func (src UUID) Value() (driver.Value, error)
- type UUIDArray
- 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
- func (dst *UUIDArray) Set(src interface{}) error
- func (src UUIDArray) Value() (driver.Value, error)
- type Unknown
- func (src *Unknown) AssignTo(dst interface{}) error
- 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
- func (dst *Unknown) Set(src interface{}) error
- func (src Unknown) Value() (driver.Value, error)
- type UntypedBinaryRange
- type UntypedTextArray
- type UntypedTextRange
- type Value
- type ValueTranscoder
- type Varbit
- 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
- func (dst *Varbit) Set(src interface{}) error
- func (src Varbit) Value() (driver.Value, error)
- type Varchar
- func (src *Varchar) AssignTo(dst interface{}) error
- 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
- func (dst *Varchar) Set(src interface{}) error
- func (dst *Varchar) UnmarshalJSON(b []byte) error
- func (src Varchar) Value() (driver.Value, error)
- type VarcharArray
- 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
- func (dst *VarcharArray) Set(src interface{}) error
- func (src VarcharArray) Value() (driver.Value, error)
- type Vec2
- type XID
- func (src *XID) AssignTo(dst interface{}) error
- 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
- func (dst *XID) Set(src interface{}) error
- func (src XID) Value() (driver.Value, error)
Examples ¶
Constants ¶
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 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 NumrangeOID = 3906 TsrangeOID = 3908 TsrangeArrayOID = 3909 TstzrangeOID = 3910 TstzrangeArrayOID = 3911 Int8rangeOID = 3926 )
PostgreSQL oids for common types
const ( TextFormatCode = 0 BinaryFormatCode = 1 )
PostgreSQL format codes
const ( Inclusive = BoundType('i') Exclusive = BoundType('e') Unbounded = BoundType('U') Empty = BoundType('E') )
Variables ¶
This section is empty.
Functions ¶
func DatabaseSQLValue ¶
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
Types ¶
type ACLItem ¶
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 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
type ArrayDimension ¶
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 ArrayType ¶
type ArrayType struct {
// contains filtered or unexported fields
}
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 an concrete array type.
func NewArrayType ¶
func NewArrayType(typeName string, elementOID uint32, newElement func() ValueTranscoder) *ArrayType
func (ArrayType) EncodeBinary ¶
func (ArrayType) EncodeText ¶
func (*ArrayType) NewTypeValue ¶
type BPChar ¶
type BPChar Text
BPChar is fixed-length, blank padded char type character(n), char(n)
func (BPChar) EncodeBinary ¶
func (BPChar) MarshalJSON ¶
func (BPChar) PreferredParamFormat ¶
func (BPChar) PreferredResultFormat ¶
func (*BPChar) UnmarshalJSON ¶
type BPCharArray ¶
type BPCharArray struct { Elements []BPChar Dimensions []ArrayDimension Status Status }
func (*BPCharArray) AssignTo ¶
func (src *BPCharArray) AssignTo(dst interface{}) error
func (*BPCharArray) DecodeBinary ¶
func (dst *BPCharArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (*BPCharArray) DecodeText ¶
func (dst *BPCharArray) DecodeText(ci *ConnInfo, src []byte) error
func (BPCharArray) EncodeBinary ¶
func (src BPCharArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (BPCharArray) EncodeText ¶
func (src BPCharArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (BPCharArray) Get ¶
func (dst BPCharArray) Get() interface{}
func (*BPCharArray) Scan ¶
func (dst *BPCharArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (*BPCharArray) Set ¶
func (dst *BPCharArray) Set(src interface{}) error
type BinaryDecoder ¶
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 ¶
func (Bool) MarshalJSON ¶
func (*Bool) UnmarshalJSON ¶
type BoolArray ¶
type BoolArray struct { Elements []Bool Dimensions []ArrayDimension Status Status }
func (BoolArray) EncodeBinary ¶
func (BoolArray) EncodeText ¶
type Bytea ¶
func (*Bytea) DecodeText ¶
DecodeText only supports the hex format. This has been the default since PostgreSQL 9.0.
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
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 ¶
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.
type CIDRArray ¶
type CIDRArray struct { Elements []CIDR Dimensions []ArrayDimension Status Status }
func (CIDRArray) EncodeBinary ¶
func (CIDRArray) EncodeText ¶
type Circle ¶
func (Circle) EncodeBinary ¶
type CompositeBinaryBuilder ¶
type CompositeBinaryBuilder struct {
// contains filtered or unexported fields
}
func NewCompositeBinaryBuilder ¶
func NewCompositeBinaryBuilder(ci *ConnInfo, buf []byte) *CompositeBinaryBuilder
func (*CompositeBinaryBuilder) AppendEncoder ¶
func (b *CompositeBinaryBuilder) AppendEncoder(oid uint32, field BinaryEncoder)
func (*CompositeBinaryBuilder) AppendValue ¶
func (b *CompositeBinaryBuilder) AppendValue(oid uint32, field interface{})
func (*CompositeBinaryBuilder) Finish ¶
func (b *CompositeBinaryBuilder) Finish() ([]byte, error)
type CompositeBinaryScanner ¶
type CompositeBinaryScanner struct {
// contains filtered or unexported fields
}
func NewCompositeBinaryScanner ¶
func NewCompositeBinaryScanner(ci *ConnInfo, src []byte) *CompositeBinaryScanner
NewCompositeBinaryScanner a scanner over a binary encoded composite balue.
func (*CompositeBinaryScanner) Bytes ¶
func (cfs *CompositeBinaryScanner) Bytes() []byte
Bytes returns the bytes of the field most recently read by Scan().
func (*CompositeBinaryScanner) Err ¶
func (cfs *CompositeBinaryScanner) Err() error
Err returns any error encountered by the scanner.
func (*CompositeBinaryScanner) FieldCount ¶
func (cfs *CompositeBinaryScanner) FieldCount() int
func (*CompositeBinaryScanner) Next ¶
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 (*CompositeBinaryScanner) OID ¶
func (cfs *CompositeBinaryScanner) OID() uint32
OID returns the OID of the field most recently read by Scan().
func (*CompositeBinaryScanner) ScanDecoder ¶
func (cfs *CompositeBinaryScanner) ScanDecoder(d BinaryDecoder)
ScanDecoder calls Next and decodes the result with d.
func (*CompositeBinaryScanner) ScanValue ¶
func (cfs *CompositeBinaryScanner) ScanValue(d interface{})
ScanDecoder calls Next and scans the result into d.
type CompositeFields ¶
type CompositeFields []interface{}
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.
func (CompositeFields) DecodeBinary ¶
func (cf CompositeFields) DecodeBinary(ci *ConnInfo, src []byte) error
func (CompositeFields) DecodeText ¶
func (cf CompositeFields) DecodeText(ci *ConnInfo, src []byte) error
func (CompositeFields) EncodeBinary ¶
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 (CompositeFields) EncodeText ¶
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 ¶
type CompositeTextBuilder struct {
// contains filtered or unexported fields
}
func NewCompositeTextBuilder ¶
func NewCompositeTextBuilder(ci *ConnInfo, buf []byte) *CompositeTextBuilder
func (*CompositeTextBuilder) AppendEncoder ¶
func (b *CompositeTextBuilder) AppendEncoder(field TextEncoder)
func (*CompositeTextBuilder) AppendValue ¶
func (b *CompositeTextBuilder) AppendValue(field interface{})
func (*CompositeTextBuilder) Finish ¶
func (b *CompositeTextBuilder) Finish() ([]byte, error)
type CompositeTextScanner ¶
type CompositeTextScanner struct {
// contains filtered or unexported fields
}
func NewCompositeTextScanner ¶
func NewCompositeTextScanner(ci *ConnInfo, src []byte) *CompositeTextScanner
NewCompositeTextScanner a scanner over a text encoded composite value.
func (*CompositeTextScanner) Bytes ¶
func (cfs *CompositeTextScanner) Bytes() []byte
Bytes returns the bytes of the field most recently read by Scan().
func (*CompositeTextScanner) Err ¶
func (cfs *CompositeTextScanner) Err() error
Err returns any error encountered by the scanner.
func (*CompositeTextScanner) Next ¶
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 (*CompositeTextScanner) ScanDecoder ¶
func (cfs *CompositeTextScanner) ScanDecoder(d TextDecoder)
ScanDecoder calls Next and decodes the result with d.
func (*CompositeTextScanner) ScanValue ¶
func (cfs *CompositeTextScanner) ScanValue(d interface{})
ScanDecoder calls Next and scans the result into d.
type CompositeType ¶
type CompositeType struct {
// contains filtered or unexported fields
}
func NewCompositeType ¶
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 ¶
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 (CompositeType) AssignTo ¶
func (src CompositeType) AssignTo(dst interface{}) error
AssignTo should never be called on composite value directly
func (*CompositeType) DecodeBinary ¶
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 (*CompositeType) DecodeText ¶
func (dst *CompositeType) DecodeText(ci *ConnInfo, buf []byte) error
func (CompositeType) EncodeBinary ¶
func (src CompositeType) EncodeBinary(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
func (CompositeType) EncodeText ¶
func (src CompositeType) EncodeText(ci *ConnInfo, buf []byte) (newBuf []byte, err error)
func (*CompositeType) Fields ¶
func (ct *CompositeType) Fields() []CompositeTypeField
func (CompositeType) Get ¶
func (src CompositeType) Get() interface{}
func (*CompositeType) NewTypeValue ¶
func (ct *CompositeType) NewTypeValue() Value
func (*CompositeType) Set ¶
func (dst *CompositeType) Set(src interface{}) error
func (*CompositeType) TypeName ¶
func (ct *CompositeType) TypeName() string
type CompositeTypeField ¶
type ConnInfo ¶
type ConnInfo struct {
// contains filtered or unexported fields
}
func NewConnInfo ¶
func NewConnInfo() *ConnInfo
func (*ConnInfo) DataTypeForName ¶
func (*ConnInfo) DataTypeForValue ¶
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 (*ConnInfo) InitializeDataTypes ¶
func (*ConnInfo) ParamFormatCodeForOID ¶
func (*ConnInfo) RegisterDataType ¶
func (*ConnInfo) RegisterDefaultPgType ¶
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 (*ConnInfo) ResultFormatCodeForOID ¶
type Date ¶
type Date struct { Time time.Time Status Status InfinityModifier InfinityModifier }
func (Date) MarshalJSON ¶
func (*Date) UnmarshalJSON ¶
type DateArray ¶
type DateArray struct { Elements []Date Dimensions []ArrayDimension Status Status }
func (DateArray) EncodeBinary ¶
func (DateArray) EncodeText ¶
type Daterange ¶
type Daterange struct { Lower Date Upper Date LowerType BoundType UpperType BoundType Status Status }
func (Daterange) EncodeBinary ¶
func (Daterange) EncodeText ¶
type EnumArray ¶
type EnumArray struct { Elements []GenericText Dimensions []ArrayDimension Status Status }
func (EnumArray) EncodeText ¶
type EnumType ¶
type EnumType struct {
// contains filtered or unexported fields
}
EnumType represents a 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.
func NewEnumType ¶
NewEnumType initializes a new EnumType. It retains a read-only reference to members. members must not be changed.
func (EnumType) EncodeBinary ¶
func (EnumType) EncodeText ¶
func (*EnumType) NewTypeValue ¶
func (EnumType) PreferredParamFormat ¶
func (EnumType) PreferredResultFormat ¶
type Float4 ¶
func (Float4) EncodeBinary ¶
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
type Float8 ¶
func (Float8) EncodeBinary ¶
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
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
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
type Hstore ¶
Hstore represents an hstore column that can be null or have null values associated with its keys.
func (Hstore) EncodeBinary ¶
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
type Inet ¶
Inet represents both inet and cidr PostgreSQL types.
func (Inet) EncodeBinary ¶
EncodeBinary encodes src into w.
type InetArray ¶
type InetArray struct { Elements []Inet Dimensions []ArrayDimension Status Status }
func (InetArray) EncodeBinary ¶
func (InetArray) EncodeText ¶
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 ¶
func (Int2) MarshalJSON ¶
type Int2Array ¶
type Int2Array struct { Elements []Int2 Dimensions []ArrayDimension Status Status }
func (Int2Array) EncodeBinary ¶
func (Int2Array) EncodeText ¶
type Int4 ¶
func (Int4) MarshalJSON ¶
func (*Int4) UnmarshalJSON ¶
type Int4Array ¶
type Int4Array struct { Elements []Int4 Dimensions []ArrayDimension Status Status }
func (Int4Array) EncodeBinary ¶
func (Int4Array) EncodeText ¶
type Int4range ¶
type Int4range struct { Lower Int4 Upper Int4 LowerType BoundType UpperType BoundType Status Status }
func (Int4range) EncodeBinary ¶
func (Int4range) EncodeText ¶
type Int8 ¶
func (Int8) MarshalJSON ¶
func (*Int8) UnmarshalJSON ¶
type Int8Array ¶
type Int8Array struct { Elements []Int8 Dimensions []ArrayDimension Status Status }
func (Int8Array) EncodeBinary ¶
func (Int8Array) EncodeText ¶
type Int8range ¶
type Int8range struct { Lower Int8 Upper Int8 LowerType BoundType UpperType BoundType Status Status }
func (Int8range) EncodeBinary ¶
func (Int8range) EncodeText ¶
type Interval ¶
func (Interval) EncodeBinary ¶
EncodeBinary encodes src into w.
func (Interval) EncodeText ¶
type JSON ¶
func (JSON) MarshalJSON ¶
func (JSON) PreferredParamFormat ¶
func (JSON) PreferredResultFormat ¶
func (*JSON) UnmarshalJSON ¶
type JSONB ¶
type JSONB JSON
func (JSONB) MarshalJSON ¶
func (JSONB) PreferredParamFormat ¶
func (JSONB) PreferredResultFormat ¶
func (*JSONB) UnmarshalJSON ¶
type JSONBArray ¶
type JSONBArray struct { Elements []JSONB Dimensions []ArrayDimension Status Status }
func (*JSONBArray) AssignTo ¶
func (src *JSONBArray) AssignTo(dst interface{}) error
func (*JSONBArray) DecodeBinary ¶
func (dst *JSONBArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (*JSONBArray) DecodeText ¶
func (dst *JSONBArray) DecodeText(ci *ConnInfo, src []byte) error
func (JSONBArray) EncodeBinary ¶
func (src JSONBArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (JSONBArray) EncodeText ¶
func (src JSONBArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (JSONBArray) Get ¶
func (dst JSONBArray) Get() interface{}
func (*JSONBArray) Scan ¶
func (dst *JSONBArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (*JSONBArray) Set ¶
func (dst *JSONBArray) Set(src interface{}) error
type Macaddr ¶
type Macaddr struct { Addr net.HardwareAddr Status Status }
func (Macaddr) EncodeBinary ¶
EncodeBinary encodes src into w.
type MacaddrArray ¶
type MacaddrArray struct { Elements []Macaddr Dimensions []ArrayDimension Status Status }
func (*MacaddrArray) AssignTo ¶
func (src *MacaddrArray) AssignTo(dst interface{}) error
func (*MacaddrArray) DecodeBinary ¶
func (dst *MacaddrArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (*MacaddrArray) DecodeText ¶
func (dst *MacaddrArray) DecodeText(ci *ConnInfo, src []byte) error
func (MacaddrArray) EncodeBinary ¶
func (src MacaddrArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (MacaddrArray) EncodeText ¶
func (src MacaddrArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (MacaddrArray) Get ¶
func (dst MacaddrArray) Get() interface{}
func (*MacaddrArray) Scan ¶
func (dst *MacaddrArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (*MacaddrArray) Set ¶
func (dst *MacaddrArray) Set(src interface{}) error
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.
type Numeric ¶
func (Numeric) EncodeBinary ¶
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
type Numrange ¶
type Numrange struct { Lower Numeric Upper Numeric LowerType BoundType UpperType BoundType Status Status }
func (Numrange) EncodeBinary ¶
func (Numrange) EncodeText ¶
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.
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 ¶
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) EncodeBinary ¶
func (OIDValue) EncodeText ¶
type ParamFormatPreferrer ¶
type ParamFormatPreferrer interface {
PreferredParamFormat() int16
}
ParamFormatPreferrer allows a type to specify its preferred param format instead of it being inferred from whether it is also a BinaryEncoder.
type Point ¶
func (Point) MarshalJSON ¶
func (*Point) UnmarshalJSON ¶
type Polygon ¶
func (Polygon) EncodeBinary ¶
type QChar ¶
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 Record ¶
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.
type ResultFormatPreferrer ¶
type ResultFormatPreferrer interface {
PreferredResultFormat() int16
}
ResultFormatPreferrer allows a type to specify its preferred result format instead of it being inferred from whether it is also a BinaryDecoder.
type ScanPlan ¶
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 }
ScanPlan is a precompiled plan to scan into a type of destination.
type TID ¶
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 Text ¶
func (Text) MarshalJSON ¶
func (Text) PreferredParamFormat ¶
func (Text) PreferredResultFormat ¶
func (*Text) UnmarshalJSON ¶
type TextArray ¶
type TextArray struct { Elements []Text Dimensions []ArrayDimension Status Status }
func (TextArray) EncodeBinary ¶
func (TextArray) EncodeText ¶
type TextDecoder ¶
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 Time ¶
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.
func (*Time) DecodeBinary ¶
DecodeBinary decodes from src into dst.
func (*Time) DecodeText ¶
DecodeText decodes from src into dst.
func (Time) EncodeBinary ¶
EncodeBinary writes the binary encoding of src into w. If src.Time is not in the UTC time zone it returns an error.
func (Time) EncodeText ¶
EncodeText writes the text encoding of src into w.
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) DecodeBinary ¶
DecodeBinary decodes from src into dst. The decoded time is considered to be in UTC.
func (*Timestamp) DecodeText ¶
DecodeText decodes from src into dst. The decoded time is considered to be in UTC.
func (Timestamp) EncodeBinary ¶
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 ¶
EncodeText writes the text encoding of src into w. If src.Time is not in the UTC time zone it returns an error.
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
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) MarshalJSON ¶
func (src Timestamptz) MarshalJSON() ([]byte, error)
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) UnmarshalJSON ¶
func (dst *Timestamptz) UnmarshalJSON(b []byte) error
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
type Tsrange ¶
type Tsrange struct { Lower Timestamp Upper Timestamp LowerType BoundType UpperType BoundType Status Status }
func (Tsrange) EncodeBinary ¶
type TsrangeArray ¶
type TsrangeArray struct { Elements []Tsrange Dimensions []ArrayDimension Status Status }
func (*TsrangeArray) AssignTo ¶
func (src *TsrangeArray) AssignTo(dst interface{}) error
func (*TsrangeArray) DecodeBinary ¶
func (dst *TsrangeArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (*TsrangeArray) DecodeText ¶
func (dst *TsrangeArray) DecodeText(ci *ConnInfo, src []byte) error
func (TsrangeArray) EncodeBinary ¶
func (src TsrangeArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (TsrangeArray) EncodeText ¶
func (src TsrangeArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (TsrangeArray) Get ¶
func (dst TsrangeArray) Get() interface{}
func (*TsrangeArray) Scan ¶
func (dst *TsrangeArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (*TsrangeArray) Set ¶
func (dst *TsrangeArray) Set(src interface{}) error
type Tstzrange ¶
type Tstzrange struct { Lower Timestamptz Upper Timestamptz LowerType BoundType UpperType BoundType Status Status }
func (Tstzrange) EncodeBinary ¶
func (Tstzrange) EncodeText ¶
type TstzrangeArray ¶
type TstzrangeArray struct { Elements []Tstzrange Dimensions []ArrayDimension Status Status }
func (*TstzrangeArray) AssignTo ¶
func (src *TstzrangeArray) AssignTo(dst interface{}) error
func (*TstzrangeArray) DecodeBinary ¶
func (dst *TstzrangeArray) DecodeBinary(ci *ConnInfo, src []byte) error
func (*TstzrangeArray) DecodeText ¶
func (dst *TstzrangeArray) DecodeText(ci *ConnInfo, src []byte) error
func (TstzrangeArray) EncodeBinary ¶
func (src TstzrangeArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
func (TstzrangeArray) EncodeText ¶
func (src TstzrangeArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
func (TstzrangeArray) Get ¶
func (dst TstzrangeArray) Get() interface{}
func (*TstzrangeArray) Scan ¶
func (dst *TstzrangeArray) Scan(src interface{}) error
Scan implements the database/sql Scanner interface.
func (*TstzrangeArray) Set ¶
func (dst *TstzrangeArray) Set(src interface{}) error
type TypeValue ¶
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 }
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 UUID ¶
func (UUID) MarshalJSON ¶
func (*UUID) UnmarshalJSON ¶
type UUIDArray ¶
type UUIDArray struct { Elements []UUID Dimensions []ArrayDimension Status Status }
func (UUIDArray) EncodeBinary ¶
func (UUIDArray) EncodeText ¶
type Unknown ¶
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 ¶
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.
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 Quoted []bool Dimensions []ArrayDimension }
func ParseUntypedTextArray ¶
func ParseUntypedTextArray(src string) (*UntypedTextArray, error)
type UntypedTextRange ¶
func ParseUntypedTextRange ¶
func ParseUntypedTextRange(src string) (*UntypedTextRange, error)
type Value ¶
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 }
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 ValueTranscoder ¶
type ValueTranscoder interface { Value TextEncoder BinaryEncoder TextDecoder BinaryDecoder }
ValueTranscoder is a value that implements the text and binary encoding and decoding interfaces.
type Varbit ¶
func (Varbit) EncodeBinary ¶
type Varchar ¶
type Varchar Text
func (*Varchar) AssignTo ¶
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) EncodeBinary ¶
func (Varchar) MarshalJSON ¶
func (Varchar) PreferredParamFormat ¶
func (Varchar) PreferredResultFormat ¶
func (*Varchar) Set ¶
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) UnmarshalJSON ¶
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
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 ¶
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.
Source Files ¶
- aclitem.go
- aclitem_array.go
- array.go
- array_type.go
- bit.go
- bool.go
- bool_array.go
- box.go
- bpchar.go
- bpchar_array.go
- bytea.go
- bytea_array.go
- cid.go
- cidr.go
- cidr_array.go
- circle.go
- composite_fields.go
- composite_type.go
- convert.go
- database_sql.go
- date.go
- date_array.go
- daterange.go
- enum_array.go
- enum_type.go
- float4.go
- float4_array.go
- float8.go
- float8_array.go
- generic_binary.go
- generic_text.go
- hstore.go
- hstore_array.go
- inet.go
- inet_array.go
- int2.go
- int2_array.go
- int4.go
- int4_array.go
- int4range.go
- int8.go
- int8_array.go
- int8range.go
- interval.go
- json.go
- jsonb.go
- jsonb_array.go
- line.go
- lseg.go
- macaddr.go
- macaddr_array.go
- name.go
- numeric.go
- numeric_array.go
- numrange.go
- oid.go
- oid_value.go
- path.go
- pgtype.go
- pguint32.go
- point.go
- polygon.go
- qchar.go
- range.go
- record.go
- text.go
- text_array.go
- tid.go
- time.go
- timestamp.go
- timestamp_array.go
- timestamptz.go
- timestamptz_array.go
- tsrange.go
- tsrange_array.go
- tstzrange.go
- tstzrange_array.go
- unknown.go
- uuid.go
- uuid_array.go
- varbit.go
- varchar.go
- varchar_array.go
- xid.go
Directories ¶
Path | Synopsis |
---|---|
ext
|
|
Package zeronull contains types that automatically convert between database NULLs and Go zero values.
|
Package zeronull contains types that automatically convert between database NULLs and Go zero values. |