Documentation ¶
Index ¶
- Constants
- type Array
- func NewArray[T any](dataColumn Column[T]) *Array[T]
- func NewNested1[T any](column1 Column[T]) *Array[T]
- func NewNested2[T ~struct{ ... }, T1, T2 any](column1 Column[T1], column2 Column[T2]) *Array[T]
- func NewNested3[T ~struct{ ... }, T1, T2, T3 any](column1 Column[T1], column2 Column[T2], column3 Column[T3]) *Array[T]
- func NewNested4[T ~struct{ ... }, T1, T2, T3, T4 any](column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4]) *Array[T]
- func NewNested5[T ~struct{ ... }, T1, T2, T3, T4, T5 any](column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4], ...) *Array[T]
- func (c *Array[T]) Append(v []T)
- func (c *Array[T]) AppendAny(value any) error
- func (c *Array) AppendErr() error
- func (c *Array[T]) AppendItem(v T)
- func (c *Array[T]) AppendMulti(v ...[]T)
- func (c *Array[T]) Array() *Array2[T]
- func (c *Array[T]) Data() [][]T
- func (c *Array) Name() []byte
- func (c *Array[T]) Read(value [][]T) [][]T
- func (c *Array[T]) Row(row int) []T
- func (c *Array[T]) RowAny(row int) any
- func (c *Array[T]) Scan(row int, dest any) error
- func (c *Array) SetName(v []byte)
- func (c *Array) SetType(v []byte)
- func (c *Array[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Array) Type() []byte
- type Array2
- func (c *Array2[T]) Append(v [][]T)
- func (c *Array2[T]) AppendAny(value any) error
- func (c *Array2) AppendErr() error
- func (c *Array2[T]) AppendMulti(v ...[][]T)
- func (c *Array2[T]) Array() *Array3[T]
- func (c *Array2[T]) Data() [][][]T
- func (c *Array2) Name() []byte
- func (c *Array2[T]) Read(value [][][]T) [][][]T
- func (c *Array2[T]) Row(row int) [][]T
- func (c *Array2[T]) RowAny(row int) any
- func (c *Array2[T]) Scan(row int, dest any) error
- func (c *Array2) SetName(v []byte)
- func (c *Array2) SetType(v []byte)
- func (c *Array2[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Array2) Type() []byte
- type Array2Nullable
- func (c *Array2Nullable[T]) Append(v [][]T)
- func (c *Array2Nullable[T]) AppendAny(value any) error
- func (c *Array2Nullable) AppendErr() error
- func (c *Array2Nullable[T]) AppendMultiP(v ...[][]*T)
- func (c *Array2Nullable[T]) AppendP(v [][]*T)
- func (c *Array2Nullable[T]) Array() *Array3Nullable[T]
- func (c *Array2Nullable[T]) DataP() [][][]*T
- func (c *Array2Nullable) Name() []byte
- func (c *Array2Nullable[T]) ReadP(value [][][]*T) [][][]*T
- func (c *Array2Nullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *Array2Nullable[T]) RowAny(row int) any
- func (c *Array2Nullable[T]) RowP(row int) [][]*T
- func (c *Array2Nullable[T]) Scan(row int, dest any) error
- func (c *Array2Nullable) SetName(v []byte)
- func (c *Array2Nullable) SetType(v []byte)
- func (c *Array2Nullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Array2Nullable) Type() []byte
- type Array3
- func (c *Array3[T]) Append(v [][][]T)
- func (c *Array3[T]) AppendAny(value any) error
- func (c *Array3) AppendErr() error
- func (c *Array3[T]) AppendMulti(v ...[][][]T)
- func (c *Array3[T]) Data() [][][][]T
- func (c *Array3) Name() []byte
- func (c *Array3[T]) Read(value [][][][]T) [][][][]T
- func (c *Array3[T]) Row(row int) [][][]T
- func (c *Array3[T]) RowAny(row int) any
- func (c *Array3[T]) Scan(row int, dest any) error
- func (c *Array3) SetName(v []byte)
- func (c *Array3) SetType(v []byte)
- func (c *Array3[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Array3) Type() []byte
- type Array3Nullable
- func (c *Array3Nullable[T]) AppendAny(value any) error
- func (c *Array3Nullable) AppendErr() error
- func (c *Array3Nullable[T]) AppendMultiP(v ...[][][]*T)
- func (c *Array3Nullable[T]) AppendP(v [][][]*T)
- func (c *Array3Nullable[T]) DataP() [][][][]*T
- func (c *Array3Nullable) Name() []byte
- func (c *Array3Nullable[T]) ReadP(value [][][][]*T) [][][][]*T
- func (c *Array3Nullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *Array3Nullable[T]) RowAny(row int) any
- func (c *Array3Nullable[T]) RowP(row int) [][][]*T
- func (c *Array3Nullable[T]) Scan(row int, dest any) error
- func (c *Array3Nullable) SetName(v []byte)
- func (c *Array3Nullable) SetType(v []byte)
- func (c *Array3Nullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Array3Nullable) Type() []byte
- type ArrayBase
- func (c *ArrayBase) AppendAny(value any) error
- func (c *ArrayBase) AppendErr() error
- func (c *ArrayBase) AppendLen(v int)
- func (c *ArrayBase) Array() *ArrayBase
- func (c *ArrayBase) Column() ColumnBasic
- func (c *ArrayBase) FullType() string
- func (c *ArrayBase) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *ArrayBase) HeaderWriter(w *readerwriter.Writer)
- func (c *ArrayBase) Name() []byte
- func (c *ArrayBase) NumRow() int
- func (c *ArrayBase) Offsets() []uint64
- func (c *ArrayBase) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *ArrayBase) Remove(n int)
- func (c *ArrayBase) Reset()
- func (c *ArrayBase) RowAny(row int) any
- func (c *ArrayBase) Scan(row int, dest any) error
- func (c *ArrayBase) ScanValue(row int, dest reflect.Value) error
- func (c *ArrayBase) SetName(v []byte)
- func (c *ArrayBase) SetType(v []byte)
- func (c *ArrayBase) SetWriteBufferSize(row int)
- func (c *ArrayBase) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *ArrayBase) TotalRows() int
- func (c *ArrayBase) Type() []byte
- func (c *ArrayBase) Validate(forInsert bool) error
- func (c *ArrayBase) WriteTo(w io.Writer) (int64, error)
- type ArrayNullable
- func (c *ArrayNullable[T]) AppendAny(value any) error
- func (c *ArrayNullable[T]) AppendItemP(v *T)
- func (c *ArrayNullable[T]) AppendMultiP(v [][]*T)
- func (c *ArrayNullable[T]) AppendP(v []*T)
- func (c *ArrayNullable[T]) Array() *Array2Nullable[T]
- func (c *ArrayNullable[T]) DataP() [][]*T
- func (c *ArrayNullable[T]) ReadP(value [][]*T) [][]*T
- func (c *ArrayNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *ArrayNullable[T]) RowAny(row int) any
- func (c *ArrayNullable[T]) RowP(row int) []*T
- func (c *ArrayNullable[T]) Scan(row int, dest any) error
- func (c *ArrayNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- type Base
- func (c *Base[T]) Append(v T)
- func (c *Base[T]) AppendAny(value any) error
- func (c *Base) AppendErr() error
- func (c *Base[T]) AppendMulti(v ...T)
- func (c *Base[T]) Array() *Array[T]
- func (c *Base[T]) Data() []T
- func (c *Base[T]) Elem(arrayLevel int, nullable, lc bool) ColumnBasic
- func (c *Base[T]) FullType() string
- func (c *Base[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *Base[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *Base[T]) LC() *LowCardinality[T]
- func (c *Base[T]) LowCardinality() *LowCardinality[T]
- func (c *Base) Name() []byte
- func (c *Base[T]) Nullable() *BaseNullable[T]
- func (c *Base[T]) NumRow() int
- func (c *Base[T]) Read(value []T) []T
- func (c *Base[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *Base[T]) Remove(n int)
- func (c *Base[T]) Reset()
- func (c *Base[T]) Row(row int) T
- func (c *Base[T]) RowAny(row int) any
- func (c *Base[T]) Scan(row int, dest any) error
- func (c *Base) SetName(v []byte)
- func (c *Base[T]) SetStrict(strict bool) *Base[T]
- func (c *Base) SetType(v []byte)
- func (c *Base[T]) SetWriteBufferSize(row int)
- func (c *Base[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Base) Type() []byte
- func (c *Base[T]) Validate(forInsert bool) error
- func (c *Base[T]) WriteTo(w io.Writer) (int64, error)
- type BaseNullable
- func (c *BaseNullable[T]) Append(v T)
- func (c *BaseNullable[T]) AppendAny(value any) error
- func (c *BaseNullable) AppendErr() error
- func (c *BaseNullable[T]) AppendMulti(v ...T)
- func (c *BaseNullable[T]) AppendMultiP(v ...*T)
- func (c *BaseNullable[T]) AppendNil()
- func (c *BaseNullable[T]) AppendP(v *T)
- func (c *BaseNullable[T]) Array() *ArrayNullable[T]
- func (c *BaseNullable[T]) Data() []T
- func (c *BaseNullable[T]) DataNil() []bool
- func (c *BaseNullable[T]) DataP() []*T
- func (c *BaseNullable[T]) FullType() string
- func (c *BaseNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *BaseNullable[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *BaseNullable) Name() []byte
- func (c *BaseNullable[T]) NumRow() int
- func (c *BaseNullable[T]) Read(value []T) []T
- func (c *BaseNullable[T]) ReadNil(value []bool) []bool
- func (c *BaseNullable[T]) ReadP(value []*T) []*T
- func (c *BaseNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *BaseNullable[T]) Remove(n int)
- func (c *BaseNullable[T]) Reset()
- func (c *BaseNullable[T]) Row(i int) T
- func (c *BaseNullable[T]) RowAny(i int) any
- func (c *BaseNullable[T]) RowIsNil(row int) bool
- func (c *BaseNullable[T]) RowP(row int) *T
- func (c *BaseNullable[T]) Scan(row int, dest any) error
- func (c *BaseNullable) SetName(v []byte)
- func (c *BaseNullable) SetType(v []byte)
- func (c *BaseNullable[T]) SetWriteBufferSize(row int)
- func (c *BaseNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *BaseNullable) Type() []byte
- func (c *BaseNullable[T]) Validate(forInsert bool) error
- func (c *BaseNullable[T]) WriteTo(w io.Writer) (int64, error)
- type BaseType
- type Column
- type ColumnBasic
- type Date
- func (c *Date[T]) Append(v time.Time)
- func (c *Date[T]) AppendAny(value any) error
- func (c *Date) AppendErr() error
- func (c *Date[T]) AppendMulti(v ...time.Time)
- func (c *Date[T]) Array() *Array[time.Time]
- func (c *Date[T]) Data() []time.Time
- func (c *Date[T]) Elem(arrayLevel int, nullable, lc bool) ColumnBasic
- func (c *Date[T]) FullType() string
- func (c *Date[T]) LC() *LowCardinality[time.Time]
- func (c *Date[T]) Location() *time.Location
- func (c *Date[T]) LowCardinality() *LowCardinality[time.Time]
- func (c *Date) Name() []byte
- func (c *Date[T]) Nullable() *DateNullable[T]
- func (c *Date[T]) Read(value []time.Time) []time.Time
- func (c *Date[T]) Row(row int) time.Time
- func (c *Date[T]) Scan(row int, dest any) error
- func (c *Date[T]) SetLocation(loc *time.Location) *Date[T]
- func (c *Date) SetName(v []byte)
- func (c *Date[T]) SetPrecision(precision int) *Date[T]
- func (c *Date) SetType(v []byte)
- func (c Date[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Date) Type() []byte
- type DateNullable
- func (c *DateNullable[T]) Append(v time.Time)
- func (c *DateNullable[T]) AppendAny(value any) error
- func (c *DateNullable) AppendErr() error
- func (c *DateNullable[T]) AppendMulti(v ...time.Time)
- func (c *DateNullable[T]) AppendMultiP(v ...*time.Time)
- func (c *DateNullable[T]) AppendNil()
- func (c *DateNullable[T]) AppendP(v *time.Time)
- func (c *DateNullable[T]) Array() *ArrayNullable[time.Time]
- func (c *DateNullable[T]) Data() []time.Time
- func (c *DateNullable[T]) DataNil() []bool
- func (c *DateNullable[T]) DataP() []*time.Time
- func (c *DateNullable[T]) FullType() string
- func (c *DateNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *DateNullable[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *DateNullable) Name() []byte
- func (c *DateNullable[T]) NumRow() int
- func (c *DateNullable[T]) Read(value []time.Time) []time.Time
- func (c *DateNullable[T]) ReadNil(value []bool) []bool
- func (c *DateNullable[T]) ReadP(value []*time.Time) []*time.Time
- func (c *DateNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *DateNullable[T]) Remove(n int)
- func (c *DateNullable[T]) Reset()
- func (c *DateNullable[T]) Row(i int) time.Time
- func (c *DateNullable[T]) RowAny(i int) any
- func (c *DateNullable[T]) RowIsNil(row int) bool
- func (c *DateNullable[T]) RowP(row int) *time.Time
- func (c *DateNullable[T]) Scan(row int, dest any) error
- func (c *DateNullable) SetName(v []byte)
- func (c *DateNullable) SetType(v []byte)
- func (c *DateNullable[T]) SetWriteBufferSize(row int)
- func (c DateNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *DateNullable) Type() []byte
- func (c *DateNullable[T]) Validate(forInsert bool) error
- func (c *DateNullable[T]) WriteTo(w io.Writer) (int64, error)
- type DateType
- type ErrInvalidType
- type ErrScanType
- type LowCardinality
- func (c *LowCardinality[T]) Append(v T)
- func (c *LowCardinality[T]) AppendAny(value any) error
- func (c *LowCardinality) AppendErr() error
- func (c *LowCardinality[T]) AppendMulti(v ...T)
- func (c *LowCardinality[T]) Array() *Array[T]
- func (c *LowCardinality[T]) Data() []T
- func (c *LowCardinality[T]) Dicts() []T
- func (c *LowCardinality[T]) FullType() string
- func (c *LowCardinality[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *LowCardinality[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *LowCardinality[T]) Keys() []int
- func (c *LowCardinality) Name() []byte
- func (c *LowCardinality[T]) Nullable() *LowCardinalityNullable[T]
- func (c *LowCardinality[T]) NumRow() int
- func (c *LowCardinality[T]) Read(value []T) []T
- func (c *LowCardinality[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *LowCardinality[T]) Remove(n int)
- func (c *LowCardinality[T]) Reset()
- func (c *LowCardinality[T]) Row(row int) T
- func (c *LowCardinality[T]) RowAny(row int) any
- func (c *LowCardinality[T]) Scan(row int, dest any) error
- func (c *LowCardinality) SetName(v []byte)
- func (c *LowCardinality) SetType(v []byte)
- func (c *LowCardinality[T]) SetWriteBufferSize(row int)
- func (c *LowCardinality[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *LowCardinality) Type() []byte
- func (c *LowCardinality[T]) Validate(forInsert bool) error
- func (c *LowCardinality[T]) WriteTo(w io.Writer) (int64, error)
- type LowCardinalityNullable
- func (c *LowCardinalityNullable[T]) Append(v T)
- func (c *LowCardinalityNullable[T]) AppendAny(value any) error
- func (c *LowCardinalityNullable) AppendErr() error
- func (c *LowCardinalityNullable[T]) AppendMulti(v ...T)
- func (c *LowCardinalityNullable[T]) AppendMultiP(v ...*T)
- func (c *LowCardinalityNullable[T]) AppendNil()
- func (c *LowCardinalityNullable[T]) AppendP(v *T)
- func (c *LowCardinalityNullable[T]) Array() *ArrayNullable[T]
- func (c *LowCardinalityNullable[T]) DataP() []*T
- func (c *LowCardinalityNullable) Name() []byte
- func (c *LowCardinalityNullable[T]) ReadP(value []*T) []*T
- func (c *LowCardinalityNullable[T]) Reset()
- func (c *LowCardinalityNullable[T]) RowAny(row int) any
- func (c *LowCardinalityNullable[T]) RowIsNil(row int) bool
- func (c *LowCardinalityNullable[T]) RowP(row int) *T
- func (c *LowCardinalityNullable[T]) Scan(row int, dest any) error
- func (c *LowCardinalityNullable) SetName(v []byte)
- func (c *LowCardinalityNullable) SetType(v []byte)
- func (c *LowCardinalityNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *LowCardinalityNullable) Type() []byte
- type Map
- func (c *Map[K, V]) Append(v map[K]V)
- func (c *Map[K, V]) AppendAny(value any) error
- func (c *Map) AppendErr() error
- func (c *Map[K, V]) AppendMulti(val ...map[K]V)
- func (c *Map[K, V]) Array() *Array[map[K]V]
- func (c *Map[K, V]) Data() []map[K]V
- func (c *Map[K, V]) KeyColumn() Column[K]
- func (c *Map) Name() []byte
- func (c *Map[K, V]) Read(value []map[K]V) []map[K]V
- func (c *Map[K, V]) Row(row int) map[K]V
- func (c *Map[K, V]) RowAny(row int) any
- func (c *Map[K, V]) Scan(row int, dest any) error
- func (c *Map) SetName(v []byte)
- func (c *Map) SetType(v []byte)
- func (c *Map) Type() []byte
- func (c *Map[K, V]) ValueColumn() Column[V]
- type MapBase
- func (c *MapBase) AppendAny(value any) error
- func (c *MapBase) AppendErr() error
- func (c *MapBase) AppendLen(v int)
- func (c *MapBase) Each(f func(start, end uint64) bool)
- func (c *MapBase) FullType() string
- func (c *MapBase) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *MapBase) HeaderWriter(w *readerwriter.Writer)
- func (c *MapBase) KeyColumn() ColumnBasic
- func (c *MapBase) Name() []byte
- func (c *MapBase) NumRow() int
- func (c *MapBase) Offsets() []uint64
- func (c *MapBase) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *MapBase) Remove(n int)
- func (c *MapBase) Reset()
- func (c *MapBase) RowAny(row int) any
- func (c *MapBase) Scan(row int, dest any) error
- func (c *MapBase) ScanValue(row int, dest reflect.Value) error
- func (c *MapBase) SetName(v []byte)
- func (c *MapBase) SetType(v []byte)
- func (c *MapBase) SetWriteBufferSize(row int)
- func (c *MapBase) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *MapBase) TotalRows() int
- func (c *MapBase) Type() []byte
- func (c *MapBase) Validate(forInsert bool) error
- func (c *MapBase) ValueColumn() ColumnBasic
- func (c *MapBase) WriteTo(w io.Writer) (int64, error)
- type MapNullable
- func (c *MapNullable) AppendErr() error
- func (c *MapNullable[K, V]) AppendP(v map[K]*V)
- func (c *MapNullable[T, V]) DataP() []map[T]*V
- func (c *MapNullable) Name() []byte
- func (c *MapNullable[T, V]) ReadP(value []map[T]*V) []map[T]*V
- func (c *MapNullable[K, V]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *MapNullable[T, V]) RowP(row int) map[T]*V
- func (c *MapNullable) SetName(v []byte)
- func (c *MapNullable) SetType(v []byte)
- func (c *MapNullable) Type() []byte
- func (c *MapNullable[K, V]) ValueColumn() NullableColumn[V]
- type Nothing
- func (c *Nothing) Append(v NothingData)
- func (c *Nothing) AppendAny(value any) error
- func (c *Nothing) AppendErr() error
- func (c *Nothing) AppendMulti(v ...NothingData)
- func (c *Nothing) Array() *Array[NothingData]
- func (c *Nothing) Data() []NothingData
- func (c *Nothing) Elem(arrayLevel int, nullable bool) ColumnBasic
- func (c *Nothing) FullType() string
- func (c *Nothing) Name() []byte
- func (c *Nothing) Nullable() *NothingNullable
- func (c *Nothing) Read(value []NothingData) []NothingData
- func (c *Nothing) Row(i int) NothingData
- func (c *Nothing) Scan(row int, dest any) error
- func (c *Nothing) SetName(v []byte)
- func (c *Nothing) SetType(v []byte)
- func (c *Nothing) String(row int) string
- func (c *Nothing) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Nothing) Type() []byte
- func (c *Nothing) Validate(forInsert bool) error
- type NothingData
- type NothingNullable
- func (c *NothingNullable) Append(v NothingData)
- func (c *NothingNullable) AppendAny(value any) error
- func (c *NothingNullable) AppendErr() error
- func (c *NothingNullable) AppendMulti(v ...NothingData)
- func (c *NothingNullable) AppendMultiP(v ...*NothingData)
- func (c *NothingNullable) AppendNil()
- func (c *NothingNullable) AppendP(v *NothingData)
- func (c *NothingNullable) Array() *ArrayNullable[NothingData]
- func (c *NothingNullable) Data() []NothingData
- func (c *NothingNullable) DataNil() []bool
- func (c *NothingNullable) DataP() []*NothingData
- func (c *NothingNullable) FullType() string
- func (c *NothingNullable) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *NothingNullable) HeaderWriter(w *readerwriter.Writer)
- func (c *NothingNullable) Name() []byte
- func (c *NothingNullable) NumRow() int
- func (c *NothingNullable) Read(value []NothingData) []NothingData
- func (c *NothingNullable) ReadNil(value []bool) []bool
- func (c *NothingNullable) ReadP(value []*NothingData) []*NothingData
- func (c *NothingNullable) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *NothingNullable) Remove(n int)
- func (c *NothingNullable) Reset()
- func (c *NothingNullable) Row(i int) NothingData
- func (c *NothingNullable) RowAny(i int) any
- func (c *NothingNullable) RowIsNil(row int) bool
- func (c *NothingNullable) RowP(row int) *NothingData
- func (c *NothingNullable) Scan(row int, dest any) error
- func (c *NothingNullable) SetName(v []byte)
- func (c *NothingNullable) SetType(v []byte)
- func (c *NothingNullable) SetWriteBufferSize(row int)
- func (c *NothingNullable) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *NothingNullable) Type() []byte
- func (c *NothingNullable) Validate(forInsert bool) error
- func (c *NothingNullable) WriteTo(w io.Writer) (int64, error)
- type NullableColumn
- type String
- type StringBase
- func (c *StringBase[T]) Append(v T)
- func (c *StringBase[T]) AppendAny(value any) error
- func (c *StringBase[T]) AppendBytes(v []byte)
- func (c *StringBase[T]) AppendBytesMulti(v ...[]byte)
- func (c *StringBase) AppendErr() error
- func (c *StringBase[T]) AppendMulti(v ...T)
- func (c *StringBase[T]) Array() *Array[T]
- func (c *StringBase[T]) Data() []T
- func (c *StringBase[T]) DataBytes() [][]byte
- func (c *StringBase[T]) Each(f func(i int, b []byte) bool)
- func (c *StringBase[T]) Elem(arrayLevel int, nullable, lc bool) ColumnBasic
- func (c *StringBase[T]) FullType() string
- func (c *StringBase[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *StringBase[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *StringBase[T]) LC() *LowCardinality[T]
- func (c *StringBase[T]) LowCardinality() *LowCardinality[T]
- func (c *StringBase) Name() []byte
- func (c *StringBase[T]) Nullable() *StringNullable[T]
- func (c *StringBase[T]) NumRow() int
- func (c *StringBase[T]) Read(value []T) []T
- func (c *StringBase[T]) ReadBytes(value [][]byte) [][]byte
- func (c *StringBase[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *StringBase[T]) Remove(n int)
- func (c *StringBase[T]) Reset()
- func (c *StringBase[T]) Row(row int) T
- func (c *StringBase[T]) RowAny(row int) any
- func (c *StringBase[T]) RowBytes(row int) []byte
- func (c *StringBase[T]) Scan(row int, dest any) error
- func (c *StringBase[T]) ScanValue(row int, value reflect.Value) error
- func (c *StringBase) SetName(v []byte)
- func (c *StringBase) SetType(v []byte)
- func (c *StringBase[T]) SetWriteBufferSize(b int)
- func (c *StringBase[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *StringBase) Type() []byte
- func (c *StringBase[T]) Validate(forInsert bool) error
- func (c *StringBase[T]) WriteTo(w io.Writer) (int64, error)
- type StringNullable
- func (c *StringNullable[T]) Append(v T)
- func (c *StringNullable[T]) AppendAny(value any) error
- func (c *StringNullable[T]) AppendBytes(v []byte)
- func (c *StringNullable[T]) AppendBytesMulti(v ...[]byte)
- func (c *StringNullable) AppendErr() error
- func (c *StringNullable[T]) AppendMulti(v ...T)
- func (c *StringNullable[T]) AppendMultiP(v ...*T)
- func (c *StringNullable[T]) AppendNil()
- func (c *StringNullable[T]) AppendP(v *T)
- func (c *StringNullable[T]) Array() *ArrayNullable[T]
- func (c *StringNullable[T]) Data() []T
- func (c *StringNullable[T]) DataNil() []bool
- func (c *StringNullable[T]) DataP() []*T
- func (c *StringNullable[T]) FullType() string
- func (c *StringNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *StringNullable[T]) HeaderWriter(w *readerwriter.Writer)
- func (c *StringNullable) Name() []byte
- func (c *StringNullable[T]) NumRow() int
- func (c *StringNullable[T]) Read(value []T) []T
- func (c *StringNullable[T]) ReadNil(value []bool) []bool
- func (c *StringNullable[T]) ReadP(value []*T) []*T
- func (c *StringNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *StringNullable[T]) Remove(n int)
- func (c *StringNullable[T]) Reset()
- func (c *StringNullable[T]) Row(i int) T
- func (c *StringNullable[T]) RowAny(i int) any
- func (c *StringNullable[T]) RowBytes(i int) []byte
- func (c *StringNullable[T]) RowIsNil(row int) bool
- func (c *StringNullable[T]) RowP(row int) *T
- func (c *StringNullable[T]) Scan(row int, dest any) error
- func (c *StringNullable) SetName(v []byte)
- func (c *StringNullable) SetType(v []byte)
- func (c *StringNullable[T]) SetWriteBufferSize(row int)
- func (c *StringNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *StringNullable) Type() []byte
- func (c *StringNullable[T]) Validate(forInsert bool) error
- func (c *StringNullable[T]) WriteTo(w io.Writer) (int64, error)
- type Tuple
- func (c *Tuple) AppendAny(value any) error
- func (c *Tuple) AppendErr() error
- func (c *Tuple) Array() *ArrayBase
- func (c *Tuple) Columns() []ColumnBasic
- func (c *Tuple) Elem(arrayLevel int) ColumnBasic
- func (c *Tuple) FullType() string
- func (c *Tuple) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *Tuple) HeaderWriter(w *readerwriter.Writer)
- func (c *Tuple) Name() []byte
- func (c *Tuple) NumRow() int
- func (c *Tuple) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *Tuple) Remove(n int)
- func (c *Tuple) Reset()
- func (c *Tuple) Row(row int) any
- func (c *Tuple) RowAny(row int) any
- func (c *Tuple) Scan(row int, dest any) error
- func (c *Tuple) ScanValue(row int, dest reflect.Value) error
- func (c *Tuple) SetName(v []byte)
- func (c *Tuple) SetType(v []byte)
- func (c *Tuple) SetWriteBufferSize(row int)
- func (c *Tuple) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Tuple) Type() []byte
- func (c *Tuple) Validate(forInsert bool) error
- func (c *Tuple) WriteTo(w io.Writer) (int64, error)
- type Tuple1
- func (c *Tuple1[T]) Append(v T)
- func (c *Tuple1[T]) AppendAny(value any) error
- func (c *Tuple1) AppendErr() error
- func (c *Tuple1[T]) AppendMulti(v ...T)
- func (c *Tuple1[T]) Array() *Array[T]
- func (c *Tuple1[T]) Data() []T
- func (c *Tuple1) Name() []byte
- func (c *Tuple1[T]) Read(value []T) []T
- func (c *Tuple1[T]) Row(row int) T
- func (c *Tuple1[T]) RowAny(row int) any
- func (c *Tuple1) SetName(v []byte)
- func (c *Tuple1) SetType(v []byte)
- func (c *Tuple1) Type() []byte
- type Tuple2
- func (c *Tuple2[T, T1, T2]) Append(v T)
- func (c *Tuple2[T, T1, T2]) AppendAny(value any) error
- func (c *Tuple2) AppendErr() error
- func (c *Tuple2[T, T1, T2]) AppendMulti(v ...T)
- func (c *Tuple2[T, T1, T2]) Array() *Array[T]
- func (c *Tuple2[T, T1, T2]) Data() []T
- func (c *Tuple2) Name() []byte
- func (c *Tuple2[T, T1, T2]) Read(value []T) []T
- func (c *Tuple2[T, T1, T2]) Row(row int) T
- func (c *Tuple2[T, T1, T2]) RowAny(row int) any
- func (c *Tuple2) SetName(v []byte)
- func (c *Tuple2) SetType(v []byte)
- func (c *Tuple2) Type() []byte
- type Tuple3
- func (c *Tuple3[T, T1, T2, T3]) Append(v T)
- func (c *Tuple3[T, T1, T2, T3]) AppendAny(value any) error
- func (c *Tuple3) AppendErr() error
- func (c *Tuple3[T, T1, T2, T3]) AppendMulti(v ...T)
- func (c *Tuple3[T, T1, T2, T3]) Array() *Array[T]
- func (c *Tuple3[T, T1, T2, T3]) Data() []T
- func (c *Tuple3) Name() []byte
- func (c *Tuple3[T, T1, T2, T3]) Read(value []T) []T
- func (c *Tuple3[T, T1, T2, T3]) Row(row int) T
- func (c *Tuple3[T, T1, T2, T3]) RowAny(row int) any
- func (c *Tuple3) SetName(v []byte)
- func (c *Tuple3) SetType(v []byte)
- func (c *Tuple3) Type() []byte
- type Tuple4
- func (c *Tuple4[T, T1, T2, T3, T4]) Append(v T)
- func (c *Tuple4[T, T1, T2, T3, T4]) AppendAny(value any) error
- func (c *Tuple4) AppendErr() error
- func (c *Tuple4[T, T1, T2, T3, T4]) AppendMulti(v ...T)
- func (c *Tuple4[T, T1, T2, T3, T4]) Array() *Array[T]
- func (c *Tuple4[T, T1, T2, T3, T4]) Data() []T
- func (c *Tuple4) Name() []byte
- func (c *Tuple4[T, T1, T2, T3, T4]) Read(value []T) []T
- func (c *Tuple4[T, T1, T2, T3, T4]) Row(row int) T
- func (c *Tuple4[T, T1, T2, T3, T4]) RowAny(row int) any
- func (c *Tuple4) SetName(v []byte)
- func (c *Tuple4) SetType(v []byte)
- func (c *Tuple4) Type() []byte
- type Tuple5
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) Append(v T)
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) AppendAny(value any) error
- func (c *Tuple5) AppendErr() error
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) AppendMulti(v ...T)
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) Array() *Array[T]
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) Data() []T
- func (c *Tuple5) Name() []byte
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) Read(value []T) []T
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) Row(row int) T
- func (c *Tuple5[T, T1, T2, T3, T4, T5]) RowAny(row int) any
- func (c *Tuple5) SetName(v []byte)
- func (c *Tuple5) SetType(v []byte)
- func (c *Tuple5) Type() []byte
- type TupleStruct
- type Variant
- func (c *Variant) Append(v any)
- func (c *Variant) AppendAny(value any) error
- func (c *Variant) AppendDiscriminators(discriminators uint8)
- func (c *Variant) AppendDiscriminatorsMulti(discriminators ...uint8)
- func (c *Variant) AppendErr() error
- func (c *Variant) AppendMulti(v ...any)
- func (c *Variant) AppendNil()
- func (c *Variant) Array() *Array[any]
- func (c *Variant) Columns() []ColumnBasic
- func (c *Variant) Data() []any
- func (c *Variant) Elem(arrayLevel int) ColumnBasic
- func (c *Variant) FullType() string
- func (c *Variant) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
- func (c *Variant) HeaderWriter(w *readerwriter.Writer)
- func (c *Variant) Name() []byte
- func (c *Variant) NumRow() int
- func (c *Variant) Read(value []any) []any
- func (c *Variant) ReadRaw(num int, r *readerwriter.Reader) error
- func (c *Variant) Remove(n int)
- func (c *Variant) Reset()
- func (c *Variant) Row(row int) any
- func (c *Variant) RowAny(row int) any
- func (c *Variant) RowIsNil(row int) bool
- func (c *Variant) RowPos(row int) (columnIndex uint8, columnRow int)
- func (c *Variant) Scan(row int, dest any) error
- func (c *Variant) SetName(v []byte)
- func (c *Variant) SetType(v []byte)
- func (c *Variant) SetWriteBufferSize(row int)
- func (c *Variant) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
- func (c *Variant) Type() []byte
- func (c *Variant) Validate(forInsert bool) error
- func (c *Variant) WriteTo(w io.Writer) (int64, error)
Constants ¶
const ( // Uint8Size data Size of Uint8 Column Uint8Size = 1 // Uint16Size data Size of Uint16 Column Uint16Size = 2 // Uint32Size data Size of Uint32 Column Uint32Size = 4 // Uint64Size data Size of Uint64 Column Uint64Size = 8 // Uint128Size data Size of Uint128 Column Uint128Size = 16 // Uint256Size data Size of Uint256 Column Uint256Size = 32 // Int8Size data Size of Int8 Column Int8Size = 1 // Int16Size data Size of Int16 Column Int16Size = 2 // Int32Size data Size of Int32 Column Int32Size = 4 // Int64Size data Size of Int64 Column Int64Size = 8 // Int128Size data Size of Int128 Column Int128Size = 16 // Int256Size data Size of Int256 Column Int256Size = 32 // Float32Size data Size of Float32 Column Float32Size = 4 // Float64Size data Size of Float64 Column Float64Size = 8 // DateSize data Size of Date Column DateSize = 2 // Date32Size data Size of Date32 Column Date32Size = 4 // DatetimeSize data Size of DateTime Column DateTimeSize = 4 // Datetime64Size data Size of DateTime64 Column DateTime64Size = 8 // IPv4Size data Size of IPv4 Column IPv4Size = 4 // IPv6Size data Size of IPv6 Column IPv6Size = 16 // Decimal32Size data Size of Decimal32 Column Decimal32Size = 4 // Decimal64Size data Size of Decimal64 Column Decimal64Size = 8 // Decimal128Size data Size of Decimal128 Column Decimal128Size = 16 // Decimal256Size data Size of Decimal256 Column Decimal256Size = 32 // ArraylenSize data Size of Arraylen Column ArraylenSize = 8 // MaplenSize data Size of Maplen Column MaplenSize = 8 // UUIDSize data Size of UUID Column UUIDSize = 16 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Array ¶
Array is a column of Array(T) ClickHouse data type
func NewNested1 ¶
NewNested1 create a new nested of Nested(T1) ClickHouse data type
this is actually an alias for NewTuple1(T1).Array()
func NewNested2 ¶
func NewNested2[T ~struct { Col1 T1 Col2 T2 }, T1, T2 any]( column1 Column[T1], column2 Column[T2], ) *Array[T]
NewNested2 create a new nested of Nested(T1, T2) ClickHouse data type
this is actually an alias for NewTuple2(T1, T2).Array()
func NewNested3 ¶
func NewNested3[T ~struct { Col1 T1 Col2 T2 Col3 T3 }, T1, T2, T3 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], ) *Array[T]
NewNested3 create a new nested of Nested(T1, T2, T3) ClickHouse data type
this is actually an alias for NewTuple3(T1, T2, T3).Array()
func NewNested4 ¶
func NewNested4[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 }, T1, T2, T3, T4 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4], ) *Array[T]
NewNested4 create a new nested of Nested(T1, T2, T3, T4) ClickHouse data type
this is actually an alias for NewTuple4(T1, T2, T3, T4).Array()
func NewNested5 ¶
func NewNested5[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 Col5 T5 }, T1, T2, T3, T4, T5 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4], column5 Column[T5], ) *Array[T]
NewNested5 create a new nested of Nested(T1, T2, T3, T4, T5) ClickHouse data type
this is actually an alias for NewTuple5(T1, T2, T3, T4, T5).Array()
func (*Array[T]) AppendItem ¶
func (c *Array[T]) AppendItem(v T)
Append single item value for insert
it should use with AppendLen
Example:
c.AppendLen(2) // insert 2 items c.AppendItem(1) c.AppendItem(2)
func (*Array[T]) AppendMulti ¶
func (c *Array[T]) AppendMulti(v ...[]T)
AppendMulti value for insert
func (*Array[T]) Data ¶
func (c *Array[T]) Data() [][]T
Data get all the data in current block as a slice.
func (*Array[T]) Read ¶
func (c *Array[T]) Read(value [][]T) [][]T
Read reads all the data in current block and append to the input.
type Array2 ¶
Array2 is a column of Array(Array(T)) ClickHouse data type
func (*Array2[T]) AppendMulti ¶
func (c *Array2[T]) AppendMulti(v ...[][]T)
AppendMulti value for insert
func (*Array2[T]) Data ¶
func (c *Array2[T]) Data() [][][]T
Data get all the data in current block as a slice.
func (*Array2[T]) Read ¶
func (c *Array2[T]) Read(value [][][]T) [][][]T
Read reads all the data in current block and append to the input.
type Array2Nullable ¶
Array is a column of Array(Array(Nullable(T))) ClickHouse data type
func NewArray2Nullable ¶
func NewArray2Nullable[T any](dataColumn *ArrayNullable[T]) *Array2Nullable[T]
NewArrayNullable create a new array column of Array(Nullable(T)) ClickHouse data type
func (*Array2Nullable[T]) Append ¶
func (c *Array2Nullable[T]) Append(v [][]T)
func (*Array2Nullable[T]) AppendAny ¶
func (c *Array2Nullable[T]) AppendAny(value any) error
func (*Array2Nullable[T]) AppendMultiP ¶
func (c *Array2Nullable[T]) AppendMultiP(v ...[][]*T)
AppendMultiP a nullable value for insert
func (*Array2Nullable[T]) AppendP ¶
func (c *Array2Nullable[T]) AppendP(v [][]*T)
AppendP a nullable value for insert
func (*Array2Nullable[T]) Array ¶
func (c *Array2Nullable[T]) Array() *Array3Nullable[T]
Array return a Array type for this column
func (*Array2Nullable[T]) DataP ¶
func (c *Array2Nullable[T]) DataP() [][][]*T
Data get all the nullable data in current block as a slice of pointer.
func (*Array2Nullable[T]) ReadP ¶
func (c *Array2Nullable[T]) ReadP(value [][][]*T) [][][]*T
Read reads all the nullable data in current block as a slice pointer and append to the input.
func (*Array2Nullable[T]) ReadRaw ¶
func (c *Array2Nullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*Array2Nullable[T]) RowAny ¶
func (c *Array2Nullable[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*Array2Nullable[T]) RowP ¶
func (c *Array2Nullable[T]) RowP(row int) [][]*T
RowP return the nullable value of given row as a pointer NOTE: Row number start from zero
func (*Array2Nullable) SetName ¶
func (c *Array2Nullable) SetName(v []byte)
SetName set name of the column
func (*Array2Nullable) SetType ¶
func (c *Array2Nullable) SetType(v []byte)
SetType set clickhouse type
type Array3 ¶
Array3 is a column of Array(Array(Array(T))) ClickHouse data type
func (*Array3[T]) AppendMulti ¶
func (c *Array3[T]) AppendMulti(v ...[][][]T)
AppendMulti value for insert
func (*Array3[T]) Data ¶
func (c *Array3[T]) Data() [][][][]T
Data get all the data in current block as a slice.
func (*Array3[T]) Read ¶
func (c *Array3[T]) Read(value [][][][]T) [][][][]T
Read reads all the data in current block and append to the input.
type Array3Nullable ¶
Array is a column of Array(Array(Nullable(T))) ClickHouse data type
func NewArray3Nullable ¶
func NewArray3Nullable[T any](dataColumn *Array2Nullable[T]) *Array3Nullable[T]
NewArrayNullable create a new array column of Array(Nullable(T)) ClickHouse data type
func (*Array3Nullable[T]) AppendAny ¶
func (c *Array3Nullable[T]) AppendAny(value any) error
func (*Array3Nullable[T]) AppendMultiP ¶
func (c *Array3Nullable[T]) AppendMultiP(v ...[][][]*T)
AppendMultiP a nullable value for insert
func (*Array3Nullable[T]) AppendP ¶
func (c *Array3Nullable[T]) AppendP(v [][][]*T)
AppendP a nullable value for insert
func (*Array3Nullable[T]) DataP ¶
func (c *Array3Nullable[T]) DataP() [][][][]*T
Data get all the nullable data in current block as a slice of pointer.
func (*Array3Nullable[T]) ReadP ¶
func (c *Array3Nullable[T]) ReadP(value [][][][]*T) [][][][]*T
Read reads all the nullable data in current block as a slice pointer and append to the input.
func (*Array3Nullable[T]) ReadRaw ¶
func (c *Array3Nullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*Array3Nullable[T]) RowAny ¶
func (c *Array3Nullable[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*Array3Nullable[T]) RowP ¶
func (c *Array3Nullable[T]) RowP(row int) [][][]*T
RowP return the nullable value of given row as a pointer NOTE: Row number start from zero
func (*Array3Nullable) SetName ¶
func (c *Array3Nullable) SetName(v []byte)
SetName set name of the column
func (*Array3Nullable) SetType ¶
func (c *Array3Nullable) SetType(v []byte)
SetType set clickhouse type
type ArrayBase ¶
type ArrayBase struct {
// contains filtered or unexported fields
}
ArrayBase is a column of Array(T) ClickHouse data type
ArrayBase is a base class for other arrays or use for none generic use
func NewArrayBase ¶
func NewArrayBase(dataColumn ColumnBasic) *ArrayBase
NewArray create a new array column of Array(T) ClickHouse data type
func NewNested ¶
func NewNested(columns ...ColumnBasic) *ArrayBase
NewNested create a new nested of Nested(T1,T2,.....,Tn) ClickHouse data type
this is actually an alias for NewTuple(T1,T2,.....,Tn).Array()
func (*ArrayBase) HeaderReader ¶
HeaderReader reads header data from reader it uses internally
func (*ArrayBase) HeaderWriter ¶
func (c *ArrayBase) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*ArrayBase) Offsets ¶
Offsets return all the offsets in current block Note: Only available in the current block
func (*ArrayBase) ReadRaw ¶
func (c *ArrayBase) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*ArrayBase) Reset ¶
func (c *ArrayBase) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*ArrayBase) SetWriteBufferSize ¶
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
type ArrayNullable ¶
type ArrayNullable[T any] struct { // contains filtered or unexported fields }
Array is a column of Array(Nullable(T)) ClickHouse data type
func NewArrayNullable ¶
func NewArrayNullable[T any](dataColumn NullableColumn[T]) *ArrayNullable[T]
NewArrayNullable create a new array column of Array(Nullable(T)) ClickHouse data type
func (*ArrayNullable[T]) AppendAny ¶
func (c *ArrayNullable[T]) AppendAny(value any) error
func (*ArrayNullable[T]) AppendItemP ¶
func (c *ArrayNullable[T]) AppendItemP(v *T)
AppendItemP Append nullable item value for insert
it should use with AppendLen
Example:
c.AppendLen(2) // insert 2 items c.AppendItemP(val1) // insert item 1 c.AppendItemP(val2) // insert item 2
func (*ArrayNullable[T]) AppendMultiP ¶
func (c *ArrayNullable[T]) AppendMultiP(v [][]*T)
AppendMultiP a nullable value for insert
func (*ArrayNullable[T]) AppendP ¶
func (c *ArrayNullable[T]) AppendP(v []*T)
AppendP a nullable value for insert
func (*ArrayNullable[T]) Array ¶
func (c *ArrayNullable[T]) Array() *Array2Nullable[T]
ArrayOf return a Array type for this column
func (*ArrayNullable[T]) DataP ¶
func (c *ArrayNullable[T]) DataP() [][]*T
Data get all the nullable data in current block as a slice of pointer.
func (*ArrayNullable[T]) ReadP ¶
func (c *ArrayNullable[T]) ReadP(value [][]*T) [][]*T
Read reads all the nullable data in current block as a slice pointer and append to the input.
func (*ArrayNullable[T]) ReadRaw ¶
func (c *ArrayNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*ArrayNullable[T]) RowAny ¶
func (c *ArrayNullable[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*ArrayNullable[T]) RowP ¶
func (c *ArrayNullable[T]) RowP(row int) []*T
RowP return the nullable value of given row as a pointer NOTE: Row number start from zero
type Base ¶
type Base[T BaseType] struct { // contains filtered or unexported fields }
Column use for most (fixed size) ClickHouse Columns type
func (*Base[T]) Data ¶
func (c *Base[T]) Data() []T
Data get all the data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*Base[T]) HeaderReader ¶
HeaderReader reads header data from reader it uses internally
func (*Base[T]) HeaderWriter ¶
func (c *Base[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*Base[T]) LC ¶
func (c *Base[T]) LC() *LowCardinality[T]
LC return a low cardinality type for this column
func (*Base[T]) LowCardinality ¶
func (c *Base[T]) LowCardinality() *LowCardinality[T]
LowCardinality return a low cardinality type for this column
func (*Base[T]) Nullable ¶
func (c *Base[T]) Nullable() *BaseNullable[T]
Nullable return a nullable type for this column
func (*Base[T]) Read ¶
func (c *Base[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*Base[T]) ReadRaw ¶
func (c *Base[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*Base[T]) Reset ¶
func (c *Base[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*Base[T]) SetWriteBufferSize ¶
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
type BaseNullable ¶
type BaseNullable[T BaseType] struct { // contains filtered or unexported fields }
BaseNullable is a column of Nullable(T) ClickHouse data type
func NewBaseNullable ¶
func NewBaseNullable[T BaseType](dataColumn *Base[T]) *BaseNullable[T]
NewBaseNullable return new BaseNullable for BaseNullable(T) ClickHouse DataType
func (*BaseNullable[T]) AppendAny ¶
func (c *BaseNullable[T]) AppendAny(value any) error
func (*BaseNullable[T]) AppendMulti ¶
func (c *BaseNullable[T]) AppendMulti(v ...T)
AppendMulti value for insert
func (*BaseNullable[T]) AppendMultiP ¶
func (c *BaseNullable[T]) AppendMultiP(v ...*T)
AppendMultiP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*BaseNullable[T]) AppendNil ¶
func (c *BaseNullable[T]) AppendNil()
Append nil value for insert
func (*BaseNullable[T]) AppendP ¶
func (c *BaseNullable[T]) AppendP(v *T)
AppendP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*BaseNullable[T]) Array ¶
func (c *BaseNullable[T]) Array() *ArrayNullable[T]
Array return a Array type for this column
func (*BaseNullable[T]) Data ¶
func (c *BaseNullable[T]) Data() []T
Data get all the data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*BaseNullable[T]) DataNil ¶
func (c *BaseNullable[T]) DataNil() []bool
DataNil get all nil state in this block
func (*BaseNullable[T]) DataP ¶
func (c *BaseNullable[T]) DataP() []*T
Data get all the nullable data in current block as a slice of pointer.
As an alternative (for better performance). You can use `Data` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*BaseNullable[T]) FullType ¶
func (c *BaseNullable[T]) FullType() string
func (*BaseNullable[T]) HeaderReader ¶
func (c *BaseNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader reads header data from reader it uses internally
func (*BaseNullable[T]) HeaderWriter ¶
func (c *BaseNullable[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*BaseNullable[T]) NumRow ¶
func (c *BaseNullable[T]) NumRow() int
NumRow return number of row for this block
func (*BaseNullable[T]) Read ¶
func (c *BaseNullable[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*BaseNullable[T]) ReadNil ¶
func (c *BaseNullable[T]) ReadNil(value []bool) []bool
ReadAll read all nils state in this block and append to the input
func (*BaseNullable[T]) ReadP ¶
func (c *BaseNullable[T]) ReadP(value []*T) []*T
ReadP read all value in this block and append to the input slice (for nullable data)
As an alternative (for better performance), You can use `Read` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*BaseNullable[T]) ReadRaw ¶
func (c *BaseNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*BaseNullable[T]) Remove ¶
func (c *BaseNullable[T]) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*BaseNullable[T]) Reset ¶
func (c *BaseNullable[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*BaseNullable[T]) RowAny ¶
func (c *BaseNullable[T]) RowAny(i int) any
Append value for insert
func (*BaseNullable[T]) RowIsNil ¶
func (c *BaseNullable[T]) RowIsNil(row int) bool
RowIsNil return true if the row is null
func (*BaseNullable[T]) RowP ¶
func (c *BaseNullable[T]) RowP(row int) *T
RowP return the value of given row for nullable data NOTE: Row number start from zero
As an alternative (for better performance), you can use `Row()` to get a value and `RowIsNil()` to check if it is null.
func (*BaseNullable) SetName ¶
func (c *BaseNullable) SetName(v []byte)
SetName set name of the column
func (*BaseNullable[T]) SetWriteBufferSize ¶
func (c *BaseNullable[T]) SetWriteBufferSize(row int)
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (*BaseNullable[T]) ToJSON ¶
func (c *BaseNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
func (*BaseNullable[T]) Validate ¶
func (c *BaseNullable[T]) Validate(forInsert bool) error
type BaseType ¶
type BaseType interface { ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~int8 | ~int16 | ~int32 | ~int64 | ~float32 | ~float64 | ~bool | types.Int128 | types.Int256 | types.Uint128 | types.Uint256 | types.Decimal128 | types.Decimal256 | ~[1]byte | ~[2]byte | ~[3]byte | ~[4]byte | ~[5]byte | ~[6]byte | ~[7]byte | ~[8]byte | ~[9]byte | ~[10]byte | ~[11]byte | ~[12]byte | ~[13]byte | ~[14]byte | ~[15]byte | ~[16]byte | ~[17]byte | ~[18]byte | ~[19]byte | ~[20]byte | ~[21]byte | ~[22]byte | ~[23]byte | ~[24]byte | ~[25]byte | ~[26]byte | ~[27]byte | ~[28]byte | ~[29]byte | ~[30]byte | ~[31]byte | ~[32]byte | ~[33]byte | ~[34]byte | ~[35]byte | ~[36]byte | ~[37]byte | ~[38]byte | ~[39]byte | ~[40]byte | ~[41]byte | ~[42]byte | ~[43]byte | ~[44]byte | ~[45]byte | ~[46]byte | ~[47]byte | ~[48]byte | ~[49]byte | ~[50]byte | ~[51]byte | ~[52]byte | ~[53]byte | ~[54]byte | ~[55]byte | ~[56]byte | ~[57]byte | ~[58]byte | ~[59]byte | ~[60]byte | ~[61]byte | ~[62]byte | ~[63]byte | ~[64]byte | ~[65]byte | ~[66]byte | ~[67]byte | ~[68]byte | ~[69]byte | ~[70]byte | ~[71]byte | ~[72]byte | ~[73]byte | ~[74]byte }
type Column ¶
type Column[T any] interface { ColumnBasic Data() []T Read([]T) []T Row(int) T Append(T) AppendMulti(...T) }
type ColumnBasic ¶
type ColumnBasic interface { ReadRaw(num int, r *readerwriter.Reader) error HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error HeaderWriter(*readerwriter.Writer) WriteTo(io.Writer) (int64, error) NumRow() int Reset() SetType(v []byte) Type() []byte SetName(v []byte) Name() []byte Validate(forInsert bool) error SetWriteBufferSize(int) RowAny(int) any Scan(row int, dest any) error AppendAny(any) error FullType() string Remove(n int) ToJSON(row int, stringQuotes bool, b []byte) []byte // contains filtered or unexported methods }
type Date ¶
Date is a date column of ClickHouse date type (Date, Date32, DateTime, DateTime64). it is a wrapper of time.Time. but if you want to work with the raw data like unix timestamp you can directly use `Column` (`New[T]()`)
`types.Date` data types For `Date`.
`types.Date32` data types For `Date32`
`types.DateTime` data types For `DateTime`
`types.DateTime64` data types For `DateTime64`
func (*Date[T]) AppendMulti ¶
AppendMulti value for insert
func (*Date[T]) LC ¶
func (c *Date[T]) LC() *LowCardinality[time.Time]
LC return a low cardinality type for this column
func (*Date[T]) Location ¶
Location get location
ONLY ON SELECT: set automatically for `DateTime` and `DateTime64` if not set and present in clickhouse datatype)
func (*Date[T]) LowCardinality ¶
func (c *Date[T]) LowCardinality() *LowCardinality[time.Time]
LowCardinality return a low cardinality type for this column
func (*Date[T]) Nullable ¶
func (c *Date[T]) Nullable() *DateNullable[T]
Nullable return a nullable type for this column
func (*Date[T]) SetLocation ¶
SetLocation set the location of the time.Time. Only use for `DateTime` and `DateTime64`
func (*Date[T]) SetPrecision ¶
SetPrecision set the precision of the time.Time. Only use for `DateTime64`
type DateNullable ¶
type DateNullable[T DateType[T]] struct { // contains filtered or unexported fields }
DateNullable is a column of Nullable(T) ClickHouse data type
func NewDateNullable ¶
func NewDateNullable[T DateType[T]](dataColumn *Date[T]) *DateNullable[T]
NewDateNullable return new DateNullable for DateNullable(T) ClickHouse DataType
func (*DateNullable[T]) Append ¶
func (c *DateNullable[T]) Append(v time.Time)
Append value for insert
func (*DateNullable[T]) AppendAny ¶
func (c *DateNullable[T]) AppendAny(value any) error
func (*DateNullable[T]) AppendMulti ¶
func (c *DateNullable[T]) AppendMulti(v ...time.Time)
AppendMulti value for insert
func (*DateNullable[T]) AppendMultiP ¶
func (c *DateNullable[T]) AppendMultiP(v ...*time.Time)
AppendMultiP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*DateNullable[T]) AppendNil ¶
func (c *DateNullable[T]) AppendNil()
Append nil value for insert
func (*DateNullable[T]) AppendP ¶
func (c *DateNullable[T]) AppendP(v *time.Time)
AppendP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*DateNullable[T]) Array ¶
func (c *DateNullable[T]) Array() *ArrayNullable[time.Time]
Array return a Array type for this column
func (*DateNullable[T]) Data ¶
func (c *DateNullable[T]) Data() []time.Time
Data get all the data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*DateNullable[T]) DataNil ¶
func (c *DateNullable[T]) DataNil() []bool
DataNil get all nil state in this block
func (*DateNullable[T]) DataP ¶
func (c *DateNullable[T]) DataP() []*time.Time
Data get all the nullable data in current block as a slice of pointer.
As an alternative (for better performance). You can use `Data` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*DateNullable[T]) FullType ¶
func (c *DateNullable[T]) FullType() string
func (*DateNullable[T]) HeaderReader ¶
func (c *DateNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader reads header data from reader it uses internally
func (*DateNullable[T]) HeaderWriter ¶
func (c *DateNullable[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*DateNullable[T]) NumRow ¶
func (c *DateNullable[T]) NumRow() int
NumRow return number of row for this block
func (*DateNullable[T]) Read ¶
func (c *DateNullable[T]) Read(value []time.Time) []time.Time
Read reads all the data in current block and append to the input.
func (*DateNullable[T]) ReadNil ¶
func (c *DateNullable[T]) ReadNil(value []bool) []bool
ReadAll read all nils state in this block and append to the input
func (*DateNullable[T]) ReadP ¶
func (c *DateNullable[T]) ReadP(value []*time.Time) []*time.Time
ReadP read all value in this block and append to the input slice (for nullable data)
As an alternative (for better performance), You can use `Read` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*DateNullable[T]) ReadRaw ¶
func (c *DateNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*DateNullable[T]) Remove ¶
func (c *DateNullable[T]) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*DateNullable[T]) Reset ¶
func (c *DateNullable[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*DateNullable[T]) Row ¶
func (c *DateNullable[T]) Row(i int) time.Time
Row return the value of given row
func (*DateNullable[T]) RowAny ¶
func (c *DateNullable[T]) RowAny(i int) any
RowAny return the value of given row
func (*DateNullable[T]) RowIsNil ¶
func (c *DateNullable[T]) RowIsNil(row int) bool
RowIsNil return true if the row is null
func (*DateNullable[T]) RowP ¶
func (c *DateNullable[T]) RowP(row int) *time.Time
RowP return the value of given row for nullable data NOTE: Row number start from zero
As an alternative (for better performance), you can use `Row()` to get a value and `RowIsNil()` to check if it is null.
func (*DateNullable) SetName ¶
func (c *DateNullable) SetName(v []byte)
SetName set name of the column
func (*DateNullable[T]) SetWriteBufferSize ¶
func (c *DateNullable[T]) SetWriteBufferSize(row int)
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (DateNullable[T]) ToJSON ¶
func (c DateNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
func (*DateNullable[T]) Validate ¶
func (c *DateNullable[T]) Validate(forInsert bool) error
type DateType ¶
type DateType[T types.Date | types.Date32 | types.DateTime | types.DateTime64] interface { types.Date | types.Date32 | types.DateTime | types.DateTime64 ToTime(val *time.Location, precision int) time.Time Append(b []byte, val *time.Location, precision int) []byte FromTime(val time.Time, precision int) T }
type ErrInvalidType ¶
type ErrInvalidType struct {
// contains filtered or unexported fields
}
func (ErrInvalidType) Error ¶
func (e ErrInvalidType) Error() string
type ErrScanType ¶
type ErrScanType struct {
// contains filtered or unexported fields
}
func (ErrScanType) Error ¶
func (e ErrScanType) Error() string
type LowCardinality ¶
type LowCardinality[T comparable] struct { // contains filtered or unexported fields }
LowCardinality use for LowCardinality ClickHouse DataTypes
func NewLC ¶
func NewLC[T comparable](dictColumn Column[T]) *LowCardinality[T]
NewLC return new LC for LowCardinality ClickHouse DataTypes
func NewLowCardinality ¶
func NewLowCardinality[T comparable](dictColumn Column[T]) *LowCardinality[T]
NewLowCardinality return new LC for LowCardinality ClickHouse DataTypes
func (*LowCardinality[T]) AppendAny ¶
func (c *LowCardinality[T]) AppendAny(value any) error
func (*LowCardinality[T]) AppendMulti ¶
func (c *LowCardinality[T]) AppendMulti(v ...T)
AppendMulti value for insert
func (*LowCardinality[T]) Array ¶
func (c *LowCardinality[T]) Array() *Array[T]
Array return a Array type for this column
func (*LowCardinality[T]) Data ¶
func (c *LowCardinality[T]) Data() []T
Data get all the data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*LowCardinality[T]) Dicts ¶
func (c *LowCardinality[T]) Dicts() []T
Dicts get dictionary data each key is an index of the dictionary
func (*LowCardinality[T]) FullType ¶
func (c *LowCardinality[T]) FullType() string
func (*LowCardinality[T]) HeaderReader ¶
func (c *LowCardinality[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader writes header data to writer it uses internally
func (*LowCardinality[T]) HeaderWriter ¶
func (c *LowCardinality[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter reader header data it uses internally
func (*LowCardinality[T]) Keys ¶
func (c *LowCardinality[T]) Keys() []int
Keys get keys of data each key is an index of the dictionary
func (*LowCardinality[T]) Nullable ¶
func (c *LowCardinality[T]) Nullable() *LowCardinalityNullable[T]
Nullable return a Nullable type for this column
func (*LowCardinality[T]) NumRow ¶
func (c *LowCardinality[T]) NumRow() int
NumRow return number of row for this block
func (*LowCardinality[T]) Read ¶
func (c *LowCardinality[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*LowCardinality[T]) ReadRaw ¶
func (c *LowCardinality[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*LowCardinality[T]) Remove ¶
func (c *LowCardinality[T]) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*LowCardinality[T]) Reset ¶
func (c *LowCardinality[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*LowCardinality[T]) Row ¶
func (c *LowCardinality[T]) Row(row int) T
Row return the value of given row. NOTE: Row number start from zero
func (*LowCardinality[T]) RowAny ¶
func (c *LowCardinality[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*LowCardinality) SetName ¶
func (c *LowCardinality) SetName(v []byte)
SetName set name of the column
func (*LowCardinality) SetType ¶
func (c *LowCardinality) SetType(v []byte)
SetType set clickhouse type
func (*LowCardinality[T]) SetWriteBufferSize ¶
func (c *LowCardinality[T]) SetWriteBufferSize(row int)
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (*LowCardinality[T]) ToJSON ¶
func (c *LowCardinality[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
func (*LowCardinality[T]) Validate ¶
func (c *LowCardinality[T]) Validate(forInsert bool) error
type LowCardinalityNullable ¶
type LowCardinalityNullable[T comparable] struct { LowCardinality[T] }
LowCardinalityNullable for LowCardinality(Nullable(T)) ClickHouse DataTypes
func NewLCNullable ¶
func NewLCNullable[T comparable](dictColumn Column[T]) *LowCardinalityNullable[T]
NewLCNullable return new LowCardinalityNullable for nullable LowCardinality ClickHouse DataTypes
func NewLowCardinalityNullable ¶
func NewLowCardinalityNullable[T comparable](dictColumn Column[T]) *LowCardinalityNullable[T]
NewLowCardinalityNullable return new LowCardinalityNullable for nullable LowCardinality ClickHouse DataTypes
func (*LowCardinalityNullable[T]) Append ¶
func (c *LowCardinalityNullable[T]) Append(v T)
Append value for insert
func (*LowCardinalityNullable[T]) AppendAny ¶
func (c *LowCardinalityNullable[T]) AppendAny(value any) error
func (*LowCardinalityNullable[T]) AppendMulti ¶
func (c *LowCardinalityNullable[T]) AppendMulti(v ...T)
AppendMulti value for insert
func (*LowCardinalityNullable[T]) AppendMultiP ¶
func (c *LowCardinalityNullable[T]) AppendMultiP(v ...*T)
AppendMultiP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*LowCardinalityNullable[T]) AppendNil ¶
func (c *LowCardinalityNullable[T]) AppendNil()
Append nil value for insert
func (*LowCardinalityNullable[T]) AppendP ¶
func (c *LowCardinalityNullable[T]) AppendP(v *T)
AppendP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*LowCardinalityNullable[T]) Array ¶
func (c *LowCardinalityNullable[T]) Array() *ArrayNullable[T]
Array return a Array type for this column
func (*LowCardinalityNullable[T]) DataP ¶
func (c *LowCardinalityNullable[T]) DataP() []*T
Data get all nullable data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*LowCardinalityNullable) Name ¶
func (c *LowCardinalityNullable) Name() []byte
Name get name of the column
func (*LowCardinalityNullable[T]) ReadP ¶
func (c *LowCardinalityNullable[T]) ReadP(value []*T) []*T
Read reads all nullable data in current block and append to the input.
func (*LowCardinalityNullable[T]) Reset ¶
func (c *LowCardinalityNullable[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*LowCardinalityNullable[T]) RowAny ¶
func (c *LowCardinalityNullable[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*LowCardinalityNullable[T]) RowIsNil ¶
func (c *LowCardinalityNullable[T]) RowIsNil(row int) bool
RowIsNil return true if value of given row is null NOTE: Row number start from zero
func (*LowCardinalityNullable[T]) RowP ¶
func (c *LowCardinalityNullable[T]) RowP(row int) *T
Row return nullable value of given row NOTE: Row number start from zero
func (*LowCardinalityNullable[T]) Scan ¶
func (c *LowCardinalityNullable[T]) Scan(row int, dest any) error
func (*LowCardinalityNullable) SetName ¶
func (c *LowCardinalityNullable) SetName(v []byte)
SetName set name of the column
func (*LowCardinalityNullable) SetType ¶
func (c *LowCardinalityNullable) SetType(v []byte)
SetType set clickhouse type
type Map ¶
type Map[K comparable, V any] struct { MapBase // contains filtered or unexported fields }
Map is a column of Map(K,V) ClickHouse data type Map in clickhouse actually is a array of pair(K,V)
func NewMap ¶
func NewMap[K comparable, V any]( keyColumn Column[K], valueColumn Column[V], ) *Map[K, V]
NewMap create a new map column of Map(K,V) ClickHouse data type
func (*Map[K, V]) AppendMulti ¶
func (c *Map[K, V]) AppendMulti(val ...map[K]V)
AppendMulti value for insert
func (*Map[K, V]) Data ¶
func (c *Map[K, V]) Data() []map[K]V
Data get all the data in current block as a slice.
func (*Map[K, V]) Read ¶
func (c *Map[K, V]) Read(value []map[K]V) []map[K]V
Read reads all the data in current block and append to the input.
func (*Map[K, V]) ValueColumn ¶
ValueColumn return the value column
type MapBase ¶
type MapBase struct {
// contains filtered or unexported fields
}
Map is a column of Map(K,V) ClickHouse data type Map in clickhouse actually is a array of pair(K,V)
MapBase is a base class for map and also for non generic of map to use dynamic select column
func NewMapBase ¶
func NewMapBase( keyColumn, valueColumn ColumnBasic, ) *MapBase
NewMapBase create a new map column of Map(K,V) ClickHouse data type
func (*MapBase) Each ¶
Each run the given function for each row in the column with start and end offsets.
in some cases like Map(K,Array(Nullable)) you can't read the data with generic for this situations. you can use this function.
For example colNullableArrayReadKey := colNullableArrayRead.KeyColumn().Data() colNullableArrayReadValue := colNullableArrayRead.ValueColumn().(*column.ArrayNullable[V]).DataP()
colNullableArrayRead.Each(func(start, end uint64) bool { val := make(map[string][]*V) for ki, key := range colNullableArrayReadKey[start:end] { val[key] = colNullableArrayReadValue[start:end][ki] } colArrayNullableData = append(colArrayNullableData, val) return true })
func (*MapBase) HeaderReader ¶
HeaderReader reads header data from reader it uses internally
func (*MapBase) HeaderWriter ¶
func (c *MapBase) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*MapBase) KeyColumn ¶
func (c *MapBase) KeyColumn() ColumnBasic
KeyColumn return the key column
func (*MapBase) ReadRaw ¶
func (c *MapBase) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*MapBase) Reset ¶
func (c *MapBase) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*MapBase) SetWriteBufferSize ¶
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (*MapBase) ValueColumn ¶
func (c *MapBase) ValueColumn() ColumnBasic
ValueColumn return the value column
type MapNullable ¶
type MapNullable[K comparable, V any] struct { Map[K, V] // contains filtered or unexported fields }
MapNullable is a column of Map(K,V) ClickHouse data type where V is nullable. Map in clickhouse actually is a array of pair(K,V)
func NewMapNullable ¶
func NewMapNullable[K comparable, V any]( keyColumn Column[K], valueColumn NullableColumn[V], ) *MapNullable[K, V]
NewMapNullable create a new map column of Map(K,V) ClickHouse data type
func (*MapNullable[K, V]) AppendP ¶
func (c *MapNullable[K, V]) AppendP(v map[K]*V)
func (*MapNullable[T, V]) DataP ¶
func (c *MapNullable[T, V]) DataP() []map[T]*V
Data get all the data in current block as a slice.
func (*MapNullable[T, V]) ReadP ¶
func (c *MapNullable[T, V]) ReadP(value []map[T]*V) []map[T]*V
Read reads all the data in current block and append to column.
func (*MapNullable[K, V]) ReadRaw ¶
func (c *MapNullable[K, V]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*MapNullable[T, V]) RowP ¶
func (c *MapNullable[T, V]) RowP(row int) map[T]*V
Row return the value of given row. NOTE: Row number start from zero
func (*MapNullable) SetName ¶
func (c *MapNullable) SetName(v []byte)
SetName set name of the column
func (*MapNullable[K, V]) ValueColumn ¶
func (c *MapNullable[K, V]) ValueColumn() NullableColumn[V]
ValueColumn return the value column
type Nothing ¶
Nothing represents column of nothing value.
https://clickhouse.com/docs/en/sql-reference/data-types/special-data-types/nothing
func (*Nothing) Append ¶
func (c *Nothing) Append(v NothingData)
Append value for insert
Should not use this method. Nothing column is only for select query
func (*Nothing) AppendMulti ¶
func (c *Nothing) AppendMulti(v ...NothingData)
AppendMulti value for insert
Should not use this method. Nothing column is only for select query
func (*Nothing) Array ¶
func (c *Nothing) Array() *Array[NothingData]
Array return a Array type for this column
func (*Nothing) Data ¶
func (c *Nothing) Data() []NothingData
Data get all the nullable data in current block as a slice of pointer.
NOTE: it always return slice of nil
func (*Nothing) Nullable ¶
func (c *Nothing) Nullable() *NothingNullable
Nullable return a nullable type for this column
func (*Nothing) Read ¶
func (c *Nothing) Read(value []NothingData) []NothingData
Read reads all the data in current block and append to the input.
NOTE: it always append values of NothingData
type NothingData ¶
type NothingData struct{}
type NothingNullable ¶
type NothingNullable struct {
// contains filtered or unexported fields
}
NothingNullable is a column of Nullable(Nothing) ClickHouse data type
func NewNothingNullable ¶
func NewNothingNullable(dataColumn *Nothing) *NothingNullable
NewNothingNullable return new NothingNullable for Nullable(Nothing) ClickHouse DataType
func (*NothingNullable) Append ¶
func (c *NothingNullable) Append(v NothingData)
Append value for insert
Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) AppendAny ¶
func (c *NothingNullable) AppendAny(value any) error
func (*NothingNullable) AppendMulti ¶
func (c *NothingNullable) AppendMulti(v ...NothingData)
AppendMulti value for insert
Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) AppendMultiP ¶
func (c *NothingNullable) AppendMultiP(v ...*NothingData)
AppendMultiP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) AppendNil ¶
func (c *NothingNullable) AppendNil()
Append nil value for insert
Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) AppendP ¶
func (c *NothingNullable) AppendP(v *NothingData)
AppendP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) Array ¶
func (c *NothingNullable) Array() *ArrayNullable[NothingData]
Array return a Array type for this column
func (*NothingNullable) Data ¶
func (c *NothingNullable) Data() []NothingData
Data get all the data in current block as a slice.
NOTE: it always return slice of zero value of NothingData
func (*NothingNullable) DataNil ¶
func (c *NothingNullable) DataNil() []bool
DataNil get all nil state in this block
func (*NothingNullable) DataP ¶
func (c *NothingNullable) DataP() []*NothingData
Data get all the nullable data in current block as a slice of pointer.
NOTE: it always return slice of nil
func (*NothingNullable) FullType ¶
func (c *NothingNullable) FullType() string
func (*NothingNullable) HeaderReader ¶
func (c *NothingNullable) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader reads header data from reader it uses internally
func (*NothingNullable) HeaderWriter ¶
func (c *NothingNullable) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*NothingNullable) NumRow ¶
func (c *NothingNullable) NumRow() int
NumRow return number of row for this block
func (*NothingNullable) Read ¶
func (c *NothingNullable) Read(value []NothingData) []NothingData
Read reads all the data in current block and append to the input.
NOTE: it always append zero value of NothingData
func (*NothingNullable) ReadNil ¶
func (c *NothingNullable) ReadNil(value []bool) []bool
ReadAll read all nils state in this block and append to the input
func (*NothingNullable) ReadP ¶
func (c *NothingNullable) ReadP(value []*NothingData) []*NothingData
ReadP read all value in this block and append to the input slice (for nullable data)
As an alternative (for better performance), You can use `Read` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*NothingNullable) ReadRaw ¶
func (c *NothingNullable) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*NothingNullable) Remove ¶
func (c *NothingNullable) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*NothingNullable) Reset ¶
func (c *NothingNullable) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*NothingNullable) Row ¶
func (c *NothingNullable) Row(i int) NothingData
Append value for insert
func (*NothingNullable) RowAny ¶
func (c *NothingNullable) RowAny(i int) any
Append value for insert
func (*NothingNullable) RowIsNil ¶
func (c *NothingNullable) RowIsNil(row int) bool
RowIsNil return true if the row is null
func (*NothingNullable) RowP ¶
func (c *NothingNullable) RowP(row int) *NothingData
RowP return the value of given row for nullable data
NOTE: Row number start from zero
NOTE: it always return nil
func (*NothingNullable) SetName ¶
func (c *NothingNullable) SetName(v []byte)
SetName set name of the column
func (*NothingNullable) SetType ¶
func (c *NothingNullable) SetType(v []byte)
SetType set clickhouse type
func (*NothingNullable) SetWriteBufferSize ¶
func (c *NothingNullable) SetWriteBufferSize(row int)
SetWriteBufferSize set write buffer (number of rows)
NOTE: Should not use this method. NothingNullable column is only for select query
func (*NothingNullable) ToJSON ¶
func (c *NothingNullable) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
func (*NothingNullable) Validate ¶
func (c *NothingNullable) Validate(forInsert bool) error
type NullableColumn ¶
type String ¶
type String struct { StringBase[string] }
String is a column of String ClickHouse data type
type StringBase ¶
type StringBase[T ~string] struct { // contains filtered or unexported fields }
StringBase is a column of String ClickHouse data type with generic type
func NewStringBase ¶
func NewStringBase[T ~string]() *StringBase[T]
NewString is a column of String ClickHouse data type with generic type
func (*StringBase[T]) AppendAny ¶
func (c *StringBase[T]) AppendAny(value any) error
func (*StringBase[T]) AppendBytes ¶
func (c *StringBase[T]) AppendBytes(v []byte)
AppendBytes value of bytes for insert
func (*StringBase[T]) AppendBytesMulti ¶
func (c *StringBase[T]) AppendBytesMulti(v ...[]byte)
AppendBytesMulti value of bytes for insert
func (*StringBase[T]) AppendMulti ¶
func (c *StringBase[T]) AppendMulti(v ...T)
AppendMulti value for insert
func (*StringBase[T]) Array ¶
func (c *StringBase[T]) Array() *Array[T]
Array return a Array type for this column
func (*StringBase[T]) Data ¶
func (c *StringBase[T]) Data() []T
Data get all the data in current block as a slice.
func (*StringBase[T]) DataBytes ¶
func (c *StringBase[T]) DataBytes() [][]byte
Data get all the data in current block as a slice of []byte.
func (*StringBase[T]) Elem ¶
func (c *StringBase[T]) Elem(arrayLevel int, nullable, lc bool) ColumnBasic
func (*StringBase[T]) FullType ¶
func (c *StringBase[T]) FullType() string
func (*StringBase[T]) HeaderReader ¶
func (c *StringBase[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader reads header data from read it uses internally
func (*StringBase[T]) HeaderWriter ¶
func (c *StringBase[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*StringBase[T]) LC ¶
func (c *StringBase[T]) LC() *LowCardinality[T]
LC return a low cardinality type for this column
func (*StringBase[T]) LowCardinality ¶
func (c *StringBase[T]) LowCardinality() *LowCardinality[T]
LowCardinality return a low cardinality type for this column
func (*StringBase[T]) Nullable ¶
func (c *StringBase[T]) Nullable() *StringNullable[T]
Nullable return a nullable type for this column
func (*StringBase[T]) NumRow ¶
func (c *StringBase[T]) NumRow() int
NumRow return number of row for this block
func (*StringBase[T]) Read ¶
func (c *StringBase[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*StringBase[T]) ReadBytes ¶
func (c *StringBase[T]) ReadBytes(value [][]byte) [][]byte
Read reads all the data as `[]byte` in current block and append to the input.
data is valid only in the current block.
func (*StringBase[T]) ReadRaw ¶
func (c *StringBase[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically when you call `ReadColumns()`
func (*StringBase[T]) Remove ¶
func (c *StringBase[T]) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*StringBase[T]) Reset ¶
func (c *StringBase[T]) Reset()
Reset all status and buffer data
Reading data does not require a reset after each read. The reset will be triggered automatically.
However, writing data requires a reset after each write.
func (*StringBase[T]) Row ¶
func (c *StringBase[T]) Row(row int) T
Row return the value of given row.
NOTE: Row number start from zero
func (*StringBase[T]) RowAny ¶
func (c *StringBase[T]) RowAny(row int) any
RowAny return the value of given row. NOTE: Row number start from zero
func (*StringBase[T]) RowBytes ¶
func (c *StringBase[T]) RowBytes(row int) []byte
Row return the value of given row.
Data is valid only in the current block.
func (*StringBase[T]) ScanValue ¶
func (c *StringBase[T]) ScanValue(row int, value reflect.Value) error
func (*StringBase[T]) SetWriteBufferSize ¶
func (c *StringBase[T]) SetWriteBufferSize(b int)
SetWriteBufferSize set write buffer (number of bytes) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (*StringBase[T]) ToJSON ¶
func (c *StringBase[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
ToJSON
func (*StringBase[T]) Validate ¶
func (c *StringBase[T]) Validate(forInsert bool) error
type StringNullable ¶
type StringNullable[T ~string] struct { // contains filtered or unexported fields }
StringNullable is a column of Nullable(T) ClickHouse data type
func NewStringNullable ¶
func NewStringNullable[T ~string](dataColumn *StringBase[T]) *StringNullable[T]
NewStringNullable return new StringNullable for StringNullable(T) ClickHouse DataType
func (*StringNullable[T]) AppendAny ¶
func (c *StringNullable[T]) AppendAny(value any) error
func (*StringNullable[T]) AppendBytes ¶
func (c *StringNullable[T]) AppendBytes(v []byte)
Append value for insert
func (*StringNullable[T]) AppendBytesMulti ¶
func (c *StringNullable[T]) AppendBytesMulti(v ...[]byte)
Append value for insert
func (*StringNullable[T]) AppendMulti ¶
func (c *StringNullable[T]) AppendMulti(v ...T)
Append value for insert
func (*StringNullable[T]) AppendMultiP ¶
func (c *StringNullable[T]) AppendMultiP(v ...*T)
AppendMultiP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*StringNullable[T]) AppendNil ¶
func (c *StringNullable[T]) AppendNil()
Append nil value for insert
func (*StringNullable[T]) AppendP ¶
func (c *StringNullable[T]) AppendP(v *T)
AppendP nullable value for insert
as an alternative (for better performance), you can use `Append` and `AppendNil` to insert a value
func (*StringNullable[T]) Array ¶
func (c *StringNullable[T]) Array() *ArrayNullable[T]
Array return a Array type for this column
func (*StringNullable[T]) Data ¶
func (c *StringNullable[T]) Data() []T
Data get all the data in current block as a slice.
NOTE: the return slice only valid in current block, if you want to use it after, you should copy it. or use Read
func (*StringNullable[T]) DataNil ¶
func (c *StringNullable[T]) DataNil() []bool
DataNil get all nil state in this block
func (*StringNullable[T]) DataP ¶
func (c *StringNullable[T]) DataP() []*T
Data get all the nullable data in current block as a slice of pointer.
As an alternative (for better performance). You can use `Data` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*StringNullable[T]) FullType ¶
func (c *StringNullable[T]) FullType() string
func (*StringNullable[T]) HeaderReader ¶
func (c *StringNullable[T]) HeaderReader(r *readerwriter.Reader, readColumn bool, revision uint64) error
HeaderReader reads header data from reader it uses internally
func (*StringNullable[T]) HeaderWriter ¶
func (c *StringNullable[T]) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*StringNullable[T]) NumRow ¶
func (c *StringNullable[T]) NumRow() int
NumRow return number of row for this block
func (*StringNullable[T]) Read ¶
func (c *StringNullable[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*StringNullable[T]) ReadNil ¶
func (c *StringNullable[T]) ReadNil(value []bool) []bool
ReadAll read all nils state in this block and append to the input
func (*StringNullable[T]) ReadP ¶
func (c *StringNullable[T]) ReadP(value []*T) []*T
ReadP read all value in this block and append to the input slice (for nullable data)
As an alternative (for better performance), You can use `Read` and one of `RowIsNil` and `ReadNil` and `DataNil` to detect if value is null or not.
func (*StringNullable[T]) ReadRaw ¶
func (c *StringNullable[T]) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*StringNullable[T]) Remove ¶
func (c *StringNullable[T]) Remove(n int)
Remove inserted value from index
its equal to data = data[:n]
func (*StringNullable[T]) Reset ¶
func (c *StringNullable[T]) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*StringNullable[T]) Row ¶
func (c *StringNullable[T]) Row(i int) T
Row return the value of given row
func (*StringNullable[T]) RowAny ¶
func (c *StringNullable[T]) RowAny(i int) any
RowAny return the value of given row
func (*StringNullable[T]) RowBytes ¶
func (c *StringNullable[T]) RowBytes(i int) []byte
Row return the value of given row as bytes
func (*StringNullable[T]) RowIsNil ¶
func (c *StringNullable[T]) RowIsNil(row int) bool
RowIsNil return true if the row is null
func (*StringNullable[T]) RowP ¶
func (c *StringNullable[T]) RowP(row int) *T
RowP return the value of given row for nullable data NOTE: Row number start from zero
As an alternative (for better performance), you can use `Row()` to get a value and `RowIsNil()` to check if it is null.
func (*StringNullable) SetName ¶
func (c *StringNullable) SetName(v []byte)
SetName set name of the column
func (*StringNullable) SetType ¶
func (c *StringNullable) SetType(v []byte)
SetType set clickhouse type
func (*StringNullable[T]) SetWriteBufferSize ¶
func (c *StringNullable[T]) SetWriteBufferSize(row int)
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
func (*StringNullable[T]) ToJSON ¶
func (c *StringNullable[T]) ToJSON(row int, ignoreDoubleQuotes bool, b []byte) []byte
func (*StringNullable[T]) Validate ¶
func (c *StringNullable[T]) Validate(forInsert bool) error
type Tuple ¶
type Tuple struct {
// contains filtered or unexported fields
}
Tuple is a column of Tuple(T1,T2,.....,Tn) ClickHouse data type
this is actually a group of columns. it doesn't have any method for read or write data
func NewTuple ¶
func NewTuple(columns ...ColumnBasic) *Tuple
NewTuple create a new tuple of Tuple(T1,T2,.....,Tn) ClickHouse data type
this is actually a group of columns. it doesn't have any method for read or write data
func (*Tuple) Elem ¶
func (c *Tuple) Elem(arrayLevel int) ColumnBasic
func (*Tuple) HeaderReader ¶
HeaderReader reads header data from reader. it uses internally
func (*Tuple) HeaderWriter ¶
func (c *Tuple) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*Tuple) ReadRaw ¶
func (c *Tuple) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*Tuple) Reset ¶
func (c *Tuple) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*Tuple) SetWriteBufferSize ¶
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
type Tuple1 ¶
Tuple1 is a column of Tuple(T1) ClickHouse data type
func (*Tuple1[T]) AppendMulti ¶
func (c *Tuple1[T]) AppendMulti(v ...T)
AppendMulti value for insert
func (*Tuple1[T]) Data ¶
func (c *Tuple1[T]) Data() []T
Data get all the data in current block as a slice.
func (*Tuple1[T]) Read ¶
func (c *Tuple1[T]) Read(value []T) []T
Read reads all the data in current block and append to the input.
type Tuple2 ¶
type Tuple2[T ~struct { Col1 T1 Col2 T2 }, T1, T2 any] struct { Tuple // contains filtered or unexported fields }
Tuple2 is a column of Tuple(T1, T2) ClickHouse data type
func NewTuple2 ¶
func NewTuple2[T ~struct { Col1 T1 Col2 T2 }, T1, T2 any]( column1 Column[T1], column2 Column[T2], ) *Tuple2[T, T1, T2]
NewTuple2 create a new tuple of Tuple(T1, T2) ClickHouse data type
func (*Tuple2[T, T1, T2]) AppendMulti ¶
func (c *Tuple2[T, T1, T2]) AppendMulti(v ...T)
AppendMulti value for insert
func (*Tuple2[T, T1, T2]) Data ¶
func (c *Tuple2[T, T1, T2]) Data() []T
Data get all the data in current block as a slice.
func (*Tuple2[T, T1, T2]) Read ¶
func (c *Tuple2[T, T1, T2]) Read(value []T) []T
Read reads all the data in current block and append to the input.
type Tuple3 ¶
type Tuple3[T ~struct { Col1 T1 Col2 T2 Col3 T3 }, T1, T2, T3 any] struct { Tuple // contains filtered or unexported fields }
Tuple3 is a column of Tuple(T1, T2, T3) ClickHouse data type
func NewTuple3 ¶
func NewTuple3[T ~struct { Col1 T1 Col2 T2 Col3 T3 }, T1, T2, T3 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], ) *Tuple3[T, T1, T2, T3]
NewTuple3 create a new tuple of Tuple(T1, T2, T3) ClickHouse data type
func (*Tuple3[T, T1, T2, T3]) Append ¶
func (c *Tuple3[T, T1, T2, T3]) Append(v T)
Append value for insert
func (*Tuple3[T, T1, T2, T3]) AppendMulti ¶
func (c *Tuple3[T, T1, T2, T3]) AppendMulti(v ...T)
AppendMulti value for insert
func (*Tuple3[T, T1, T2, T3]) Data ¶
func (c *Tuple3[T, T1, T2, T3]) Data() []T
Data get all the data in current block as a slice.
func (*Tuple3[T, T1, T2, T3]) Read ¶
func (c *Tuple3[T, T1, T2, T3]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*Tuple3[T, T1, T2, T3]) Row ¶
Row return the value of given row. NOTE: Row number start from zero
type Tuple4 ¶
type Tuple4[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 }, T1, T2, T3, T4 any] struct { Tuple // contains filtered or unexported fields }
Tuple4 is a column of Tuple(T1, T2, T3, T4) ClickHouse data type
func NewTuple4 ¶
func NewTuple4[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 }, T1, T2, T3, T4 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4], ) *Tuple4[T, T1, T2, T3, T4]
NewTuple4 create a new tuple of Tuple(T1, T2, T3, T4) ClickHouse data type
func (*Tuple4[T, T1, T2, T3, T4]) Append ¶
func (c *Tuple4[T, T1, T2, T3, T4]) Append(v T)
Append value for insert
func (*Tuple4[T, T1, T2, T3, T4]) AppendMulti ¶
func (c *Tuple4[T, T1, T2, T3, T4]) AppendMulti(v ...T)
AppendMulti value for insert
func (*Tuple4[T, T1, T2, T3, T4]) Data ¶
func (c *Tuple4[T, T1, T2, T3, T4]) Data() []T
Data get all the data in current block as a slice.
func (*Tuple4[T, T1, T2, T3, T4]) Read ¶
func (c *Tuple4[T, T1, T2, T3, T4]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*Tuple4[T, T1, T2, T3, T4]) Row ¶
Row return the value of given row. NOTE: Row number start from zero
type Tuple5 ¶
type Tuple5[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 Col5 T5 }, T1, T2, T3, T4, T5 any] struct { Tuple // contains filtered or unexported fields }
Tuple5 is a column of Tuple(T1, T2, T3, T4, T5) ClickHouse data type
func NewTuple5 ¶
func NewTuple5[T ~struct { Col1 T1 Col2 T2 Col3 T3 Col4 T4 Col5 T5 }, T1, T2, T3, T4, T5 any]( column1 Column[T1], column2 Column[T2], column3 Column[T3], column4 Column[T4], column5 Column[T5], ) *Tuple5[T, T1, T2, T3, T4, T5]
NewTuple5 create a new tuple of Tuple(T1, T2, T3, T4, T5) ClickHouse data type
func (*Tuple5[T, T1, T2, T3, T4, T5]) Append ¶
func (c *Tuple5[T, T1, T2, T3, T4, T5]) Append(v T)
Append value for insert
func (*Tuple5[T, T1, T2, T3, T4, T5]) AppendMulti ¶
func (c *Tuple5[T, T1, T2, T3, T4, T5]) AppendMulti(v ...T)
AppendMulti value for insert
func (*Tuple5[T, T1, T2, T3, T4, T5]) Data ¶
func (c *Tuple5[T, T1, T2, T3, T4, T5]) Data() []T
Data get all the data in current block as a slice.
func (*Tuple5[T, T1, T2, T3, T4, T5]) Read ¶
func (c *Tuple5[T, T1, T2, T3, T4, T5]) Read(value []T) []T
Read reads all the data in current block and append to the input.
func (*Tuple5[T, T1, T2, T3, T4, T5]) Row ¶
Row return the value of given row. NOTE: Row number start from zero
type TupleStruct ¶
type Variant ¶
type Variant struct {
// contains filtered or unexported fields
}
Variant is a column of Variant(T1,T2,.....,Tn) ClickHouse data type
func NewVariant ¶
func NewVariant(columns ...ColumnBasic) *Variant
NewVariant create a new Variant of Variant(T1,T2,.....,Tn) ClickHouse data type
func (*Variant) AppendDiscriminators ¶
AppendDiscriminators append discriminators to the column you can get use column.LocationInParent to get the index of the column
func (*Variant) AppendDiscriminatorsMulti ¶
AppendDiscriminatorsMulti append multiple discriminators to the column
func (*Variant) AppendMulti ¶
AppendMulti append multiple value to the column
func (*Variant) Columns ¶
func (c *Variant) Columns() []ColumnBasic
Column returns the all sub columns
func (*Variant) Elem ¶
func (c *Variant) Elem(arrayLevel int) ColumnBasic
func (*Variant) HeaderReader ¶
HeaderReader reads header data from reader. it uses internally
func (*Variant) HeaderWriter ¶
func (c *Variant) HeaderWriter(w *readerwriter.Writer)
HeaderWriter writes header data to writer it uses internally
func (*Variant) ReadRaw ¶
func (c *Variant) ReadRaw(num int, r *readerwriter.Reader) error
ReadRaw read raw data from the reader. it runs automatically
func (*Variant) Reset ¶
func (c *Variant) Reset()
Reset all statuses and buffered data
After each reading, the reading data does not need to be reset. It will be automatically reset.
When inserting, buffers are reset only after the operation is successful. If an error occurs, you can safely call insert again.
func (*Variant) SetWriteBufferSize ¶
SetWriteBufferSize set write buffer (number of rows) this buffer only used for writing. By setting this buffer, you will avoid allocating the memory several times.
Source Files ¶
- array.go
- array2.go
- array2_nullable.go
- array3.go
- array3_nullable.go
- array_base.go
- array_nullable.go
- base.go
- base_little_cpu.go
- base_nullable.go
- base_scan.go
- base_validate.go
- column_helper.go
- date.go
- date_nullable.go
- errors.go
- json.go
- lc.go
- lc_indices.go
- lc_nullable.go
- map.go
- map_base.go
- map_nullable.go
- nested.go
- nothing.go
- nothing_nullable.go
- point.go
- size.go
- string.go
- string_base.go
- string_nullable.go
- tuple.go
- tuple1.go
- tuple2_gen.go
- tuple3_gen.go
- tuple4_gen.go
- tuple5_gen.go
- variant.go