Documentation
¶
Overview ¶
Package spectypes provides nullable SQL types with automatic casting and conversion methods.
Index ¶
- func ToJSONDT(dt time.Time) string
- func TryIfInt64(v any, def int64) int64
- type SqlBool
- type SqlBoolArray
- type SqlByteArray
- type SqlDate
- type SqlFloat32Array
- type SqlFloat64
- type SqlFloat64Array
- type SqlInt16
- type SqlInt16Array
- type SqlInt32
- type SqlInt32Array
- type SqlInt64
- type SqlInt64Array
- type SqlJSONB
- type SqlNull
- func (n SqlNull[T]) Bool() bool
- func (n SqlNull[T]) Float64() float64
- func (n *SqlNull[T]) FromString(s string) error
- func (n SqlNull[T]) Int64() int64
- func (n SqlNull[T]) MarshalJSON() ([]byte, error)
- func (n *SqlNull[T]) Scan(value any) error
- func (n SqlNull[T]) String() string
- func (n SqlNull[T]) Time() time.Time
- func (n SqlNull[T]) UUID() uuid.UUID
- func (n *SqlNull[T]) UnmarshalJSON(b []byte) error
- func (n SqlNull[T]) Value() (driver.Value, error)
- type SqlString
- type SqlStringArray
- type SqlTime
- type SqlTimeStamp
- type SqlUUID
- type SqlUUIDArray
- type SqlVector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TryIfInt64 ¶
TryIfInt64 tries to parse any value to int64 with default.
Types ¶
type SqlBoolArray ¶ added in v1.0.87
func NewSqlBoolArray ¶ added in v1.0.87
func NewSqlBoolArray(v []bool) SqlBoolArray
func (SqlBoolArray) MarshalJSON ¶ added in v1.0.87
func (a SqlBoolArray) MarshalJSON() ([]byte, error)
func (*SqlBoolArray) Scan ¶ added in v1.0.87
func (a *SqlBoolArray) Scan(value any) error
func (*SqlBoolArray) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlBoolArray) UnmarshalJSON(b []byte) error
type SqlByteArray ¶ added in v1.0.44
Type aliases for common types.
func NewSqlByteArray ¶ added in v1.0.44
func NewSqlByteArray(v []byte) SqlByteArray
type SqlDate ¶
SqlDate - Date only (YYYY-MM-DD).
func NewSqlDate ¶
func SqlDateNow ¶
func SqlDateNow() SqlDate
func (SqlDate) MarshalJSON ¶
func (*SqlDate) UnmarshalJSON ¶
type SqlFloat32Array ¶ added in v1.0.87
func NewSqlFloat32Array ¶ added in v1.0.87
func NewSqlFloat32Array(v []float32) SqlFloat32Array
func (SqlFloat32Array) MarshalJSON ¶ added in v1.0.87
func (a SqlFloat32Array) MarshalJSON() ([]byte, error)
func (*SqlFloat32Array) Scan ¶ added in v1.0.87
func (a *SqlFloat32Array) Scan(value any) error
func (*SqlFloat32Array) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlFloat32Array) UnmarshalJSON(b []byte) error
type SqlFloat64 ¶
Type aliases for common types.
func NewSqlFloat64 ¶
func NewSqlFloat64(v float64) SqlFloat64
type SqlFloat64Array ¶ added in v1.0.87
func NewSqlFloat64Array ¶ added in v1.0.87
func NewSqlFloat64Array(v []float64) SqlFloat64Array
func (SqlFloat64Array) MarshalJSON ¶ added in v1.0.87
func (a SqlFloat64Array) MarshalJSON() ([]byte, error)
func (*SqlFloat64Array) Scan ¶ added in v1.0.87
func (a *SqlFloat64Array) Scan(value any) error
func (*SqlFloat64Array) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlFloat64Array) UnmarshalJSON(b []byte) error
type SqlInt16Array ¶ added in v1.0.87
func NewSqlInt16Array ¶ added in v1.0.87
func NewSqlInt16Array(v []int16) SqlInt16Array
func (SqlInt16Array) MarshalJSON ¶ added in v1.0.87
func (a SqlInt16Array) MarshalJSON() ([]byte, error)
func (*SqlInt16Array) Scan ¶ added in v1.0.87
func (a *SqlInt16Array) Scan(value any) error
func (*SqlInt16Array) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlInt16Array) UnmarshalJSON(b []byte) error
type SqlInt32Array ¶ added in v1.0.87
func NewSqlInt32Array ¶ added in v1.0.87
func NewSqlInt32Array(v []int32) SqlInt32Array
func (SqlInt32Array) MarshalJSON ¶ added in v1.0.87
func (a SqlInt32Array) MarshalJSON() ([]byte, error)
func (*SqlInt32Array) Scan ¶ added in v1.0.87
func (a *SqlInt32Array) Scan(value any) error
func (*SqlInt32Array) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlInt32Array) UnmarshalJSON(b []byte) error
type SqlInt64Array ¶ added in v1.0.87
func NewSqlInt64Array ¶ added in v1.0.87
func NewSqlInt64Array(v []int64) SqlInt64Array
func (SqlInt64Array) MarshalJSON ¶ added in v1.0.87
func (a SqlInt64Array) MarshalJSON() ([]byte, error)
func (*SqlInt64Array) Scan ¶ added in v1.0.87
func (a *SqlInt64Array) Scan(value any) error
func (*SqlInt64Array) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlInt64Array) UnmarshalJSON(b []byte) error
type SqlJSONB ¶
type SqlJSONB []byte
SqlJSONB - Nullable JSONB as []byte.
func (SqlJSONB) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*SqlJSONB) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type SqlNull ¶
SqlNull is a generic nullable type that behaves like sql.NullXXX with auto-casting.
func (*SqlNull[T]) FromString ¶
func (SqlNull[T]) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*SqlNull[T]) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type SqlStringArray ¶ added in v1.0.87
SqlStringArray is a nullable PostgreSQL text[] / varchar[] array.
func NewSqlStringArray ¶ added in v1.0.87
func NewSqlStringArray(v []string) SqlStringArray
func (SqlStringArray) MarshalJSON ¶ added in v1.0.87
func (a SqlStringArray) MarshalJSON() ([]byte, error)
func (*SqlStringArray) Scan ¶ added in v1.0.87
func (a *SqlStringArray) Scan(value any) error
func (*SqlStringArray) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlStringArray) UnmarshalJSON(b []byte) error
type SqlTime ¶
SqlTime - Time only (HH:MM:SS).
func NewSqlTime ¶
func SqlTimeNow ¶
func SqlTimeNow() SqlTime
func (SqlTime) MarshalJSON ¶
func (*SqlTime) UnmarshalJSON ¶
type SqlTimeStamp ¶
SqlTimeStamp - Timestamp with custom formatting (YYYY-MM-DDTHH:MM:SS).
func NewSqlTimeStamp ¶
func NewSqlTimeStamp(v time.Time) SqlTimeStamp
func SqlTimeStampNow ¶
func SqlTimeStampNow() SqlTimeStamp
func (SqlTimeStamp) MarshalJSON ¶
func (t SqlTimeStamp) MarshalJSON() ([]byte, error)
func (*SqlTimeStamp) UnmarshalJSON ¶
func (t *SqlTimeStamp) UnmarshalJSON(b []byte) error
type SqlUUIDArray ¶ added in v1.0.87
func NewSqlUUIDArray ¶ added in v1.0.87
func NewSqlUUIDArray(v []uuid.UUID) SqlUUIDArray
func (SqlUUIDArray) MarshalJSON ¶ added in v1.0.87
func (a SqlUUIDArray) MarshalJSON() ([]byte, error)
func (*SqlUUIDArray) Scan ¶ added in v1.0.87
func (a *SqlUUIDArray) Scan(value any) error
func (*SqlUUIDArray) UnmarshalJSON ¶ added in v1.0.87
func (a *SqlUUIDArray) UnmarshalJSON(b []byte) error
type SqlVector ¶ added in v1.0.87
SqlVector is a nullable pgvector `vector` type backed by []float32. Wire format: `[1.0,2.0,3.0]` (square brackets, comma-separated floats).