...

Package pgtype

import "github.com/jackc/pgtype"
Overview
Index
Examples
Subdirectories

Overview ▾

Example (Composite)

Code:

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.

Code:

package pgtype_test

import (
    "context"
    "errors"
    "fmt"
    "os"

    "github.com/jackc/pgtype"
    pgx "github.com/jackc/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 Example_customCompositeTypes() {
    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
    func (dst *ArrayHeader) DecodeBinary(ci *ConnInfo, src []byte) (int, error)
    func (src ArrayHeader) EncodeBinary(ci *ConnInfo, buf []byte) []byte
type ArrayType
    func NewArrayType(typeName string, elementOID uint32, newElement func() ValueTranscoder) *ArrayType
    func (src *ArrayType) AssignTo(dst interface{}) error
    func (dst *ArrayType) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *ArrayType) DecodeText(ci *ConnInfo, src []byte) error
    func (src ArrayType) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src ArrayType) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst ArrayType) Get() interface{}
    func (at *ArrayType) NewTypeValue() Value
    func (dst *ArrayType) Scan(src interface{}) error
    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
    func (bt BoundType) String() string
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) Scan(src interface{}) error
    func (dst *CIDR) Set(src interface{}) error
    func (src CIDR) Value() (driver.Value, 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
    func NewCompositeBinaryBuilder(ci *ConnInfo, buf []byte) *CompositeBinaryBuilder
    func (b *CompositeBinaryBuilder) AppendEncoder(oid uint32, field BinaryEncoder)
    func (b *CompositeBinaryBuilder) AppendValue(oid uint32, field interface{})
    func (b *CompositeBinaryBuilder) Finish() ([]byte, error)
type CompositeBinaryScanner
    func NewCompositeBinaryScanner(ci *ConnInfo, src []byte) *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
    func (cf CompositeFields) DecodeBinary(ci *ConnInfo, src []byte) error
    func (cf CompositeFields) DecodeText(ci *ConnInfo, src []byte) error
    func (cf CompositeFields) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (cf CompositeFields) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
type CompositeTextBuilder
    func NewCompositeTextBuilder(ci *ConnInfo, buf []byte) *CompositeTextBuilder
    func (b *CompositeTextBuilder) AppendEncoder(field TextEncoder)
    func (b *CompositeTextBuilder) AppendValue(field interface{})
    func (b *CompositeTextBuilder) Finish() ([]byte, error)
type CompositeTextScanner
    func NewCompositeTextScanner(ci *ConnInfo, src []byte) *CompositeTextScanner
    func (cfs *CompositeTextScanner) Bytes() []byte
    func (cfs *CompositeTextScanner) Err() error
    func (cfs *CompositeTextScanner) Next() bool
    func (cfs *CompositeTextScanner) ScanDecoder(d TextDecoder)
    func (cfs *CompositeTextScanner) ScanValue(d interface{})
type CompositeType
    func NewCompositeType(typeName string, fields []CompositeTypeField, ci *ConnInfo) (*CompositeType, error)
    func NewCompositeTypeValues(typeName string, fields []CompositeTypeField, values []ValueTranscoder) (*CompositeType, error)
    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 NewConnInfo() *ConnInfo
    func (ci *ConnInfo) DataTypeForName(name string) (*DataType, bool)
    func (ci *ConnInfo) DataTypeForOID(oid uint32) (*DataType, bool)
    func (ci *ConnInfo) DataTypeForValue(v interface{}) (*DataType, bool)
    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 NewEnumType(typeName string, members []string) *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
    func (im InfinityModifier) String() string
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 (dst *Int2) UnmarshalJSON(b []byte) 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 Int4multirange
    func (src *Int4multirange) AssignTo(dst interface{}) error
    func (dst *Int4multirange) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *Int4multirange) DecodeText(ci *ConnInfo, src []byte) error
    func (src Int4multirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src Int4multirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst Int4multirange) Get() interface{}
    func (dst *Int4multirange) Scan(src interface{}) error
    func (dst *Int4multirange) Set(src interface{}) error
    func (src Int4multirange) 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 Int8multirange
    func (src *Int8multirange) AssignTo(dst interface{}) error
    func (dst *Int8multirange) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *Int8multirange) DecodeText(ci *ConnInfo, src []byte) error
    func (src Int8multirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src Int8multirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst Int8multirange) Get() interface{}
    func (dst *Int8multirange) Scan(src interface{}) error
    func (dst *Int8multirange) Set(src interface{}) error
    func (src Int8multirange) 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 JSONArray
    func (src *JSONArray) AssignTo(dst interface{}) error
    func (dst *JSONArray) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *JSONArray) DecodeText(ci *ConnInfo, src []byte) error
    func (src JSONArray) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src JSONArray) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst JSONArray) Get() interface{}
    func (dst *JSONArray) Scan(src interface{}) error
    func (dst *JSONArray) Set(src interface{}) error
    func (src JSONArray) 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 Ltree
    func (src *Ltree) AssignTo(dst interface{}) error
    func (dst *Ltree) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *Ltree) DecodeText(ci *ConnInfo, src []byte) error
    func (src Ltree) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src Ltree) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst Ltree) Get() interface{}
    func (Ltree) PreferredParamFormat() int16
    func (Ltree) PreferredResultFormat() int16
    func (dst *Ltree) Scan(src interface{}) error
    func (dst *Ltree) Set(src interface{}) error
    func (src Ltree) Value() (driver.Value, error)
type Macaddr
    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 Nummultirange
    func (src *Nummultirange) AssignTo(dst interface{}) error
    func (dst *Nummultirange) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst *Nummultirange) DecodeText(ci *ConnInfo, src []byte) error
    func (src Nummultirange) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (src Nummultirange) EncodeText(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst Nummultirange) Get() interface{}
    func (dst *Nummultirange) Scan(src interface{}) error
    func (dst *Nummultirange) Set(src interface{}) error
    func (src Nummultirange) 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
    func (src *QChar) AssignTo(dst interface{}) error
    func (dst *QChar) DecodeBinary(ci *ConnInfo, src []byte) error
    func (src QChar) EncodeBinary(ci *ConnInfo, buf []byte) ([]byte, error)
    func (dst QChar) Get() interface{}
    func (dst *QChar) Set(src interface{}) error
type Record
    func (src *Record) AssignTo(dst interface{}) error
    func (dst *Record) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst Record) Get() interface{}
    func (dst *Record) Set(src interface{}) error
type RecordArray
    func (src *RecordArray) AssignTo(dst interface{}) error
    func (dst *RecordArray) DecodeBinary(ci *ConnInfo, src []byte) error
    func (dst RecordArray) Get() interface{}
    func (dst *RecordArray) Set(src interface{}) error
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
    func ParseUntypedBinaryRange(src []byte) (*UntypedBinaryRange, error)
type UntypedTextArray
    func ParseUntypedTextArray(src string) (*UntypedTextArray, error)
type UntypedTextMultirange
    func ParseUntypedTextMultirange(src string) (*UntypedTextMultirange, error)
type UntypedTextRange
    func ParseUntypedTextRange(src string) (*UntypedTextRange, error)
type Value
    func NewValue(v Value) 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)

Package 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 int4_multirange.go int4range.go int8.go int8_array.go int8_multirange.go int8range.go interval.go json.go json_array.go jsonb.go jsonb_array.go line.go lseg.go ltree.go macaddr.go macaddr_array.go multirange.go name.go num_multirange.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 record_array.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

Constants

PostgreSQL oids for common types

const (
    BoolOID             = 16
    ByteaOID            = 17
    QCharOID            = 18
    NameOID             = 19
    Int8OID             = 20
    Int2OID             = 21
    Int4OID             = 23
    TextOID             = 25
    OIDOID              = 26
    TIDOID              = 27
    XIDOID              = 28
    CIDOID              = 29
    JSONOID             = 114
    JSONArrayOID        = 199
    PointOID            = 600
    LsegOID             = 601
    PathOID             = 602
    BoxOID              = 603
    PolygonOID          = 604
    LineOID             = 628
    CIDROID             = 650
    CIDRArrayOID        = 651
    Float4OID           = 700
    Float8OID           = 701
    CircleOID           = 718
    UnknownOID          = 705
    MacaddrOID          = 829
    InetOID             = 869
    BoolArrayOID        = 1000
    Int2ArrayOID        = 1005
    Int4ArrayOID        = 1007
    TextArrayOID        = 1009
    ByteaArrayOID       = 1001
    BPCharArrayOID      = 1014
    VarcharArrayOID     = 1015
    Int8ArrayOID        = 1016
    Float4ArrayOID      = 1021
    Float8ArrayOID      = 1022
    ACLItemOID          = 1033
    ACLItemArrayOID     = 1034
    InetArrayOID        = 1041
    BPCharOID           = 1042
    VarcharOID          = 1043
    DateOID             = 1082
    TimeOID             = 1083
    TimestampOID        = 1114
    TimestampArrayOID   = 1115
    DateArrayOID        = 1182
    TimestamptzOID      = 1184
    TimestamptzArrayOID = 1185
    IntervalOID         = 1186
    NumericArrayOID     = 1231
    BitOID              = 1560
    VarbitOID           = 1562
    NumericOID          = 1700
    RecordOID           = 2249
    UUIDOID             = 2950
    UUIDArrayOID        = 2951
    JSONBOID            = 3802
    JSONBArrayOID       = 3807
    DaterangeOID        = 3912
    Int4rangeOID        = 3904
    Int4multirangeOID   = 4451
    NumrangeOID         = 3906
    NummultirangeOID    = 4532
    TsrangeOID          = 3908
    TsrangeArrayOID     = 3909
    TstzrangeOID        = 3910
    TstzrangeArrayOID   = 3911
    Int8rangeOID        = 3926
    Int8multirangeOID   = 4536
)

PostgreSQL format codes

const (
    TextFormatCode   = 0
    BinaryFormatCode = 1
)
const (
    Inclusive = BoundType('i')
    Exclusive = BoundType('e')
    Unbounded = BoundType('U')
    Empty     = BoundType('E')
)

func DatabaseSQLValue

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

func EncodeTextArrayDimensions

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

func EncodeValueText

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

func GetAssignToDstType

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

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

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

func NullAssignTo

func NullAssignTo(dst interface{}) error

func QuoteArrayElementIfNeeded

func QuoteArrayElementIfNeeded(src string) string

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 ACLItem struct {
    String string
    Status Status
}

func (*ACLItem) AssignTo

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

func (*ACLItem) DecodeText

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

func (ACLItem) EncodeText

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

func (ACLItem) Get

func (dst ACLItem) Get() interface{}

func (*ACLItem) Scan

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

Scan implements the database/sql Scanner interface.

func (*ACLItem) Set

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

func (ACLItem) Value

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

Value implements the database/sql/driver Valuer interface.

type ACLItemArray

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

func (*ACLItemArray) AssignTo

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

func (*ACLItemArray) DecodeText

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

func (ACLItemArray) EncodeText

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

func (ACLItemArray) Get

func (dst ACLItemArray) Get() interface{}

func (*ACLItemArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*ACLItemArray) Set

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

func (ACLItemArray) Value

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

Value implements the database/sql/driver Valuer interface.

type ArrayDimension

type ArrayDimension struct {
    Length     int32
    LowerBound int32
}

type ArrayHeader

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

func (*ArrayHeader) DecodeBinary

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

func (ArrayHeader) EncodeBinary

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

type ArrayType

ArrayType represents an array type. While it implements Value, this is only in service of its type conversion duties when registered as a data type in a ConnType. It should not be used directly as a Value. ArrayType is a convenience type for types that do not have a concrete array type.

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

func NewArrayType

func NewArrayType(typeName string, elementOID uint32, newElement func() ValueTranscoder) *ArrayType

func (*ArrayType) AssignTo

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

func (*ArrayType) DecodeBinary

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

func (*ArrayType) DecodeText

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

func (ArrayType) EncodeBinary

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

func (ArrayType) EncodeText

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

func (ArrayType) Get

func (dst ArrayType) Get() interface{}

func (*ArrayType) NewTypeValue

func (at *ArrayType) NewTypeValue() Value

func (*ArrayType) Scan

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

Scan implements the database/sql Scanner interface.

func (*ArrayType) Set

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

func (*ArrayType) TypeName

func (at *ArrayType) TypeName() string

func (ArrayType) Value

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

Value implements the database/sql/driver Valuer interface.

type BPChar

BPChar is fixed-length, blank padded char type character(n), char(n)

type BPChar Text

func (*BPChar) AssignTo

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

AssignTo assigns from src to dst.

func (*BPChar) DecodeBinary

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

func (*BPChar) DecodeText

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

func (BPChar) EncodeBinary

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

func (BPChar) EncodeText

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

func (BPChar) Get

func (dst BPChar) Get() interface{}

Get returns underlying value

func (BPChar) MarshalJSON

func (src BPChar) MarshalJSON() ([]byte, error)

func (BPChar) PreferredParamFormat

func (BPChar) PreferredParamFormat() int16

func (BPChar) PreferredResultFormat

func (BPChar) PreferredResultFormat() int16

func (*BPChar) Scan

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

Scan implements the database/sql Scanner interface.

func (*BPChar) Set

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

Set converts from src to dst.

func (*BPChar) UnmarshalJSON

func (dst *BPChar) UnmarshalJSON(b []byte) error

func (BPChar) Value

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

Value implements the database/sql/driver Valuer interface.

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

func (BPCharArray) Value

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

Value implements the database/sql/driver Valuer interface.

type BinaryDecoder

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

type BinaryEncoder

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

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

type Bit

type Bit Varbit

func (*Bit) AssignTo

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

func (*Bit) DecodeBinary

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

func (*Bit) DecodeText

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

func (Bit) EncodeBinary

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

func (Bit) EncodeText

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

func (Bit) Get

func (dst Bit) Get() interface{}

func (*Bit) Scan

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

Scan implements the database/sql Scanner interface.

func (*Bit) Set

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

func (Bit) Value

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

Value implements the database/sql/driver Valuer interface.

type Bool

type Bool struct {
    Bool   bool
    Status Status
}

func (*Bool) AssignTo

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

func (*Bool) DecodeBinary

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

func (*Bool) DecodeText

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

func (Bool) EncodeBinary

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

func (Bool) EncodeText

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

func (Bool) Get

func (dst Bool) Get() interface{}

func (Bool) MarshalJSON

func (src Bool) MarshalJSON() ([]byte, error)

func (*Bool) Scan

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

Scan implements the database/sql Scanner interface.

func (*Bool) Set

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

func (*Bool) UnmarshalJSON

func (dst *Bool) UnmarshalJSON(b []byte) error

func (Bool) Value

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

Value implements the database/sql/driver Valuer interface.

type BoolArray

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

func (*BoolArray) AssignTo

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

func (*BoolArray) DecodeBinary

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

func (*BoolArray) DecodeText

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

func (BoolArray) EncodeBinary

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

func (BoolArray) EncodeText

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

func (BoolArray) Get

func (dst BoolArray) Get() interface{}

func (*BoolArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*BoolArray) Set

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

func (BoolArray) Value

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

Value implements the database/sql/driver Valuer interface.

type BoundType

type BoundType byte

func (BoundType) String

func (bt BoundType) String() string

type Box

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

func (*Box) AssignTo

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

func (*Box) DecodeBinary

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

func (*Box) DecodeText

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

func (Box) EncodeBinary

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

func (Box) EncodeText

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

func (Box) Get

func (dst Box) Get() interface{}

func (*Box) Scan

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

Scan implements the database/sql Scanner interface.

func (*Box) Set

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

func (Box) Value

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

Value implements the database/sql/driver Valuer interface.

type Bytea

type Bytea struct {
    Bytes  []byte
    Status Status
}

func (*Bytea) AssignTo

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

func (*Bytea) DecodeBinary

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

func (*Bytea) DecodeText

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

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

func (Bytea) EncodeBinary

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

func (Bytea) EncodeText

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

func (Bytea) Get

func (dst Bytea) Get() interface{}

func (*Bytea) Scan

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

Scan implements the database/sql Scanner interface.

func (*Bytea) Set

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

func (Bytea) Value

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

Value implements the database/sql/driver Valuer interface.

type ByteaArray

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

func (*ByteaArray) AssignTo

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

func (*ByteaArray) DecodeBinary

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

func (*ByteaArray) DecodeText

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

func (ByteaArray) EncodeBinary

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

func (ByteaArray) EncodeText

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

func (ByteaArray) Get

func (dst ByteaArray) Get() interface{}

func (*ByteaArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*ByteaArray) Set

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

func (ByteaArray) Value

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

Value implements the database/sql/driver Valuer interface.

type CID

CID is PostgreSQL's Command Identifier type.

When one does

select cmin, cmax, * from some_table;

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

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

type CID pguint32

func (*CID) AssignTo

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

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

func (*CID) DecodeBinary

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

func (*CID) DecodeText

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

func (CID) EncodeBinary

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

func (CID) EncodeText

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

func (CID) Get

func (dst CID) Get() interface{}

func (*CID) Scan

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

Scan implements the database/sql Scanner interface.

func (*CID) Set

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

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

func (CID) Value

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

Value implements the database/sql/driver Valuer interface.

type CIDR

type CIDR Inet

func (*CIDR) AssignTo

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

func (*CIDR) DecodeBinary

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

func (*CIDR) DecodeText

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

func (CIDR) EncodeBinary

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

func (CIDR) EncodeText

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

func (CIDR) Get

func (dst CIDR) Get() interface{}

func (*CIDR) Scan

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

Scan implements the database/sql Scanner interface.

func (*CIDR) Set

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

func (CIDR) Value

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

Value implements the database/sql/driver Valuer interface.

type CIDRArray

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

func (*CIDRArray) AssignTo

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

func (*CIDRArray) DecodeBinary

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

func (*CIDRArray) DecodeText

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

func (CIDRArray) EncodeBinary

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

func (CIDRArray) EncodeText

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

func (CIDRArray) Get

func (dst CIDRArray) Get() interface{}

func (*CIDRArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*CIDRArray) Set

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

func (CIDRArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Circle

type Circle struct {
    P      Vec2
    R      float64
    Status Status
}

func (*Circle) AssignTo

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

func (*Circle) DecodeBinary

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

func (*Circle) DecodeText

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

func (Circle) EncodeBinary

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

func (Circle) EncodeText

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

func (Circle) Get

func (dst Circle) Get() interface{}

func (*Circle) Scan

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

Scan implements the database/sql Scanner interface.

func (*Circle) Set

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

func (Circle) Value

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

Value implements the database/sql/driver Valuer interface.

type 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

CompositeFields scans the fields of a composite type into the elements of the CompositeFields value. To scan a nullable value use a *CompositeFields. It will be set to nil in case of null.

CompositeFields implements EncodeBinary and EncodeText. However, functionality is limited due to CompositeFields not knowing the PostgreSQL schema of the composite type. Prefer using a registered CompositeType.

type CompositeFields []interface{}

func (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 CompositeTypeField struct {
    Name string
    OID  uint32
}

type ConnInfo

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

func NewConnInfo

func NewConnInfo() *ConnInfo

func (*ConnInfo) DataTypeForName

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

func (*ConnInfo) DataTypeForOID

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

func (*ConnInfo) DataTypeForValue

func (ci *ConnInfo) DataTypeForValue(v interface{}) (*DataType, bool)

DataTypeForValue finds a data type suitable for v. Use RegisterDataType to register types that can encode and decode themselves. Use RegisterDefaultPgType to register that can be handled by a registered data type.

func (*ConnInfo) DeepCopy

func (ci *ConnInfo) DeepCopy() *ConnInfo

DeepCopy makes a deep copy of the ConnInfo.

func (*ConnInfo) InitializeDataTypes

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

func (*ConnInfo) ParamFormatCodeForOID

func (ci *ConnInfo) ParamFormatCodeForOID(oid uint32) int16

func (*ConnInfo) PlanScan

func (ci *ConnInfo) PlanScan(oid uint32, formatCode int16, dst interface{}) ScanPlan

PlanScan prepares a plan to scan a value into dst.

func (*ConnInfo) RegisterDataType

func (ci *ConnInfo) RegisterDataType(t DataType)

func (*ConnInfo) RegisterDefaultPgType

func (ci *ConnInfo) RegisterDefaultPgType(value interface{}, name string)

RegisterDefaultPgType registers a mapping of a Go type to a PostgreSQL type name. Typically the data type to be encoded or decoded is determined by the PostgreSQL OID. But if the OID of a value to be encoded or decoded is unknown, this additional mapping will be used by DataTypeForValue to determine a suitable data type.

func (*ConnInfo) ResultFormatCodeForOID

func (ci *ConnInfo) ResultFormatCodeForOID(oid uint32) int16

func (*ConnInfo) Scan

func (ci *ConnInfo) Scan(oid uint32, formatCode int16, src []byte, dst interface{}) error

type DataType

type DataType struct {
    Value Value

    Name string
    OID  uint32
    // contains filtered or unexported fields
}

type Date

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

func (*Date) AssignTo

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

func (*Date) DecodeBinary

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

func (*Date) DecodeText

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

func (Date) EncodeBinary

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

func (Date) EncodeText

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

func (Date) Get

func (dst Date) Get() interface{}

func (Date) MarshalJSON

func (src Date) MarshalJSON() ([]byte, error)

func (*Date) Scan

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

Scan implements the database/sql Scanner interface.

func (*Date) Set

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

func (*Date) UnmarshalJSON

func (dst *Date) UnmarshalJSON(b []byte) error

func (Date) Value

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

Value implements the database/sql/driver Valuer interface.

type DateArray

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

func (*DateArray) AssignTo

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

func (*DateArray) DecodeBinary

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

func (*DateArray) DecodeText

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

func (DateArray) EncodeBinary

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

func (DateArray) EncodeText

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

func (DateArray) Get

func (dst DateArray) Get() interface{}

func (*DateArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*DateArray) Set

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

func (DateArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Daterange

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

func (*Daterange) AssignTo

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

func (*Daterange) DecodeBinary

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

func (*Daterange) DecodeText

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

func (Daterange) EncodeBinary

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

func (Daterange) EncodeText

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

func (Daterange) Get

func (dst Daterange) Get() interface{}

func (*Daterange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Daterange) Set

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

func (Daterange) Value

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

Value implements the database/sql/driver Valuer interface.

type EnumArray

type EnumArray struct {
    Elements   []GenericText
    Dimensions []ArrayDimension
    Status     Status
}

func (*EnumArray) AssignTo

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

func (*EnumArray) DecodeText

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

func (EnumArray) EncodeText

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

func (EnumArray) Get

func (dst EnumArray) Get() interface{}

func (*EnumArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*EnumArray) Set

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

func (EnumArray) Value

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

Value implements the database/sql/driver Valuer interface.

type EnumType

EnumType represents an enum type. While it implements Value, this is only in service of its type conversion duties when registered as a data type in a ConnType. It should not be used directly as a Value.

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

func NewEnumType

func NewEnumType(typeName string, members []string) *EnumType

NewEnumType initializes a new EnumType. It retains a read-only reference to members. members must not be changed.

func (*EnumType) AssignTo

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

func (*EnumType) DecodeBinary

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

func (*EnumType) DecodeText

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

func (EnumType) EncodeBinary

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

func (EnumType) EncodeText

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

func (EnumType) Get

func (dst EnumType) Get() interface{}

func (*EnumType) Members

func (et *EnumType) Members() []string

func (*EnumType) NewTypeValue

func (et *EnumType) NewTypeValue() Value

func (EnumType) PreferredParamFormat

func (EnumType) PreferredParamFormat() int16

func (EnumType) PreferredResultFormat

func (EnumType) PreferredResultFormat() int16

func (*EnumType) Set

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

Set assigns src to dst. Set purposely does not check that src is a member. This allows continued error free operation in the event the PostgreSQL enum type is modified during a connection.

func (*EnumType) TypeName

func (et *EnumType) TypeName() string

type Float4

type Float4 struct {
    Float  float32
    Status Status
}

func (*Float4) AssignTo

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

func (*Float4) DecodeBinary

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

func (*Float4) DecodeText

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

func (Float4) EncodeBinary

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

func (Float4) EncodeText

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

func (Float4) Get

func (dst Float4) Get() interface{}

func (*Float4) Scan

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

Scan implements the database/sql Scanner interface.

func (*Float4) Set

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

func (Float4) Value

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

Value implements the database/sql/driver Valuer interface.

type Float4Array

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

func (*Float4Array) AssignTo

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

func (*Float4Array) DecodeBinary

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

func (*Float4Array) DecodeText

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

func (Float4Array) EncodeBinary

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

func (Float4Array) EncodeText

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

func (Float4Array) Get

func (dst Float4Array) Get() interface{}

func (*Float4Array) Scan

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

Scan implements the database/sql Scanner interface.

func (*Float4Array) Set

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

func (Float4Array) Value

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

Value implements the database/sql/driver Valuer interface.

type Float8

type Float8 struct {
    Float  float64
    Status Status
}

func (*Float8) AssignTo

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

func (*Float8) DecodeBinary

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

func (*Float8) DecodeText

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

func (Float8) EncodeBinary

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

func (Float8) EncodeText

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

func (Float8) Get

func (dst Float8) Get() interface{}

func (*Float8) Scan

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

Scan implements the database/sql Scanner interface.

func (*Float8) Set

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

func (Float8) Value

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

Value implements the database/sql/driver Valuer interface.

type Float8Array

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

func (*Float8Array) AssignTo

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

func (*Float8Array) DecodeBinary

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

func (*Float8Array) DecodeText

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

func (Float8Array) EncodeBinary

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

func (Float8Array) EncodeText

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

func (Float8Array) Get

func (dst Float8Array) Get() interface{}

func (*Float8Array) Scan

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

Scan implements the database/sql Scanner interface.

func (*Float8Array) Set

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

func (Float8Array) Value

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

Value implements the database/sql/driver Valuer interface.

type GenericBinary

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

type GenericBinary Bytea

func (*GenericBinary) AssignTo

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

func (*GenericBinary) DecodeBinary

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

func (GenericBinary) EncodeBinary

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

func (GenericBinary) Get

func (dst GenericBinary) Get() interface{}

func (*GenericBinary) Scan

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

Scan implements the database/sql Scanner interface.

func (*GenericBinary) Set

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

func (GenericBinary) Value

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

Value implements the database/sql/driver Valuer interface.

type GenericText

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

type GenericText Text

func (*GenericText) AssignTo

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

func (*GenericText) DecodeText

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

func (GenericText) EncodeText

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

func (GenericText) Get

func (dst GenericText) Get() interface{}

func (*GenericText) Scan

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

Scan implements the database/sql Scanner interface.

func (*GenericText) Set

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

func (GenericText) Value

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

Value implements the database/sql/driver Valuer interface.

type Hstore

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

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

func (*Hstore) AssignTo

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

func (*Hstore) DecodeBinary

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

func (*Hstore) DecodeText

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

func (Hstore) EncodeBinary

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

func (Hstore) EncodeText

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

func (Hstore) Get

func (dst Hstore) Get() interface{}

func (*Hstore) Scan

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

Scan implements the database/sql Scanner interface.

func (*Hstore) Set

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

func (Hstore) Value

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

Value implements the database/sql/driver Valuer interface.

type HstoreArray

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

func (*HstoreArray) AssignTo

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

func (*HstoreArray) DecodeBinary

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

func (*HstoreArray) DecodeText

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

func (HstoreArray) EncodeBinary

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

func (HstoreArray) EncodeText

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

func (HstoreArray) Get

func (dst HstoreArray) Get() interface{}

func (*HstoreArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*HstoreArray) Set

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

func (HstoreArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Inet

Inet represents both inet and cidr PostgreSQL types.

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

func (*Inet) AssignTo

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

func (*Inet) DecodeBinary

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

func (*Inet) DecodeText

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

func (Inet) EncodeBinary

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

EncodeBinary encodes src into w.

func (Inet) EncodeText

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

func (Inet) Get

func (dst Inet) Get() interface{}

func (*Inet) Scan

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

Scan implements the database/sql Scanner interface.

func (*Inet) Set

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

func (Inet) Value

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

Value implements the database/sql/driver Valuer interface.

type InetArray

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

func (*InetArray) AssignTo

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

func (*InetArray) DecodeBinary

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

func (*InetArray) DecodeText

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

func (InetArray) EncodeBinary

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

func (InetArray) EncodeText

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

func (InetArray) Get

func (dst InetArray) Get() interface{}

func (*InetArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*InetArray) Set

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

func (InetArray) Value

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

Value implements the database/sql/driver Valuer interface.

type InfinityModifier

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

func (InfinityModifier) String

func (im InfinityModifier) String() string

type Int2

type Int2 struct {
    Int    int16
    Status Status
}

func (*Int2) AssignTo

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

func (*Int2) DecodeBinary

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

func (*Int2) DecodeText

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

func (Int2) EncodeBinary

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

func (Int2) EncodeText

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

func (Int2) Get

func (dst Int2) Get() interface{}

func (Int2) MarshalJSON

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

func (*Int2) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int2) Set

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

func (*Int2) UnmarshalJSON

func (dst *Int2) UnmarshalJSON(b []byte) error

func (Int2) Value

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

Value implements the database/sql/driver Valuer interface.

type Int2Array

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

func (*Int2Array) AssignTo

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

func (*Int2Array) DecodeBinary

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

func (*Int2Array) DecodeText

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

func (Int2Array) EncodeBinary

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

func (Int2Array) EncodeText

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

func (Int2Array) Get

func (dst Int2Array) Get() interface{}

func (*Int2Array) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int2Array) Set

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

func (Int2Array) Value

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

Value implements the database/sql/driver Valuer interface.

type Int4

type Int4 struct {
    Int    int32
    Status Status
}

func (*Int4) AssignTo

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

func (*Int4) DecodeBinary

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

func (*Int4) DecodeText

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

func (Int4) EncodeBinary

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

func (Int4) EncodeText

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

func (Int4) Get

func (dst Int4) Get() interface{}

func (Int4) MarshalJSON

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

func (*Int4) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int4) Set

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

func (*Int4) UnmarshalJSON

func (dst *Int4) UnmarshalJSON(b []byte) error

func (Int4) Value

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

Value implements the database/sql/driver Valuer interface.

type Int4Array

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

func (*Int4Array) AssignTo

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

func (*Int4Array) DecodeBinary

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

func (*Int4Array) DecodeText

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

func (Int4Array) EncodeBinary

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

func (Int4Array) EncodeText

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

func (Int4Array) Get

func (dst Int4Array) Get() interface{}

func (*Int4Array) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int4Array) Set

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

func (Int4Array) Value

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

Value implements the database/sql/driver Valuer interface.

type Int4multirange

type Int4multirange struct {
    Ranges []Int4range
    Status Status
}

func (*Int4multirange) AssignTo

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

func (*Int4multirange) DecodeBinary

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

func (*Int4multirange) DecodeText

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

func (Int4multirange) EncodeBinary

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

func (Int4multirange) EncodeText

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

func (Int4multirange) Get

func (dst Int4multirange) Get() interface{}

func (*Int4multirange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int4multirange) Set

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

func (Int4multirange) Value

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

Value implements the database/sql/driver Valuer interface.

type Int4range

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

func (*Int4range) AssignTo

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

func (*Int4range) DecodeBinary

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

func (*Int4range) DecodeText

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

func (Int4range) EncodeBinary

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

func (Int4range) EncodeText

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

func (Int4range) Get

func (dst Int4range) Get() interface{}

func (*Int4range) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int4range) Set

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

func (Int4range) Value

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

Value implements the database/sql/driver Valuer interface.

type Int8

type Int8 struct {
    Int    int64
    Status Status
}

func (*Int8) AssignTo

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

func (*Int8) DecodeBinary

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

func (*Int8) DecodeText

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

func (Int8) EncodeBinary

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

func (Int8) EncodeText

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

func (Int8) Get

func (dst Int8) Get() interface{}

func (Int8) MarshalJSON

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

func (*Int8) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int8) Set

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

func (*Int8) UnmarshalJSON

func (dst *Int8) UnmarshalJSON(b []byte) error

func (Int8) Value

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

Value implements the database/sql/driver Valuer interface.

type Int8Array

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

func (*Int8Array) AssignTo

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

func (*Int8Array) DecodeBinary

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

func (*Int8Array) DecodeText

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

func (Int8Array) EncodeBinary

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

func (Int8Array) EncodeText

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

func (Int8Array) Get

func (dst Int8Array) Get() interface{}

func (*Int8Array) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int8Array) Set

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

func (Int8Array) Value

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

Value implements the database/sql/driver Valuer interface.

type Int8multirange

type Int8multirange struct {
    Ranges []Int8range
    Status Status
}

func (*Int8multirange) AssignTo

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

func (*Int8multirange) DecodeBinary

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

func (*Int8multirange) DecodeText

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

func (Int8multirange) EncodeBinary

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

func (Int8multirange) EncodeText

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

func (Int8multirange) Get

func (dst Int8multirange) Get() interface{}

func (*Int8multirange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int8multirange) Set

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

func (Int8multirange) Value

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

Value implements the database/sql/driver Valuer interface.

type Int8range

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

func (*Int8range) AssignTo

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

func (*Int8range) DecodeBinary

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

func (*Int8range) DecodeText

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

func (Int8range) EncodeBinary

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

func (Int8range) EncodeText

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

func (Int8range) Get

func (dst Int8range) Get() interface{}

func (*Int8range) Scan

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

Scan implements the database/sql Scanner interface.

func (*Int8range) Set

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

func (Int8range) Value

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

Value implements the database/sql/driver Valuer interface.

type Interval

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

func (*Interval) AssignTo

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

func (*Interval) DecodeBinary

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

func (*Interval) DecodeText

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

func (Interval) EncodeBinary

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

EncodeBinary encodes src into w.

func (Interval) EncodeText

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

func (Interval) Get

func (dst Interval) Get() interface{}

func (*Interval) Scan

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

Scan implements the database/sql Scanner interface.

func (*Interval) Set

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

func (Interval) Value

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

Value implements the database/sql/driver Valuer interface.

type JSON

type JSON struct {
    Bytes  []byte
    Status Status
}

func (*JSON) AssignTo

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

func (*JSON) DecodeBinary

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

func (*JSON) DecodeText

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

func (JSON) EncodeBinary

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

func (JSON) EncodeText

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

func (JSON) Get

func (dst JSON) Get() interface{}

func (JSON) MarshalJSON

func (src JSON) MarshalJSON() ([]byte, error)

func (JSON) PreferredParamFormat

func (JSON) PreferredParamFormat() int16

func (JSON) PreferredResultFormat

func (JSON) PreferredResultFormat() int16

func (*JSON) Scan

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

Scan implements the database/sql Scanner interface.

func (*JSON) Set

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

func (*JSON) UnmarshalJSON

func (dst *JSON) UnmarshalJSON(b []byte) error

func (JSON) Value

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

Value implements the database/sql/driver Valuer interface.

type JSONArray

type JSONArray struct {
    Elements   []JSON
    Dimensions []ArrayDimension
    Status     Status
}

func (*JSONArray) AssignTo

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

func (*JSONArray) DecodeBinary

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

func (*JSONArray) DecodeText

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

func (JSONArray) EncodeBinary

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

func (JSONArray) EncodeText

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

func (JSONArray) Get

func (dst JSONArray) Get() interface{}

func (*JSONArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*JSONArray) Set

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

func (JSONArray) Value

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

Value implements the database/sql/driver Valuer interface.

type JSONB

type JSONB JSON

func (*JSONB) AssignTo

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

func (*JSONB) DecodeBinary

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

func (*JSONB) DecodeText

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

func (JSONB) EncodeBinary

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

func (JSONB) EncodeText

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

func (JSONB) Get

func (dst JSONB) Get() interface{}

func (JSONB) MarshalJSON

func (src JSONB) MarshalJSON() ([]byte, error)

func (JSONB) PreferredParamFormat

func (JSONB) PreferredParamFormat() int16

func (JSONB) PreferredResultFormat

func (JSONB) PreferredResultFormat() int16

func (*JSONB) Scan

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

Scan implements the database/sql Scanner interface.

func (*JSONB) Set

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

func (*JSONB) UnmarshalJSON

func (dst *JSONB) UnmarshalJSON(b []byte) error

func (JSONB) Value

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

Value implements the database/sql/driver Valuer interface.

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

func (JSONBArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Line

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

func (*Line) AssignTo

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

func (*Line) DecodeBinary

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

func (*Line) DecodeText

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

func (Line) EncodeBinary

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

func (Line) EncodeText

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

func (Line) Get

func (dst Line) Get() interface{}

func (*Line) Scan

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

Scan implements the database/sql Scanner interface.

func (*Line) Set

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

func (Line) Value

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

Value implements the database/sql/driver Valuer interface.

type Lseg

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

func (*Lseg) AssignTo

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

func (*Lseg) DecodeBinary

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

func (*Lseg) DecodeText

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

func (Lseg) EncodeBinary

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

func (Lseg) EncodeText

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

func (Lseg) Get

func (dst Lseg) Get() interface{}

func (*Lseg) Scan

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

Scan implements the database/sql Scanner interface.

func (*Lseg) Set

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

func (Lseg) Value

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

Value implements the database/sql/driver Valuer interface.

type Ltree

type Ltree Text

func (*Ltree) AssignTo

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

func (*Ltree) DecodeBinary

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

func (*Ltree) DecodeText

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

func (Ltree) EncodeBinary

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

func (Ltree) EncodeText

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

func (Ltree) Get

func (dst Ltree) Get() interface{}

func (Ltree) PreferredParamFormat

func (Ltree) PreferredParamFormat() int16

func (Ltree) PreferredResultFormat

func (Ltree) PreferredResultFormat() int16

func (*Ltree) Scan

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

func (*Ltree) Set

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

func (Ltree) Value

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

type Macaddr

type Macaddr struct {
    Addr   net.HardwareAddr
    Status Status
}

func (*Macaddr) AssignTo

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

func (*Macaddr) DecodeBinary

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

func (*Macaddr) DecodeText

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

func (Macaddr) EncodeBinary

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

EncodeBinary encodes src into w.

func (Macaddr) EncodeText

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

func (Macaddr) Get

func (dst Macaddr) Get() interface{}

func (*Macaddr) Scan

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

Scan implements the database/sql Scanner interface.

func (*Macaddr) Set

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

func (Macaddr) Value

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

Value implements the database/sql/driver Valuer interface.

type 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

func (MacaddrArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Name

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

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

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

type Name Text

func (*Name) AssignTo

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

func (*Name) DecodeBinary

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

func (*Name) DecodeText

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

func (Name) EncodeBinary

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

func (Name) EncodeText

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

func (Name) Get

func (dst Name) Get() interface{}

func (*Name) Scan

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

Scan implements the database/sql Scanner interface.

func (*Name) Set

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

func (Name) Value

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

Value implements the database/sql/driver Valuer interface.

type Numeric

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

func (*Numeric) AssignTo

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

func (*Numeric) DecodeBinary

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

func (*Numeric) DecodeText

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

func (Numeric) EncodeBinary

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

func (Numeric) EncodeText

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

func (Numeric) Get

func (dst Numeric) Get() interface{}

func (*Numeric) Scan

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

Scan implements the database/sql Scanner interface.

func (*Numeric) Set

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

func (Numeric) Value

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

Value implements the database/sql/driver Valuer interface.

type NumericArray

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

func (*NumericArray) AssignTo

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

func (*NumericArray) DecodeBinary

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

func (*NumericArray) DecodeText

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

func (NumericArray) EncodeBinary

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

func (NumericArray) EncodeText

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

func (NumericArray) Get

func (dst NumericArray) Get() interface{}

func (*NumericArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*NumericArray) Set

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

func (NumericArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Nummultirange

type Nummultirange struct {
    Ranges []Numrange
    Status Status
}

func (*Nummultirange) AssignTo

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

func (*Nummultirange) DecodeBinary

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

func (*Nummultirange) DecodeText

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

func (Nummultirange) EncodeBinary

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

func (Nummultirange) EncodeText

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

func (Nummultirange) Get

func (dst Nummultirange) Get() interface{}

func (*Nummultirange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Nummultirange) Set

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

func (Nummultirange) Value

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

Value implements the database/sql/driver Valuer interface.

type Numrange

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

func (*Numrange) AssignTo

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

func (*Numrange) DecodeBinary

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

func (*Numrange) DecodeText

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

func (Numrange) EncodeBinary

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

func (Numrange) EncodeText

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

func (Numrange) Get

func (dst Numrange) Get() interface{}

func (*Numrange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Numrange) Set

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

func (Numrange) Value

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

Value implements the database/sql/driver Valuer interface.

type OID

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

type OID uint32

func (*OID) DecodeBinary

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

func (*OID) DecodeText

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

func (OID) EncodeBinary

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

func (OID) EncodeText

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

func (*OID) Scan

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

Scan implements the database/sql Scanner interface.

func (OID) Value

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

Value implements the database/sql/driver Valuer interface.

type OIDValue

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

type OIDValue pguint32

func (*OIDValue) AssignTo

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

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

func (*OIDValue) DecodeBinary

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

func (*OIDValue) DecodeText

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

func (OIDValue) EncodeBinary

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

func (OIDValue) EncodeText

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

func (OIDValue) Get

func (dst OIDValue) Get() interface{}

func (*OIDValue) Scan

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

Scan implements the database/sql Scanner interface.

func (*OIDValue) Set

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

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

func (OIDValue) Value

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

Value implements the database/sql/driver Valuer interface.

type ParamFormatPreferrer

ParamFormatPreferrer allows a type to specify its preferred param format instead of it being inferred from whether it is also a BinaryEncoder.

type ParamFormatPreferrer interface {
    PreferredParamFormat() int16
}

type Path

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

func (*Path) AssignTo

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

func (*Path) DecodeBinary

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

func (*Path) DecodeText

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

func (Path) EncodeBinary

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

func (Path) EncodeText

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

func (Path) Get

func (dst Path) Get() interface{}

func (*Path) Scan

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

Scan implements the database/sql Scanner interface.

func (*Path) Set

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

func (Path) Value

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

Value implements the database/sql/driver Valuer interface.

type Point

type Point struct {
    P      Vec2
    Status Status
}

func (*Point) AssignTo

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

func (*Point) DecodeBinary

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

func (*Point) DecodeText

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

func (Point) EncodeBinary

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

func (Point) EncodeText

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

func (Point) Get

func (dst Point) Get() interface{}

func (Point) MarshalJSON

func (src Point) MarshalJSON() ([]byte, error)

func (*Point) Scan

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

Scan implements the database/sql Scanner interface.

func (*Point) Set

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

func (*Point) UnmarshalJSON

func (dst *Point) UnmarshalJSON(point []byte) error

func (Point) Value

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

Value implements the database/sql/driver Valuer interface.

type Polygon

type Polygon struct {
    P      []Vec2
    Status Status
}

func (*Polygon) AssignTo

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

func (*Polygon) DecodeBinary

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

func (*Polygon) DecodeText

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

func (Polygon) EncodeBinary

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

func (Polygon) EncodeText

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

func (Polygon) Get

func (dst Polygon) Get() interface{}

func (*Polygon) Scan

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

Scan implements the database/sql Scanner interface.

func (*Polygon) Set

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

Set converts src to dest.

src can be nil, string, []float64, and []pgtype.Vec2.

If src is string the format must be ((x1,y1),(x2,y2),...,(xn,yn)). Important that there are no spaces in it.

func (Polygon) Value

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

Value implements the database/sql/driver Valuer interface.

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 QChar struct {
    Int    int8
    Status Status
}

func (*QChar) AssignTo

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

func (*QChar) DecodeBinary

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

func (QChar) EncodeBinary

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

func (QChar) Get

func (dst QChar) Get() interface{}

func (*QChar) Set

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

type Record

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

type Record struct {
    Fields []Value
    Status Status
}

func (*Record) AssignTo

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

func (*Record) DecodeBinary

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

func (Record) Get

func (dst Record) Get() interface{}

func (*Record) Set

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

type RecordArray

type RecordArray struct {
    Elements   []Record
    Dimensions []ArrayDimension
    Status     Status
}

func (*RecordArray) AssignTo

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

func (*RecordArray) DecodeBinary

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

func (RecordArray) Get

func (dst RecordArray) Get() interface{}

func (*RecordArray) Set

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

type ResultFormatPreferrer

ResultFormatPreferrer allows a type to specify its preferred result format instead of it being inferred from whether it is also a BinaryDecoder.

type ResultFormatPreferrer interface {
    PreferredResultFormat() int16
}

type ScanPlan

ScanPlan is a precompiled plan to scan into a type of destination.

type ScanPlan interface {
    // Scan scans src into dst. If the dst type has changed in an incompatible way a ScanPlan should automatically
    // replan and scan.
    Scan(ci *ConnInfo, oid uint32, formatCode int16, src []byte, dst interface{}) error
}

type Status

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

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 TID struct {
    BlockNumber  uint32
    OffsetNumber uint16
    Status       Status
}

func (*TID) AssignTo

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

func (*TID) DecodeBinary

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

func (*TID) DecodeText

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

func (TID) EncodeBinary

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

func (TID) EncodeText

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

func (TID) Get

func (dst TID) Get() interface{}

func (*TID) Scan

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

Scan implements the database/sql Scanner interface.

func (*TID) Set

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

func (TID) Value

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

Value implements the database/sql/driver Valuer interface.

type Text

type Text struct {
    String string
    Status Status
}

func (*Text) AssignTo

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

func (*Text) DecodeBinary

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

func (*Text) DecodeText

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

func (Text) EncodeBinary

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

func (Text) EncodeText

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

func (Text) Get

func (dst Text) Get() interface{}

func (Text) MarshalJSON

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

func (Text) PreferredParamFormat

func (Text) PreferredParamFormat() int16

func (Text) PreferredResultFormat

func (Text) PreferredResultFormat() int16

func (*Text) Scan

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

Scan implements the database/sql Scanner interface.

func (*Text) Set

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

func (*Text) UnmarshalJSON

func (dst *Text) UnmarshalJSON(b []byte) error

func (Text) Value

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

Value implements the database/sql/driver Valuer interface.

type TextArray

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

func (*TextArray) AssignTo

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

func (*TextArray) DecodeBinary

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

func (*TextArray) DecodeText

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

func (TextArray) EncodeBinary

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

func (TextArray) EncodeText

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

func (TextArray) Get

func (dst TextArray) Get() interface{}

func (*TextArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*TextArray) Set

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

func (TextArray) Value

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

Value implements the database/sql/driver Valuer interface.

type TextDecoder

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

type TextEncoder

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

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

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.

type Time struct {
    Microseconds int64 // Number of microseconds since midnight
    Status       Status
}

func (*Time) AssignTo

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

func (*Time) DecodeBinary

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

DecodeBinary decodes from src into dst.

func (*Time) DecodeText

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

DecodeText decodes from src into dst.

func (Time) EncodeBinary

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

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

func (Time) EncodeText

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

EncodeText writes the text encoding of src into w.

func (Time) Get

func (dst Time) Get() interface{}

func (*Time) Scan

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

Scan implements the database/sql Scanner interface.

func (*Time) Set

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

Set converts src into a Time and stores in dst.

func (Time) Value

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

Value implements the database/sql/driver Valuer interface.

type Timestamp

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

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

func (*Timestamp) AssignTo

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

func (*Timestamp) DecodeBinary

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

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

func (*Timestamp) DecodeText

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

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

func (Timestamp) EncodeBinary

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

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

func (Timestamp) EncodeText

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

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

func (Timestamp) Get

func (dst Timestamp) Get() interface{}

func (*Timestamp) Scan

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

Scan implements the database/sql Scanner interface.

func (*Timestamp) Set

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

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

func (Timestamp) Value

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

Value implements the database/sql/driver Valuer interface.

type TimestampArray

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

func (*TimestampArray) AssignTo

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

func (*TimestampArray) DecodeBinary

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

func (*TimestampArray) DecodeText

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

func (TimestampArray) EncodeBinary

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

func (TimestampArray) EncodeText

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

func (TimestampArray) Get

func (dst TimestampArray) Get() interface{}

func (*TimestampArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*TimestampArray) Set

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

func (TimestampArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Timestamptz

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

func (*Timestamptz) AssignTo

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

func (*Timestamptz) DecodeBinary

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

func (*Timestamptz) DecodeText

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

func (Timestamptz) EncodeBinary

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

func (Timestamptz) EncodeText

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

func (Timestamptz) Get

func (dst Timestamptz) Get() interface{}

func (Timestamptz) 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

func (Timestamptz) Value

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

Value implements the database/sql/driver Valuer interface.

type TimestamptzArray

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

func (*TimestamptzArray) AssignTo

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

func (*TimestamptzArray) DecodeBinary

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

func (*TimestamptzArray) DecodeText

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

func (TimestamptzArray) EncodeBinary

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

func (TimestamptzArray) EncodeText

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

func (TimestamptzArray) Get

func (dst TimestamptzArray) Get() interface{}

func (*TimestamptzArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*TimestamptzArray) Set

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

func (TimestamptzArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Tsrange

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

func (*Tsrange) AssignTo

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

func (*Tsrange) DecodeBinary

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

func (*Tsrange) DecodeText

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

func (Tsrange) EncodeBinary

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

func (Tsrange) EncodeText

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

func (Tsrange) Get

func (dst Tsrange) Get() interface{}

func (*Tsrange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Tsrange) Set

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

func (Tsrange) Value

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

Value implements the database/sql/driver Valuer interface.

type 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

func (TsrangeArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Tstzrange

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

func (*Tstzrange) AssignTo

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

func (*Tstzrange) DecodeBinary

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

func (*Tstzrange) DecodeText

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

func (Tstzrange) EncodeBinary

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

func (Tstzrange) EncodeText

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

func (Tstzrange) Get

func (dst Tstzrange) Get() interface{}

func (*Tstzrange) Scan

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

Scan implements the database/sql Scanner interface.

func (*Tstzrange) Set

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

func (Tstzrange) Value

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

Value implements the database/sql/driver Valuer interface.

type 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

func (TstzrangeArray) Value

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

Value implements the database/sql/driver Valuer interface.

type TypeValue

TypeValue is a Value where instances can represent different PostgreSQL types. This can be useful for representing types such as enums, composites, and arrays.

In general, instances of TypeValue should not be used to directly represent a value. It should only be used as an encoder and decoder internal to ConnInfo.

type TypeValue interface {
    Value

    // NewTypeValue creates a TypeValue including references to internal type information. e.g. the list of members
    // in an EnumType.
    NewTypeValue() Value

    // TypeName returns the PostgreSQL name of this type.
    TypeName() string
}

type UUID

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

func (*UUID) AssignTo

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

func (*UUID) DecodeBinary

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

func (*UUID) DecodeText

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

func (UUID) EncodeBinary

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

func (UUID) EncodeText

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

func (UUID) Get

func (dst UUID) Get() interface{}

func (UUID) MarshalJSON

func (src UUID) MarshalJSON() ([]byte, error)

func (*UUID) Scan

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

Scan implements the database/sql Scanner interface.

func (*UUID) Set

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

func (*UUID) UnmarshalJSON

func (dst *UUID) UnmarshalJSON(src []byte) error

func (UUID) Value

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

Value implements the database/sql/driver Valuer interface.

type UUIDArray

type UUIDArray struct {
    Elements   []UUID
    Dimensions []ArrayDimension
    Status     Status
}

func (*UUIDArray) AssignTo

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

func (*UUIDArray) DecodeBinary

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

func (*UUIDArray) DecodeText

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

func (UUIDArray) EncodeBinary

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

func (UUIDArray) EncodeText

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

func (UUIDArray) Get

func (dst UUIDArray) Get() interface{}

func (*UUIDArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*UUIDArray) Set

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

func (UUIDArray) Value

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

Value implements the database/sql/driver Valuer interface.

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;

type Unknown struct {
    String string
    Status Status
}

func (*Unknown) AssignTo

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

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

func (*Unknown) DecodeBinary

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

func (*Unknown) DecodeText

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

func (Unknown) Get

func (dst Unknown) Get() interface{}

func (*Unknown) Scan

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

Scan implements the database/sql Scanner interface.

func (*Unknown) Set

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

func (Unknown) Value

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

Value implements the database/sql/driver Valuer interface.

type UntypedBinaryRange

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

func ParseUntypedBinaryRange

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

type UntypedTextArray

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

func ParseUntypedTextArray

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

type UntypedTextMultirange

type UntypedTextMultirange struct {
    Elements []string
}

func ParseUntypedTextMultirange

func ParseUntypedTextMultirange(src string) (*UntypedTextMultirange, error)

type UntypedTextRange

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

func ParseUntypedTextRange

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

type Value

Value translates values to and from an internal canonical representation for the type. To actually be usable a type that implements Value should also implement some combination of BinaryDecoder, BinaryEncoder, TextDecoder, and TextEncoder.

Operations that update a Value (e.g. Set, DecodeText, DecodeBinary) should entirely replace the value. e.g. Internal slices should be replaced not resized and reused. This allows Get and AssignTo to return a slice directly rather than incur a usually unnecessary copy.

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

    // Get returns the simplest representation of Value. Get may return a pointer to an internal value but it must never
    // mutate that value. e.g. If Get returns a []byte Value must never change the contents of the []byte.
    Get() interface{}

    // AssignTo converts and assigns the Value to dst. AssignTo may a pointer to an internal value but it must never
    // mutate that value. e.g. If Get returns a []byte Value must never change the contents of the []byte.
    AssignTo(dst interface{}) error
}

func NewValue

func NewValue(v Value) Value

NewValue returns a new instance of the same type as v.

type ValueTranscoder

ValueTranscoder is a value that implements the text and binary encoding and decoding interfaces.

type ValueTranscoder interface {
    Value
    TextEncoder
    BinaryEncoder
    TextDecoder
    BinaryDecoder
}

type Varbit

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

func (*Varbit) AssignTo

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

func (*Varbit) DecodeBinary

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

func (*Varbit) DecodeText

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

func (Varbit) EncodeBinary

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

func (Varbit) EncodeText

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

func (Varbit) Get

func (dst Varbit) Get() interface{}

func (*Varbit) Scan

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

Scan implements the database/sql Scanner interface.

func (*Varbit) Set

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

func (Varbit) Value

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

Value implements the database/sql/driver Valuer interface.

type Varchar

type Varchar Text

func (*Varchar) AssignTo

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

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

func (*Varchar) DecodeBinary

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

func (*Varchar) DecodeText

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

func (Varchar) EncodeBinary

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

func (Varchar) EncodeText

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

func (Varchar) Get

func (dst Varchar) Get() interface{}

func (Varchar) MarshalJSON

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

func (Varchar) PreferredParamFormat

func (Varchar) PreferredParamFormat() int16

func (Varchar) PreferredResultFormat

func (Varchar) PreferredResultFormat() int16

func (*Varchar) Scan

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

Scan implements the database/sql Scanner interface.

func (*Varchar) Set

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

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

func (*Varchar) UnmarshalJSON

func (dst *Varchar) UnmarshalJSON(b []byte) error

func (Varchar) Value

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

Value implements the database/sql/driver Valuer interface.

type VarcharArray

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

func (*VarcharArray) AssignTo

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

func (*VarcharArray) DecodeBinary

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

func (*VarcharArray) DecodeText

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

func (VarcharArray) EncodeBinary

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

func (VarcharArray) EncodeText

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

func (VarcharArray) Get

func (dst VarcharArray) Get() interface{}

func (*VarcharArray) Scan

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

Scan implements the database/sql Scanner interface.

func (*VarcharArray) Set

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

func (VarcharArray) Value

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

Value implements the database/sql/driver Valuer interface.

type Vec2

type Vec2 struct {
    X float64
    Y float64
}

type XID

XID is PostgreSQL's Transaction ID type.

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

Also, when one does

select xmin, xmax, * from some_table;

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

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

type XID pguint32

func (*XID) AssignTo

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

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

func (*XID) DecodeBinary

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

func (*XID) DecodeText

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

func (XID) EncodeBinary

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

func (XID) EncodeText

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

func (XID) Get

func (dst XID) Get() interface{}

func (*XID) Scan

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

Scan implements the database/sql Scanner interface.

func (*XID) Set

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

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

func (XID) Value

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

Value implements the database/sql/driver Valuer interface.

Subdirectories

Name Synopsis
..
ext
gofrs-uuid
shopspring-numeric
pgxtype
testutil
zeronull Package zeronull contains types that automatically convert between database NULLs and Go zero values.