Documentation
¶
Index ¶
- Variables
- type NullableSchemaDebug
- type PgAttributeDebug
- type PgxFieldDebug
- type QField
- type QRecordSchema
- type QValue
- type QValueArrayBoolean
- type QValueArrayDate
- type QValueArrayEnum
- type QValueArrayFloat32
- type QValueArrayFloat64
- type QValueArrayInt16
- type QValueArrayInt32
- type QValueArrayInt64
- type QValueArrayInterval
- type QValueArrayNumeric
- type QValueArrayString
- type QValueArrayTimestamp
- type QValueArrayTimestampTZ
- type QValueArrayUUID
- type QValueBoolean
- type QValueBytes
- type QValueCIDR
- type QValueDate
- type QValueEnum
- type QValueFloat32
- type QValueFloat64
- type QValueGeography
- type QValueGeometry
- type QValueHStore
- type QValueINET
- type QValueInt16
- type QValueInt256
- type QValueInt32
- type QValueInt64
- type QValueInt8
- type QValueInterval
- type QValueInvalid
- type QValueJSON
- type QValueKind
- type QValueMacaddr
- type QValueNull
- type QValueNumeric
- type QValuePoint
- type QValueQChar
- type QValueString
- type QValueTime
- type QValueTimeTZ
- type QValueTimestamp
- type QValueTimestampTZ
- type QValueUInt16
- type QValueUInt256
- type QValueUInt32
- type QValueUInt64
- type QValueUInt8
- type QValueUUID
- type TableDebug
- type TypeConversion
- type TypeConversionImpl
Constants ¶
This section is empty.
Variables ¶
View Source
var QValueKindToClickHouseTypeMap = map[QValueKind]string{ QValueKindBoolean: "Bool", QValueKindInt8: "Int8", QValueKindInt16: "Int16", QValueKindInt32: "Int32", QValueKindInt64: "Int64", QValueKindInt256: "Int256", QValueKindUInt8: "UInt8", QValueKindUInt16: "UInt16", QValueKindUInt32: "UInt32", QValueKindUInt64: "UInt64", QValueKindUInt256: "UInt256", QValueKindFloat32: "Float32", QValueKindFloat64: "Float64", QValueKindQChar: "FixedString(1)", QValueKindString: "String", QValueKindEnum: "LowCardinality(String)", QValueKindJSON: "String", QValueKindTimestamp: "DateTime64(6)", QValueKindTimestampTZ: "DateTime64(6)", QValueKindTime: "DateTime64(6)", QValueKindTimeTZ: "DateTime64(6)", QValueKindDate: "Date32", QValueKindBytes: "String", QValueKindUUID: "UUID", QValueKindInvalid: "String", QValueKindHStore: "String", QValueKindArrayFloat32: "Array(Float32)", QValueKindArrayFloat64: "Array(Float64)", QValueKindArrayInt16: "Array(Int16)", QValueKindArrayInt32: "Array(Int32)", QValueKindArrayInt64: "Array(Int64)", QValueKindArrayString: "Array(String)", QValueKindArrayEnum: "Array(LowCardinality(String))", QValueKindArrayBoolean: "Array(Bool)", QValueKindArrayDate: "Array(Date)", QValueKindArrayInterval: "Array(String)", QValueKindArrayTimestamp: "Array(DateTime64(6))", QValueKindArrayTimestampTZ: "Array(DateTime64(6))", QValueKindArrayJSON: "String", QValueKindArrayJSONB: "String", QValueKindArrayUUID: "Array(UUID)", }
View Source
var QValueKindToSnowflakeTypeMap = map[QValueKind]string{ QValueKindBoolean: "BOOLEAN", QValueKindInt8: "INTEGER", QValueKindInt16: "INTEGER", QValueKindInt32: "INTEGER", QValueKindInt64: "INTEGER", QValueKindUInt8: "INTEGER", QValueKindUInt16: "INTEGER", QValueKindUInt32: "INTEGER", QValueKindUInt64: "INTEGER", QValueKindFloat32: "FLOAT", QValueKindFloat64: "FLOAT", QValueKindQChar: "CHAR", QValueKindString: "STRING", QValueKindEnum: "STRING", QValueKindJSON: "VARIANT", QValueKindJSONB: "VARIANT", QValueKindTimestamp: "TIMESTAMP_NTZ", QValueKindTimestampTZ: "TIMESTAMP_TZ", QValueKindInterval: "VARIANT", QValueKindTime: "TIME", QValueKindTimeTZ: "TIME", QValueKindDate: "DATE", QValueKindBytes: "BINARY", QValueKindUUID: "STRING", QValueKindInvalid: "STRING", QValueKindHStore: "VARIANT", QValueKindGeography: "GEOGRAPHY", QValueKindGeometry: "GEOMETRY", QValueKindPoint: "GEOMETRY", QValueKindArrayFloat32: "VARIANT", QValueKindArrayFloat64: "VARIANT", QValueKindArrayInt32: "VARIANT", QValueKindArrayInt64: "VARIANT", QValueKindArrayInt16: "VARIANT", QValueKindArrayString: "VARIANT", QValueKindArrayEnum: "VARIANT", QValueKindArrayDate: "VARIANT", QValueKindArrayInterval: "VARIANT", QValueKindArrayTimestamp: "VARIANT", QValueKindArrayTimestampTZ: "VARIANT", QValueKindArrayBoolean: "VARIANT", QValueKindArrayJSON: "VARIANT", QValueKindArrayJSONB: "VARIANT", QValueKindArrayUUID: "VARIANT", QValueKindArrayNumeric: "VARIANT", }
Functions ¶
This section is empty.
Types ¶
type NullableSchemaDebug ¶
type NullableSchemaDebug struct {
// All field descriptions from pgx
PgxFields []PgxFieldDebug
// All rows returned from pg_attribute query (for all table OIDs)
PgAttributeRows []PgAttributeDebug
// The table OIDs we queried
QueriedTableOIDs []uint32
// Per-field: would this column be nullable under strict mode?
// Index matches qfields order. True = nullable, False = NOT nullable under strict
StrictNullable []bool
// Per-field: did we find a matching row in pg_attribute?
// Index matches qfields order. False means lookup failed (table OID or attnum mismatch)
MatchFound []bool
// Table metadata including names, schemas, and inheritance chain
Tables []TableDebug
}
NullableSchemaDebug captures ALL raw data for debugging nullable mismatches
type PgAttributeDebug ¶
type PgAttributeDebug struct {
AttName string
AttRelID uint32
AttTypID uint32
AttInhCount int32
AttNum int16
AttNotNull bool
AttIsLocal bool
}
PgAttributeDebug captures a row from pg_attribute query for debugging
type PgxFieldDebug ¶
type PgxFieldDebug struct {
Name string
TableOID uint32
TableAttributeNumber uint16
DataTypeOID uint32
}
PgxFieldDebug captures raw pgx FieldDescription data for debugging
type QField ¶
type QField struct {
Name string
Type QValueKind
// OriginalType is the original source type as a string
// Useful for custom type mappings, like BigQuery RECORD
OriginalType string
Precision int16
Scale int16
Nullable bool
}
type QRecordSchema ¶
type QRecordSchema struct {
Fields []QField
}
func NewQRecordSchema ¶
func NewQRecordSchema(fields []QField) QRecordSchema
NewQRecordSchema creates a new QRecordSchema.
func (QRecordSchema) EqualNames ¶
func (q QRecordSchema) EqualNames(other QRecordSchema) bool
EqualNames returns true if the field names are equal.
func (QRecordSchema) GetColumnNames ¶
func (q QRecordSchema) GetColumnNames() []string
GetColumnNames returns a slice of column names.
type QValueArrayBoolean ¶
type QValueArrayBoolean struct {
Val []bool
}
func (QValueArrayBoolean) Kind ¶
func (QValueArrayBoolean) Kind() QValueKind
func (QValueArrayBoolean) Value ¶
func (v QValueArrayBoolean) Value() any
type QValueArrayDate ¶
func (QValueArrayDate) Kind ¶
func (QValueArrayDate) Kind() QValueKind
func (QValueArrayDate) Value ¶
func (v QValueArrayDate) Value() any
type QValueArrayEnum ¶
type QValueArrayEnum struct {
Val []string
}
func (QValueArrayEnum) Kind ¶
func (QValueArrayEnum) Kind() QValueKind
func (QValueArrayEnum) Value ¶
func (v QValueArrayEnum) Value() any
type QValueArrayFloat32 ¶
type QValueArrayFloat32 struct {
Val []float32
}
func (QValueArrayFloat32) Kind ¶
func (QValueArrayFloat32) Kind() QValueKind
func (QValueArrayFloat32) Value ¶
func (v QValueArrayFloat32) Value() any
type QValueArrayFloat64 ¶
type QValueArrayFloat64 struct {
Val []float64
}
func (QValueArrayFloat64) Kind ¶
func (QValueArrayFloat64) Kind() QValueKind
func (QValueArrayFloat64) Value ¶
func (v QValueArrayFloat64) Value() any
type QValueArrayInt16 ¶
type QValueArrayInt16 struct {
Val []int16
}
func (QValueArrayInt16) Kind ¶
func (QValueArrayInt16) Kind() QValueKind
func (QValueArrayInt16) Value ¶
func (v QValueArrayInt16) Value() any
type QValueArrayInt32 ¶
type QValueArrayInt32 struct {
Val []int32
}
func (QValueArrayInt32) Kind ¶
func (QValueArrayInt32) Kind() QValueKind
func (QValueArrayInt32) Value ¶
func (v QValueArrayInt32) Value() any
type QValueArrayInt64 ¶
type QValueArrayInt64 struct {
Val []int64
}
func (QValueArrayInt64) Kind ¶
func (QValueArrayInt64) Kind() QValueKind
func (QValueArrayInt64) Value ¶
func (v QValueArrayInt64) Value() any
type QValueArrayInterval ¶
type QValueArrayInterval struct {
Val []string
}
func (QValueArrayInterval) Kind ¶
func (QValueArrayInterval) Kind() QValueKind
func (QValueArrayInterval) Value ¶
func (v QValueArrayInterval) Value() any
type QValueArrayNumeric ¶
func (QValueArrayNumeric) Kind ¶
func (QValueArrayNumeric) Kind() QValueKind
func (QValueArrayNumeric) Value ¶
func (v QValueArrayNumeric) Value() any
type QValueArrayString ¶
type QValueArrayString struct {
Val []string
}
func (QValueArrayString) Kind ¶
func (QValueArrayString) Kind() QValueKind
func (QValueArrayString) Value ¶
func (v QValueArrayString) Value() any
type QValueArrayTimestamp ¶
func (QValueArrayTimestamp) Kind ¶
func (QValueArrayTimestamp) Kind() QValueKind
func (QValueArrayTimestamp) LValue ¶
func (v QValueArrayTimestamp) LValue(ls *lua.LState) lua.LValue
func (QValueArrayTimestamp) Value ¶
func (v QValueArrayTimestamp) Value() any
type QValueArrayTimestampTZ ¶
func (QValueArrayTimestampTZ) Kind ¶
func (QValueArrayTimestampTZ) Kind() QValueKind
func (QValueArrayTimestampTZ) LValue ¶
func (v QValueArrayTimestampTZ) LValue(ls *lua.LState) lua.LValue
func (QValueArrayTimestampTZ) Value ¶
func (v QValueArrayTimestampTZ) Value() any
type QValueArrayUUID ¶
func (QValueArrayUUID) Kind ¶
func (QValueArrayUUID) Kind() QValueKind
func (QValueArrayUUID) Value ¶
func (v QValueArrayUUID) Value() any
type QValueBoolean ¶
type QValueBoolean struct {
Val bool
}
func (QValueBoolean) Kind ¶
func (QValueBoolean) Kind() QValueKind
func (QValueBoolean) Value ¶
func (v QValueBoolean) Value() any
type QValueBytes ¶
type QValueBytes struct {
Val []byte
}
func (QValueBytes) Kind ¶
func (QValueBytes) Kind() QValueKind
func (QValueBytes) Value ¶
func (v QValueBytes) Value() any
type QValueCIDR ¶
type QValueCIDR struct {
Val string
}
func (QValueCIDR) Kind ¶
func (QValueCIDR) Kind() QValueKind
func (QValueCIDR) Value ¶
func (v QValueCIDR) Value() any
type QValueDate ¶
func (QValueDate) Kind ¶
func (QValueDate) Kind() QValueKind
func (QValueDate) Value ¶
func (v QValueDate) Value() any
type QValueEnum ¶
type QValueEnum struct {
Val string
}
func (QValueEnum) Kind ¶
func (QValueEnum) Kind() QValueKind
func (QValueEnum) Value ¶
func (v QValueEnum) Value() any
type QValueFloat32 ¶
type QValueFloat32 struct {
Val float32
}
func (QValueFloat32) Kind ¶
func (QValueFloat32) Kind() QValueKind
func (QValueFloat32) Value ¶
func (v QValueFloat32) Value() any
type QValueFloat64 ¶
type QValueFloat64 struct {
Val float64
}
func (QValueFloat64) Kind ¶
func (QValueFloat64) Kind() QValueKind
func (QValueFloat64) Value ¶
func (v QValueFloat64) Value() any
type QValueGeography ¶
type QValueGeography struct {
Val string
}
func (QValueGeography) Kind ¶
func (QValueGeography) Kind() QValueKind
func (QValueGeography) Value ¶
func (v QValueGeography) Value() any
type QValueGeometry ¶
type QValueGeometry struct {
Val string
}
func (QValueGeometry) Kind ¶
func (QValueGeometry) Kind() QValueKind
func (QValueGeometry) Value ¶
func (v QValueGeometry) Value() any
type QValueHStore ¶
type QValueHStore struct {
Val string
}
func (QValueHStore) Kind ¶
func (QValueHStore) Kind() QValueKind
func (QValueHStore) Value ¶
func (v QValueHStore) Value() any
type QValueINET ¶
type QValueINET struct {
Val string
}
func (QValueINET) Kind ¶
func (QValueINET) Kind() QValueKind
func (QValueINET) Value ¶
func (v QValueINET) Value() any
type QValueInt16 ¶
type QValueInt16 struct {
Val int16
}
func (QValueInt16) Kind ¶
func (QValueInt16) Kind() QValueKind
func (QValueInt16) Value ¶
func (v QValueInt16) Value() any
type QValueInt256 ¶
func NumericToInt256ValueConversion ¶
func NumericToInt256ValueConversion(val QValueNumeric) QValueInt256
func (QValueInt256) Kind ¶
func (QValueInt256) Kind() QValueKind
func (QValueInt256) Value ¶
func (v QValueInt256) Value() any
type QValueInt32 ¶
type QValueInt32 struct {
Val int32
}
func (QValueInt32) Kind ¶
func (QValueInt32) Kind() QValueKind
func (QValueInt32) Value ¶
func (v QValueInt32) Value() any
type QValueInt64 ¶
type QValueInt64 struct {
Val int64
}
func (QValueInt64) Kind ¶
func (QValueInt64) Kind() QValueKind
func (QValueInt64) Value ¶
func (v QValueInt64) Value() any
type QValueInt8 ¶
type QValueInt8 struct {
Val int8
}
func (QValueInt8) Kind ¶
func (QValueInt8) Kind() QValueKind
func (QValueInt8) Value ¶
func (v QValueInt8) Value() any
type QValueInterval ¶
type QValueInterval struct {
Val string
}
func (QValueInterval) Kind ¶
func (QValueInterval) Kind() QValueKind
func (QValueInterval) Value ¶
func (v QValueInterval) Value() any
type QValueInvalid ¶
type QValueInvalid struct {
Val string
}
func (QValueInvalid) Kind ¶
func (QValueInvalid) Kind() QValueKind
func (QValueInvalid) Value ¶
func (v QValueInvalid) Value() any
type QValueJSON ¶
func (QValueJSON) Kind ¶
func (QValueJSON) Kind() QValueKind
func (QValueJSON) Value ¶
func (v QValueJSON) Value() any
type QValueKind ¶
type QValueKind string
const ( QValueKindInvalid QValueKind = "invalid" QValueKindFloat32 QValueKind = "float32" QValueKindFloat64 QValueKind = "float64" QValueKindInt8 QValueKind = "int8" QValueKindInt16 QValueKind = "int16" QValueKindInt32 QValueKind = "int32" QValueKindInt64 QValueKind = "int64" QValueKindInt256 QValueKind = "int256" QValueKindUInt8 QValueKind = "uint8" QValueKindUInt16 QValueKind = "uint16" QValueKindUInt32 QValueKind = "uint32" QValueKindUInt64 QValueKind = "uint64" QValueKindUInt256 QValueKind = "uint256" QValueKindBoolean QValueKind = "bool" QValueKindQChar QValueKind = "qchar" QValueKindString QValueKind = "string" QValueKindEnum QValueKind = "enum" QValueKindTimestamp QValueKind = "timestamp" QValueKindTimestampTZ QValueKind = "timestamptz" QValueKindDate QValueKind = "date" QValueKindTime QValueKind = "time" QValueKindTimeTZ QValueKind = "timetz" QValueKindInterval QValueKind = "interval" QValueKindNumeric QValueKind = "numeric" QValueKindBytes QValueKind = "bytes" QValueKindUUID QValueKind = "uuid" QValueKindJSON QValueKind = "json" QValueKindJSONB QValueKind = "jsonb" QValueKindHStore QValueKind = "hstore" QValueKindGeography QValueKind = "geography" QValueKindGeometry QValueKind = "geometry" QValueKindPoint QValueKind = "point" // network types QValueKindCIDR QValueKind = "cidr" QValueKindINET QValueKind = "inet" QValueKindMacaddr QValueKind = "macaddr" // array types QValueKindArrayFloat32 QValueKind = "array_float32" QValueKindArrayFloat64 QValueKind = "array_float64" QValueKindArrayInt16 QValueKind = "array_int16" QValueKindArrayInt32 QValueKind = "array_int32" QValueKindArrayInt64 QValueKind = "array_int64" QValueKindArrayString QValueKind = "array_string" QValueKindArrayEnum QValueKind = "array_enum" QValueKindArrayDate QValueKind = "array_date" QValueKindArrayInterval QValueKind = "array_interval" QValueKindArrayTimestamp QValueKind = "array_timestamp" QValueKindArrayTimestampTZ QValueKind = "array_timestamptz" QValueKindArrayBoolean QValueKind = "array_bool" QValueKindArrayJSON QValueKind = "array_json" QValueKindArrayJSONB QValueKind = "array_jsonb" QValueKindArrayUUID QValueKind = "array_uuid" QValueKindArrayNumeric QValueKind = "array_numeric" )
func (QValueKind) IsArray ¶
func (kind QValueKind) IsArray() bool
type QValueMacaddr ¶
type QValueMacaddr struct {
Val string
}
func (QValueMacaddr) Kind ¶
func (QValueMacaddr) Kind() QValueKind
func (QValueMacaddr) Value ¶
func (v QValueMacaddr) Value() any
type QValueNull ¶
type QValueNull QValueKind
func (QValueNull) Kind ¶
func (v QValueNull) Kind() QValueKind
func (QValueNull) Value ¶
func (QValueNull) Value() any
type QValueNumeric ¶
func (QValueNumeric) Kind ¶
func (QValueNumeric) Kind() QValueKind
func (QValueNumeric) Value ¶
func (v QValueNumeric) Value() any
type QValuePoint ¶
type QValuePoint struct {
Val string
}
func (QValuePoint) Kind ¶
func (QValuePoint) Kind() QValueKind
func (QValuePoint) Value ¶
func (v QValuePoint) Value() any
type QValueQChar ¶
type QValueQChar struct {
Val uint8
}
func (QValueQChar) Kind ¶
func (QValueQChar) Kind() QValueKind
func (QValueQChar) Value ¶
func (v QValueQChar) Value() any
type QValueString ¶
type QValueString struct {
Val string
}
func NumericToStringValueConversion ¶
func NumericToStringValueConversion(val QValueNumeric) QValueString
func (QValueString) Kind ¶
func (QValueString) Kind() QValueKind
func (QValueString) Value ¶
func (v QValueString) Value() any
type QValueTime ¶
func (QValueTime) Kind ¶
func (QValueTime) Kind() QValueKind
func (QValueTime) Value ¶
func (v QValueTime) Value() any
type QValueTimeTZ ¶
func (QValueTimeTZ) Kind ¶
func (QValueTimeTZ) Kind() QValueKind
func (QValueTimeTZ) Value ¶
func (v QValueTimeTZ) Value() any
type QValueTimestamp ¶
func (QValueTimestamp) Kind ¶
func (QValueTimestamp) Kind() QValueKind
func (QValueTimestamp) Value ¶
func (v QValueTimestamp) Value() any
type QValueTimestampTZ ¶
func (QValueTimestampTZ) Kind ¶
func (QValueTimestampTZ) Kind() QValueKind
func (QValueTimestampTZ) Value ¶
func (v QValueTimestampTZ) Value() any
type QValueUInt16 ¶
type QValueUInt16 struct {
Val uint16
}
func (QValueUInt16) Kind ¶
func (QValueUInt16) Kind() QValueKind
func (QValueUInt16) Value ¶
func (v QValueUInt16) Value() any
type QValueUInt256 ¶
func NumericToUInt256ValueConversion ¶
func NumericToUInt256ValueConversion(val QValueNumeric) QValueUInt256
func (QValueUInt256) Kind ¶
func (QValueUInt256) Kind() QValueKind
func (QValueUInt256) Value ¶
func (v QValueUInt256) Value() any
type QValueUInt32 ¶
type QValueUInt32 struct {
Val uint32
}
func (QValueUInt32) Kind ¶
func (QValueUInt32) Kind() QValueKind
func (QValueUInt32) Value ¶
func (v QValueUInt32) Value() any
type QValueUInt64 ¶
type QValueUInt64 struct {
Val uint64
}
func (QValueUInt64) Kind ¶
func (QValueUInt64) Kind() QValueKind
func (QValueUInt64) Value ¶
func (v QValueUInt64) Value() any
type QValueUInt8 ¶
type QValueUInt8 struct {
Val uint8
}
func (QValueUInt8) Kind ¶
func (QValueUInt8) Kind() QValueKind
func (QValueUInt8) Value ¶
func (v QValueUInt8) Value() any
type QValueUUID ¶
func (QValueUUID) Kind ¶
func (QValueUUID) Kind() QValueKind
func (QValueUUID) Value ¶
func (v QValueUUID) Value() any
type TableDebug ¶
type TableDebug struct {
TableName string
SchemaName string
OID uint32
ParentOID uint32 // 0 if no parent
}
TableDebug captures table metadata including parent OID for debugging
type TypeConversion ¶
type TypeConversion interface {
SchemaConversion(QField) QField
ValueConversion(QValue) QValue
FromKind() QValueKind
}
type TypeConversionImpl ¶
type TypeConversionImpl[TFrom QValue, TTo QValue] struct { SchemaConversionFn func(QField) QField ValueConversionFn func(TFrom) TTo }
func NewTypeConversion ¶
func NewTypeConversion[TFrom QValue, TTo QValue]( schemaConversionFn func(QField) QField, valueConversionFn func(TFrom) TTo, ) TypeConversionImpl[TFrom, TTo]
func (TypeConversionImpl[TFrom, TTo]) FromKind ¶
func (tc TypeConversionImpl[TFrom, TTo]) FromKind() QValueKind
func (TypeConversionImpl[TFrom, TTo]) SchemaConversion ¶
func (tc TypeConversionImpl[TFrom, TTo]) SchemaConversion(field QField) QField
func (TypeConversionImpl[TFrom, TTo]) ValueConversion ¶
func (tc TypeConversionImpl[TFrom, TTo]) ValueConversion(val QValue) QValue
Click to show internal directories.
Click to hide internal directories.