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 Nullable(t Type, v interface{}) Value
- func NullableBoolValue(v *bool) 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) Value
- func NullableIntervalValueFromDuration(v *time.Duration) 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) Value
- func NullableStringValueFromString(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 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 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 nolint:gocyclo
func NullableBoolValue ¶ added in v3.15.0
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 ¶ added in v3.15.0
func NullableIntervalValueFromDuration ¶ added in v3.15.0
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 ¶ added in v3.15.0
func NullableStringValueFromString ¶ added in v3.15.0
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 ¶
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.