Documentation ¶
Index ¶
- Constants
- Variables
- func WriteTypeStringTo(buf *bytes.Buffer, t Type)
- type Decimal
- type RawValue
- type Scanner
- type StructOption
- type StructValueOption
- type Type
- type Value
- func BoolValue(v bool) Value
- func DateValue(v uint32) Value
- func DateValueFromTime(v time.Time) Value
- func DatetimeValue(v uint32) Value
- func DatetimeValueFromTime(v time.Time) Value
- func DecimalValue(v *Decimal) Value
- func DecimalValueFromBigInt(v *big.Int, precision, scale uint32) Value
- func DictValue(pairs ...Value) Value
- func DoubleValue(v float64) Value
- func DyNumberValue(v string) Value
- func FloatValue(v float32) Value
- func Int16Value(v int16) Value
- func Int32Value(v int32) Value
- func Int64Value(v int64) Value
- func Int8Value(v int8) Value
- func IntervalValue(v int64) Value
- func IntervalValueFromDuration(v time.Duration) Value
- func JSONDocumentValue(v string) Value
- func JSONDocumentValueFromBytes(v []byte) Value
- func JSONValue(v string) Value
- func JSONValueFromBytes(v []byte) Value
- func ListValue(vs ...Value) Value
- func NullValue(t Type) Value
- func OptionalValue(v Value) Value
- func StringValue(v []byte) Value
- func StringValueFromString(v string) Value
- func StructValue(opts ...StructValueOption) Value
- func TimestampValue(v uint64) Value
- func TimestampValueFromTime(v time.Time) Value
- func TupleValue(vs ...Value) Value
- func TzDateValue(v string) Value
- func TzDateValueFromTime(v time.Time) Value
- func TzDatetimeValue(v string) Value
- func TzDatetimeValueFromTime(v time.Time) Value
- func TzTimestampValue(v string) Value
- func TzTimestampValueFromTime(v time.Time) Value
- func UTF8Value(v string) Value
- func UUIDValue(v [16]byte) Value
- func Uint16Value(v uint16) Value
- func Uint32Value(v uint32) Value
- func Uint64Value(v uint64) Value
- func Uint8Value(v uint8) Value
- func VariantValue(v Value, i uint32, variantT Type) Value
- func VoidValue() Value
- func YSONValue(v string) Value
- func YSONValueFromBytes(v []byte) Value
- func ZeroValue(t Type) Value
Constants ¶
View Source
const ( TypeUnknown = value.TypeUnknown TypeBool = value.TypeBool TypeInt8 = value.TypeInt8 TypeUint8 = value.TypeUint8 TypeInt16 = value.TypeInt16 TypeUint16 = value.TypeUint16 TypeInt32 = value.TypeInt32 TypeUint32 = value.TypeUint32 TypeInt64 = value.TypeInt64 TypeUint64 = value.TypeUint64 TypeFloat = value.TypeFloat TypeDouble = value.TypeDouble TypeDate = value.TypeDate TypeDatetime = value.TypeDatetime TypeTimestamp = value.TypeTimestamp TypeInterval = value.TypeInterval TypeTzDate = value.TypeTzDate TypeTzDatetime = value.TypeTzDatetime TypeTzTimestamp = value.TypeTzTimestamp TypeString = value.TypeString TypeUTF8 = value.TypeUTF8 TypeYSON = value.TypeYSON TypeJSON = value.TypeJSON TypeUUID = value.TypeUUID TypeJSONDocument = value.TypeJSONDocument TypeDyNumber = value.TypeDyNumber )
Primitive types known by YDB.
Variables ¶
View Source
var DefaultDecimal = DecimalType(22, 9)
Functions ¶
func WriteTypeStringTo ¶
Types ¶
type RawValue ¶
type RawValue interface { Path() string WritePathTo(w io.Writer) (n int64, err error) Type() Type Bool() (v bool) Int8() (v int8) Uint8() (v uint8) Int16() (v int16) Uint16() (v uint16) Int32() (v int32) Uint32() (v uint32) Int64() (v int64) Uint64() (v uint64) Float() (v float32) Double() (v float64) Date() (v time.Time) Datetime() (v time.Time) Timestamp() (v time.Time) Interval() (v time.Duration) TzDate() (v time.Time) TzDatetime() (v time.Time) TzTimestamp() (v time.Time) String() (v []byte) UTF8() (v string) YSON() (v []byte) JSON() (v []byte) UUID() (v [16]byte) JSONDocument() (v []byte) DyNumber() (v string) Value() Value // Any returns any primitive or optional value. // Currently, it may return one of these types: // // bool // int8 // uint8 // int16 // uint16 // int32 // uint32 // int64 // uint64 // float32 // float64 // []byte // string // [16]byte // Any() interface{} // Unwrap unwraps current item under scan interpreting it as Optional<T> types. Unwrap() AssertType(t Type) bool IsNull() bool IsOptional() bool // ListIn interprets current item under scan as a ydb's list. // It returns the size of the nested items. // If current item under scan is not a list types, it returns -1. ListIn() (size int) // ListItem selects current item i-th element as an item to scan. // ListIn() must be called before. ListItem(i int) // ListOut leaves list entered before by ListIn() call. ListOut() // TupleIn interprets current item under scan as a ydb's tuple. // It returns the size of the nested items. TupleIn() (size int) // TupleItem selects current item i-th element as an item to scan. // Note that TupleIn() must be called before. // It panics if it is out of bounds. TupleItem(i int) // TupleOut leaves tuple entered before by TupleIn() call. TupleOut() // StructIn interprets current item under scan as a ydb's struct. // It returns the size of the nested items – the struct fields values. // If there is no current item under scan it returns -1. StructIn() (size int) // StructField selects current item i-th field value as an item to scan. // Note that StructIn() must be called before. // It panics if i is out of bounds. StructField(i int) (name string) // StructOut leaves struct entered before by StructIn() call. StructOut() // DictIn interprets current item under scan as a ydb's dict. // It returns the size of the nested items pairs. // If there is no current item under scan it returns -1. DictIn() (size int) // DictKey selects current item i-th pair key as an item to scan. // Note that DictIn() must be called before. // It panics if i is out of bounds. DictKey(i int) // DictPayload selects current item i-th pair value as an item to scan. // Note that DictIn() must be called before. // It panics if i is out of bounds. DictPayload(i int) // DictOut leaves dict entered before by DictIn() call. DictOut() // Variant unwraps current item under scan interpreting it as Variant<T> types. // It returns non-empty name of a field that is filled for struct-based // variant. // It always returns an index of filled field of a T. Variant() (name string, index uint32) // Decimal returns decimal value represented by big-endian 128 bit signed integer. Decimal(t Type) (v [16]byte) // UnwrapDecimal returns decimal value represented by big-endian 128 bit signed // integer and its types information. UnwrapDecimal() Decimal IsDecimal() bool Err() error }
RawValue scanning non-primitive yql types or for own implementation scanner native API
type Scanner ¶
type Scanner interface { // UnmarshalYDB must be implemented on client-side for unmarshal raw ydb value. UnmarshalYDB(raw RawValue) error }
Scanner scanning raw ydb types
type StructOption ¶
type StructOption func(*tStructType)
func StructField ¶
func StructField(name string, typ Type) StructOption
type StructValueOption ¶
type StructValueOption func(*tStructValueProto)
func StructFieldValue ¶
func StructFieldValue(name string, v Value) StructValueOption
type Type ¶
Type describes YDB data types.
func DecimalType ¶
func DecimalTypeFromDecimal ¶
func Struct ¶
func Struct(opts ...StructOption) Type
type Value ¶
func DateValueFromTime ¶
func DatetimeValue ¶
func DatetimeValueFromTime ¶
func DecimalValue ¶
DecimalValue creates decimal value of given types t and value v. Note that Decimal.Bytes interpreted as big-endian int128.
func DecimalValueFromBigInt ¶
func DoubleValue ¶
func DyNumberValue ¶
func FloatValue ¶
func Int16Value ¶
func Int32Value ¶
func Int64Value ¶
func IntervalValue ¶
func JSONDocumentValue ¶
func JSONValueFromBytes ¶
func OptionalValue ¶
func StringValue ¶
func StringValueFromString ¶
func StructValue ¶
func StructValue(opts ...StructValueOption) Value
func TimestampValue ¶
func TimestampValueFromTime ¶
func TupleValue ¶
func TzDateValue ¶
func TzDateValueFromTime ¶
func TzDatetimeValue ¶
func TzDatetimeValueFromTime ¶
func TzTimestampValue ¶
func Uint16Value ¶
func Uint32Value ¶
func Uint64Value ¶
func Uint8Value ¶
func YSONValueFromBytes ¶
Click to show internal directories.
Click to hide internal directories.