Documentation ¶
Index ¶
- Constants
- Variables
- func CastTo(v Value, dst interface{}) error
- func DictFields(v Value) (map[Value]Value, error)deprecated
- func DictValues(v Value) (map[Value]Value, error)
- func Equal(lhs, rhs Type) bool
- func StructFields(v Value) (map[string]Value, error)
- func WriteTypeStringTo(buf *bytes.Buffer, t Type)deprecated
- type Decimal
- type DictValueOption
- type RawValue
- type Scanner
- type StructOption
- type StructValueOption
- type Type
- func DecimalType(precision, scale uint32) Type
- func DecimalTypeFromDecimal(d *Decimal) Type
- func Dict(k, v Type) Type
- func IsOptional(t Type) (isOptional bool, innerType Type)
- func List(t Type) Type
- func Optional(t Type) Type
- func Struct(opts ...StructOption) Type
- func Tuple(elems ...Type) Type
- func VariantStruct(opts ...StructOption) Type
- func VariantTuple(elems ...Type) Type
- func Void() Type
- type Value
- func BoolValue(v bool) Value
- func BytesValue(v []byte) Value
- func BytesValueFromString(v string) Value
- func DateValue(v uint32) Value
- func DateValueFromTime(t time.Time) Value
- func DatetimeValue(v uint32) Value
- func DatetimeValueFromTime(t time.Time) Value
- func DecimalValue(v *Decimal) Value
- func DecimalValueFromBigInt(v *big.Int, precision, scale uint32) Value
- func DictValue(opts ...DictValueOption) 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) Valuedeprecated
- func IntervalValueFromDuration(v time.Duration) Value
- func IntervalValueFromMicroseconds(v int64) Value
- func JSONDocumentValue(v string) Value
- func JSONDocumentValueFromBytes(v []byte) Value
- func JSONValue(v string) Value
- func JSONValueFromBytes(v []byte) Value
- func ListItems(v Value) ([]Value, error)
- func ListValue(vs ...Value) Value
- func NullValue(t Type) Value
- func Nullable(t Type, v interface{}) Value
- func NullableBoolValue(v *bool) Value
- func NullableBytesValue(v *[]byte) Value
- func NullableBytesValueFromString(v *string) Value
- func NullableDateValue(v *uint32) Value
- func NullableDateValueFromTime(v *time.Time) Value
- func NullableDatetimeValue(v *uint32) Value
- func NullableDatetimeValueFromTime(v *time.Time) Value
- func NullableDoubleValue(v *float64) Value
- func NullableDyNumberValue(v *string) Value
- func NullableFloatValue(v *float32) Value
- func NullableInt16Value(v *int16) Value
- func NullableInt32Value(v *int32) Value
- func NullableInt64Value(v *int64) Value
- func NullableInt8Value(v *int8) Value
- func NullableIntervalValue(v *int64) Valuedeprecated
- func NullableIntervalValueFromDuration(v *time.Duration) Value
- func NullableIntervalValueFromMicroseconds(v *int64) Value
- func NullableJSONDocumentValue(v *string) Value
- func NullableJSONDocumentValueFromBytes(v *[]byte) Value
- func NullableJSONValue(v *string) Value
- func NullableJSONValueFromBytes(v *[]byte) Value
- func NullableStringValue(v *[]byte) Valuedeprecated
- func NullableStringValueFromString(v *string) Value
- func NullableTextValue(v *string) Value
- func NullableTimestampValue(v *uint64) Value
- func NullableTimestampValueFromTime(v *time.Time) Value
- func NullableTzDateValue(v *string) Value
- func NullableTzDateValueFromTime(v *time.Time) Value
- func NullableTzDatetimeValue(v *string) Value
- func NullableTzDatetimeValueFromTime(v *time.Time) Value
- func NullableTzTimestampValue(v *string) Value
- func NullableTzTimestampValueFromTime(v *time.Time) Value
- func NullableUTF8Value(v *string) Value
- func NullableUUIDValue(v *[16]byte) Value
- func NullableUint16Value(v *uint16) Value
- func NullableUint32Value(v *uint32) Value
- func NullableUint64Value(v *uint64) Value
- func NullableUint8Value(v *uint8) Value
- func NullableYSONValue(v *string) Value
- func NullableYSONValueFromBytes(v *[]byte) Value
- func OptionalValue(v Value) Value
- func SetValue(vs ...Value) Value
- func StringValue(v []byte) Valuedeprecated
- func StringValueFromString(v string) Value
- func StructValue(opts ...StructValueOption) Value
- func TextValue(v string) Value
- func TimestampValue(v uint64) Value
- func TimestampValueFromTime(t time.Time) Value
- func TupleItems(v Value) ([]Value, error)
- func TupleValue(vs ...Value) Value
- func TzDateValue(v string) Value
- func TzDateValueFromTime(t time.Time) Value
- func TzDatetimeValue(v string) Value
- func TzDatetimeValueFromTime(t time.Time) Value
- func TzTimestampValue(v string) Value
- func TzTimestampValueFromTime(t 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) (name string, idx uint32, _ Value, _ error)
- func VariantValueStruct(v Value, name string, variantT Type) Value
- func VariantValueTuple(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 ¶
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.TypeBytes TypeBytes = value.TypeBytes TypeUTF8 = value.TypeText TypeText = value.TypeText TypeYSON = value.TypeYSON TypeJSON = value.TypeJSON TypeUUID = value.TypeUUID TypeJSONDocument = value.TypeJSONDocument TypeDyNumber = value.TypeDyNumber )
Primitive types known by YDB.
Variables ¶
var DefaultDecimal = DecimalType(22, 9)
Functions ¶
func DictFields
deprecated
added in
v3.39.0
func DictValues ¶ added in v3.48.0
DictValues returns dict values from abstract Value
func StructFields ¶ added in v3.39.0
StructFields returns struct fields from abstract Value
func WriteTypeStringTo
deprecated
Types ¶
type Decimal ¶
Decimal supported in scanner API
type DictValueOption ¶ added in v3.29.0
type DictValueOption func(*dictValueFields)
func DictFieldValue ¶ added in v3.29.0
func DictFieldValue(k, v Value) DictValueOption
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<Type> 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<Type> 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 Type. 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, t Type) StructOption
type StructValueOption ¶
type StructValueOption func(*structValueFields)
func StructFieldValue ¶
func StructFieldValue(name string, v Value) StructValueOption
type Type ¶
Type describes YDB data types.
func DecimalType ¶
func DecimalTypeFromDecimal ¶
func IsOptional ¶ added in v3.48.3
IsOptional checks if type is optional and returns innerType if it is.
func Struct ¶
func Struct(opts ...StructOption) Type
func VariantStruct ¶ added in v3.39.0
func VariantStruct(opts ...StructOption) Type
func VariantTuple ¶ added in v3.39.0
type Value ¶
func BytesValue ¶ added in v3.36.0
func BytesValueFromString ¶ added in v3.36.0
func DateValueFromTime ¶
DateValueFromTime makes Date value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func DatetimeValue ¶
DatetimeValue makes ydb datetime value from seconds since Epoch
func DatetimeValueFromTime ¶
DatetimeValueFromTime makes Datetime value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
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 DictValue ¶
func DictValue(opts ...DictValueOption) Value
func DoubleValue ¶
func DyNumberValue ¶
func FloatValue ¶
func Int16Value ¶
func Int32Value ¶
func Int64Value ¶
func IntervalValue
deprecated
func IntervalValueFromDuration ¶
IntervalValueFromDuration makes Interval value from time.Duration
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func IntervalValueFromMicroseconds ¶ added in v3.26.9
IntervalValueFromMicroseconds makes Value from given microseconds value
func JSONDocumentValue ¶
func JSONDocumentValueFromBytes ¶
JSONDocumentValueFromBytes makes JSONDocument value from bytes
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func JSONValueFromBytes ¶
JSONValueFromBytes makes JSON value from bytes
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func Nullable ¶ added in v3.15.0
Nullable makes optional value from nullable type Warning: type interface will be replaced in the future with typed parameters pattern from go1.18
func NullableBoolValue ¶ added in v3.15.0
func NullableBytesValue ¶ added in v3.36.2
func NullableBytesValueFromString ¶ added in v3.36.2
func NullableDateValue ¶ added in v3.15.0
func NullableDateValueFromTime ¶ added in v3.15.0
func NullableDatetimeValue ¶ added in v3.15.0
func NullableDatetimeValueFromTime ¶ added in v3.15.0
func NullableDoubleValue ¶ added in v3.15.0
func NullableDyNumberValue ¶ added in v3.15.0
func NullableFloatValue ¶ added in v3.15.0
func NullableInt16Value ¶ added in v3.15.0
func NullableInt32Value ¶ added in v3.15.0
func NullableInt64Value ¶ added in v3.15.0
func NullableInt8Value ¶ added in v3.15.0
func NullableIntervalValue
deprecated
added in
v3.15.0
func NullableIntervalValueFromDuration ¶ added in v3.15.0
func NullableIntervalValueFromMicroseconds ¶ added in v3.26.9
func NullableJSONDocumentValue ¶ added in v3.15.0
func NullableJSONDocumentValueFromBytes ¶ added in v3.15.0
func NullableJSONValue ¶ added in v3.15.0
func NullableJSONValueFromBytes ¶ added in v3.15.0
func NullableStringValue
deprecated
added in
v3.15.0
func NullableStringValueFromString ¶ added in v3.15.0
func NullableTextValue ¶ added in v3.36.2
func NullableTimestampValue ¶ added in v3.15.0
func NullableTimestampValueFromTime ¶ added in v3.15.0
func NullableTzDateValue ¶ added in v3.15.0
func NullableTzDateValueFromTime ¶ added in v3.15.0
func NullableTzDatetimeValue ¶ added in v3.15.0
func NullableTzDatetimeValueFromTime ¶ added in v3.15.0
func NullableTzTimestampValue ¶ added in v3.15.0
func NullableTzTimestampValueFromTime ¶ added in v3.15.0
func NullableUTF8Value ¶ added in v3.15.0
func NullableUUIDValue ¶ added in v3.15.0
func NullableUint16Value ¶ added in v3.15.0
func NullableUint32Value ¶ added in v3.15.0
func NullableUint64Value ¶ added in v3.15.0
func NullableUint8Value ¶ added in v3.15.0
func NullableYSONValue ¶ added in v3.15.0
func NullableYSONValueFromBytes ¶ added in v3.15.0
func OptionalValue ¶
func StringValue
deprecated
func StringValueFromString ¶
StringValueFromString makes String value from string
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func StructValue ¶
func StructValue(opts ...StructValueOption) Value
func TimestampValue ¶
TimestampValue makes ydb timestamp value from microseconds since Epoch
func TimestampValueFromTime ¶
TimestampValueFromTime makes Timestamp value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func TupleItems ¶ added in v3.39.0
TupleItems returns tuple items from abstract Value
func TupleValue ¶
func TzDateValueFromTime ¶
TzDateValueFromTime makes TzDate value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func TzDatetimeValue ¶
TzDatetimeValue makes TzDatetime value from string
func TzDatetimeValueFromTime ¶
TzDatetimeValueFromTime makes TzDatetime value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func TzTimestampValue ¶
TzTimestampValue makes TzTimestamp value from string
func TzTimestampValueFromTime ¶
TzTimestampValueFromTime makes TzTimestamp value from time.Time
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)
func Uint16Value ¶
func Uint32Value ¶
func Uint64Value ¶
func Uint8Value ¶
func VariantValue ¶
VariantValue returns variant value from abstract Value
func VariantValueStruct ¶ added in v3.39.0
func VariantValueTuple ¶ added in v3.39.0
func YSONValueFromBytes ¶
YSONValueFromBytes makes YSON value from bytes
Warning: all *From* helpers will be removed at next major release (functional will be implements with go1.18 type lists)