Documentation
¶
Overview ¶
Package sqltypes 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
- func (a SqlBoolArray) MarshalJSON() ([]byte, error)
- func (a SqlBoolArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlBoolArray) MarshalYAML() (any, error)
- func (a *SqlBoolArray) Scan(value any) error
- func (a *SqlBoolArray) UnmarshalJSON(b []byte) error
- func (a *SqlBoolArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlBoolArray) UnmarshalYAML(value *yaml.Node) error
- func (a SqlBoolArray) Value() (driver.Value, error)
- type SqlByteArray
- type SqlDate
- func (d SqlDate) MarshalJSON() ([]byte, error)
- func (d SqlDate) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (d SqlDate) MarshalYAML() (any, error)
- func (d SqlDate) String() string
- func (d *SqlDate) UnmarshalJSON(b []byte) error
- func (d *SqlDate) UnmarshalXML(dec *xml.Decoder, start xml.StartElement) error
- func (d *SqlDate) UnmarshalYAML(value *yaml.Node) error
- func (d SqlDate) Value() (driver.Value, error)
- type SqlFloat32
- type SqlFloat32Array
- func (a SqlFloat32Array) MarshalJSON() ([]byte, error)
- func (a SqlFloat32Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlFloat32Array) MarshalYAML() (any, error)
- func (a *SqlFloat32Array) Scan(value any) error
- func (a *SqlFloat32Array) UnmarshalJSON(b []byte) error
- func (a *SqlFloat32Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlFloat32Array) UnmarshalYAML(value *yaml.Node) error
- func (a SqlFloat32Array) Value() (driver.Value, error)
- type SqlFloat64
- type SqlFloat64Array
- func (a SqlFloat64Array) MarshalJSON() ([]byte, error)
- func (a SqlFloat64Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlFloat64Array) MarshalYAML() (any, error)
- func (a *SqlFloat64Array) Scan(value any) error
- func (a *SqlFloat64Array) UnmarshalJSON(b []byte) error
- func (a *SqlFloat64Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlFloat64Array) UnmarshalYAML(value *yaml.Node) error
- func (a SqlFloat64Array) Value() (driver.Value, error)
- type SqlInt16
- type SqlInt16Array
- func (a SqlInt16Array) MarshalJSON() ([]byte, error)
- func (a SqlInt16Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlInt16Array) MarshalYAML() (any, error)
- func (a *SqlInt16Array) Scan(value any) error
- func (a *SqlInt16Array) UnmarshalJSON(b []byte) error
- func (a *SqlInt16Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlInt16Array) UnmarshalYAML(value *yaml.Node) error
- func (a SqlInt16Array) Value() (driver.Value, error)
- type SqlInt32
- type SqlInt32Array
- func (a SqlInt32Array) MarshalJSON() ([]byte, error)
- func (a SqlInt32Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlInt32Array) MarshalYAML() (any, error)
- func (a *SqlInt32Array) Scan(value any) error
- func (a *SqlInt32Array) UnmarshalJSON(b []byte) error
- func (a *SqlInt32Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlInt32Array) UnmarshalYAML(value *yaml.Node) error
- func (a SqlInt32Array) Value() (driver.Value, error)
- type SqlInt64
- type SqlInt64Array
- func (a SqlInt64Array) MarshalJSON() ([]byte, error)
- func (a SqlInt64Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlInt64Array) MarshalYAML() (any, error)
- func (a *SqlInt64Array) Scan(value any) error
- func (a *SqlInt64Array) UnmarshalJSON(b []byte) error
- func (a *SqlInt64Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlInt64Array) UnmarshalYAML(value *yaml.Node) error
- func (a SqlInt64Array) Value() (driver.Value, error)
- type SqlJSON
- type SqlJSONB
- func (n SqlJSONB) AsMap() (map[string]any, error)
- func (n SqlJSONB) AsSlice() ([]any, error)
- func (n SqlJSONB) MarshalJSON() ([]byte, error)
- func (n SqlJSONB) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (n SqlJSONB) MarshalYAML() (any, error)
- func (n *SqlJSONB) Scan(value any) error
- func (n *SqlJSONB) UnmarshalJSON(b []byte) error
- func (n *SqlJSONB) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (n *SqlJSONB) UnmarshalYAML(value *yaml.Node) error
- func (n SqlJSONB) Value() (driver.Value, error)
- 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]) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (n SqlNull[T]) MarshalYAML() (any, 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]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (n *SqlNull[T]) UnmarshalYAML(value *yaml.Node) error
- func (n SqlNull[T]) Value() (driver.Value, error)
- type SqlString
- type SqlStringArray
- func (a SqlStringArray) MarshalJSON() ([]byte, error)
- func (a SqlStringArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlStringArray) MarshalYAML() (any, error)
- func (a *SqlStringArray) Scan(value any) error
- func (a *SqlStringArray) UnmarshalJSON(b []byte) error
- func (a *SqlStringArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlStringArray) UnmarshalYAML(value *yaml.Node) error
- func (a SqlStringArray) Value() (driver.Value, error)
- type SqlTime
- func (t SqlTime) MarshalJSON() ([]byte, error)
- func (t SqlTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (t SqlTime) MarshalYAML() (any, error)
- func (t SqlTime) String() string
- func (t *SqlTime) UnmarshalJSON(b []byte) error
- func (t *SqlTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (t *SqlTime) UnmarshalYAML(value *yaml.Node) error
- func (t SqlTime) Value() (driver.Value, error)
- type SqlTimeStamp
- func (t SqlTimeStamp) MarshalJSON() ([]byte, error)
- func (t SqlTimeStamp) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (t SqlTimeStamp) MarshalYAML() (any, error)
- func (t *SqlTimeStamp) UnmarshalJSON(b []byte) error
- func (t *SqlTimeStamp) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (t *SqlTimeStamp) UnmarshalYAML(value *yaml.Node) error
- func (t SqlTimeStamp) Value() (driver.Value, error)
- type SqlUUID
- type SqlUUIDArray
- func (a SqlUUIDArray) MarshalJSON() ([]byte, error)
- func (a SqlUUIDArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (a SqlUUIDArray) MarshalYAML() (any, error)
- func (a *SqlUUIDArray) Scan(value any) error
- func (a *SqlUUIDArray) UnmarshalJSON(b []byte) error
- func (a *SqlUUIDArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (a *SqlUUIDArray) UnmarshalYAML(value *yaml.Node) error
- func (a SqlUUIDArray) Value() (driver.Value, error)
- type SqlVector
- func (v SqlVector) MarshalJSON() ([]byte, error)
- func (v SqlVector) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (v SqlVector) MarshalYAML() (any, error)
- func (v *SqlVector) Scan(value any) error
- func (v *SqlVector) UnmarshalJSON(b []byte) error
- func (v *SqlVector) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
- func (v *SqlVector) UnmarshalYAML(value *yaml.Node) error
- func (v SqlVector) Value() (driver.Value, error)
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 ¶
func NewSqlBoolArray ¶
func NewSqlBoolArray(v []bool) SqlBoolArray
func (SqlBoolArray) MarshalJSON ¶
func (a SqlBoolArray) MarshalJSON() ([]byte, error)
func (SqlBoolArray) MarshalXML ¶
func (a SqlBoolArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlBoolArray) MarshalYAML ¶
func (a SqlBoolArray) MarshalYAML() (any, error)
func (*SqlBoolArray) Scan ¶
func (a *SqlBoolArray) Scan(value any) error
func (*SqlBoolArray) UnmarshalJSON ¶
func (a *SqlBoolArray) UnmarshalJSON(b []byte) error
func (*SqlBoolArray) UnmarshalXML ¶
func (a *SqlBoolArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlBoolArray) UnmarshalYAML ¶
func (a *SqlBoolArray) UnmarshalYAML(value *yaml.Node) error
type SqlByteArray ¶
Type aliases for common types.
func NewSqlByteArray ¶
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) MarshalXML ¶
func (SqlDate) MarshalYAML ¶
func (*SqlDate) UnmarshalJSON ¶
func (*SqlDate) UnmarshalXML ¶
type SqlFloat32 ¶
Type aliases for common types.
func NewSqlFloat32 ¶
func NewSqlFloat32(v float32) SqlFloat32
type SqlFloat32Array ¶
func NewSqlFloat32Array ¶
func NewSqlFloat32Array(v []float32) SqlFloat32Array
func (SqlFloat32Array) MarshalJSON ¶
func (a SqlFloat32Array) MarshalJSON() ([]byte, error)
func (SqlFloat32Array) MarshalXML ¶
func (a SqlFloat32Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlFloat32Array) MarshalYAML ¶
func (a SqlFloat32Array) MarshalYAML() (any, error)
func (*SqlFloat32Array) Scan ¶
func (a *SqlFloat32Array) Scan(value any) error
func (*SqlFloat32Array) UnmarshalJSON ¶
func (a *SqlFloat32Array) UnmarshalJSON(b []byte) error
func (*SqlFloat32Array) UnmarshalXML ¶
func (a *SqlFloat32Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlFloat32Array) UnmarshalYAML ¶
func (a *SqlFloat32Array) UnmarshalYAML(value *yaml.Node) error
type SqlFloat64 ¶
Type aliases for common types.
func NewSqlFloat64 ¶
func NewSqlFloat64(v float64) SqlFloat64
type SqlFloat64Array ¶
func NewSqlFloat64Array ¶
func NewSqlFloat64Array(v []float64) SqlFloat64Array
func (SqlFloat64Array) MarshalJSON ¶
func (a SqlFloat64Array) MarshalJSON() ([]byte, error)
func (SqlFloat64Array) MarshalXML ¶
func (a SqlFloat64Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlFloat64Array) MarshalYAML ¶
func (a SqlFloat64Array) MarshalYAML() (any, error)
func (*SqlFloat64Array) Scan ¶
func (a *SqlFloat64Array) Scan(value any) error
func (*SqlFloat64Array) UnmarshalJSON ¶
func (a *SqlFloat64Array) UnmarshalJSON(b []byte) error
func (*SqlFloat64Array) UnmarshalXML ¶
func (a *SqlFloat64Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlFloat64Array) UnmarshalYAML ¶
func (a *SqlFloat64Array) UnmarshalYAML(value *yaml.Node) error
type SqlInt16Array ¶
func NewSqlInt16Array ¶
func NewSqlInt16Array(v []int16) SqlInt16Array
func (SqlInt16Array) MarshalJSON ¶
func (a SqlInt16Array) MarshalJSON() ([]byte, error)
func (SqlInt16Array) MarshalXML ¶
func (a SqlInt16Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlInt16Array) MarshalYAML ¶
func (a SqlInt16Array) MarshalYAML() (any, error)
func (*SqlInt16Array) Scan ¶
func (a *SqlInt16Array) Scan(value any) error
func (*SqlInt16Array) UnmarshalJSON ¶
func (a *SqlInt16Array) UnmarshalJSON(b []byte) error
func (*SqlInt16Array) UnmarshalXML ¶
func (a *SqlInt16Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlInt16Array) UnmarshalYAML ¶
func (a *SqlInt16Array) UnmarshalYAML(value *yaml.Node) error
type SqlInt32Array ¶
func NewSqlInt32Array ¶
func NewSqlInt32Array(v []int32) SqlInt32Array
func (SqlInt32Array) MarshalJSON ¶
func (a SqlInt32Array) MarshalJSON() ([]byte, error)
func (SqlInt32Array) MarshalXML ¶
func (a SqlInt32Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlInt32Array) MarshalYAML ¶
func (a SqlInt32Array) MarshalYAML() (any, error)
func (*SqlInt32Array) Scan ¶
func (a *SqlInt32Array) Scan(value any) error
func (*SqlInt32Array) UnmarshalJSON ¶
func (a *SqlInt32Array) UnmarshalJSON(b []byte) error
func (*SqlInt32Array) UnmarshalXML ¶
func (a *SqlInt32Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlInt32Array) UnmarshalYAML ¶
func (a *SqlInt32Array) UnmarshalYAML(value *yaml.Node) error
type SqlInt64Array ¶
func NewSqlInt64Array ¶
func NewSqlInt64Array(v []int64) SqlInt64Array
func (SqlInt64Array) MarshalJSON ¶
func (a SqlInt64Array) MarshalJSON() ([]byte, error)
func (SqlInt64Array) MarshalXML ¶
func (a SqlInt64Array) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlInt64Array) MarshalYAML ¶
func (a SqlInt64Array) MarshalYAML() (any, error)
func (*SqlInt64Array) Scan ¶
func (a *SqlInt64Array) Scan(value any) error
func (*SqlInt64Array) UnmarshalJSON ¶
func (a *SqlInt64Array) UnmarshalJSON(b []byte) error
func (*SqlInt64Array) UnmarshalXML ¶
func (a *SqlInt64Array) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlInt64Array) UnmarshalYAML ¶
func (a *SqlInt64Array) UnmarshalYAML(value *yaml.Node) error
type SqlJSON ¶
type SqlJSON = SqlJSONB
SqlJSON - Nullable JSON as []byte. PostgreSQL's json and jsonb types share the same textual representation and Go marshalling behavior, differing only in server-side storage, so SqlJSON is an alias of SqlJSONB.
type SqlJSONB ¶
type SqlJSONB []byte
SqlJSONB - Nullable JSONB as []byte.
func (SqlJSONB) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (SqlJSONB) MarshalXML ¶
MarshalXML implements xml.Marshaler. JSON has no clean structural mapping to XML, so the raw JSON text is emitted as the element's text content.
func (SqlJSONB) MarshalYAML ¶
MarshalYAML implements yaml.Marshaler. The underlying JSON is decoded into a generic value first so it renders as native YAML mappings/sequences rather than an embedded JSON string.
func (*SqlJSONB) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
func (*SqlJSONB) UnmarshalXML ¶
UnmarshalXML implements xml.Unmarshaler, reading back the raw JSON text written by MarshalXML.
func (*SqlJSONB) UnmarshalYAML ¶
UnmarshalYAML implements yaml.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]) MarshalXML ¶
MarshalXML implements xml.Marshaler.
func (SqlNull[T]) MarshalYAML ¶
MarshalYAML implements yaml.Marshaler.
func (*SqlNull[T]) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
func (*SqlNull[T]) UnmarshalXML ¶
UnmarshalXML implements xml.Unmarshaler.
XML has no native null representation, so an empty element unmarshals to an invalid (null) value rather than a zero-value-but-valid one.
func (*SqlNull[T]) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler.
type SqlStringArray ¶
SqlStringArray is a nullable PostgreSQL text[] / varchar[] array.
func NewSqlStringArray ¶
func NewSqlStringArray(v []string) SqlStringArray
func (SqlStringArray) MarshalJSON ¶
func (a SqlStringArray) MarshalJSON() ([]byte, error)
func (SqlStringArray) MarshalXML ¶
func (a SqlStringArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlStringArray) MarshalYAML ¶
func (a SqlStringArray) MarshalYAML() (any, error)
func (*SqlStringArray) Scan ¶
func (a *SqlStringArray) Scan(value any) error
func (*SqlStringArray) UnmarshalJSON ¶
func (a *SqlStringArray) UnmarshalJSON(b []byte) error
func (*SqlStringArray) UnmarshalXML ¶
func (a *SqlStringArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlStringArray) UnmarshalYAML ¶
func (a *SqlStringArray) UnmarshalYAML(value *yaml.Node) error
type SqlTime ¶
SqlTime - Time only (HH:MM:SS).
func NewSqlTime ¶
func SqlTimeNow ¶
func SqlTimeNow() SqlTime
func (SqlTime) MarshalJSON ¶
func (SqlTime) MarshalXML ¶
func (SqlTime) MarshalYAML ¶
func (*SqlTime) UnmarshalJSON ¶
func (*SqlTime) UnmarshalXML ¶
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) MarshalXML ¶
func (t SqlTimeStamp) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlTimeStamp) MarshalYAML ¶
func (t SqlTimeStamp) MarshalYAML() (any, error)
func (*SqlTimeStamp) UnmarshalJSON ¶
func (t *SqlTimeStamp) UnmarshalJSON(b []byte) error
func (*SqlTimeStamp) UnmarshalXML ¶
func (t *SqlTimeStamp) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlTimeStamp) UnmarshalYAML ¶
func (t *SqlTimeStamp) UnmarshalYAML(value *yaml.Node) error
type SqlUUIDArray ¶
func NewSqlUUIDArray ¶
func NewSqlUUIDArray(v []uuid.UUID) SqlUUIDArray
func (SqlUUIDArray) MarshalJSON ¶
func (a SqlUUIDArray) MarshalJSON() ([]byte, error)
func (SqlUUIDArray) MarshalXML ¶
func (a SqlUUIDArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error
func (SqlUUIDArray) MarshalYAML ¶
func (a SqlUUIDArray) MarshalYAML() (any, error)
func (*SqlUUIDArray) Scan ¶
func (a *SqlUUIDArray) Scan(value any) error
func (*SqlUUIDArray) UnmarshalJSON ¶
func (a *SqlUUIDArray) UnmarshalJSON(b []byte) error
func (*SqlUUIDArray) UnmarshalXML ¶
func (a *SqlUUIDArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
func (*SqlUUIDArray) UnmarshalYAML ¶
func (a *SqlUUIDArray) UnmarshalYAML(value *yaml.Node) error
type SqlVector ¶
SqlVector is a nullable pgvector `vector` type backed by []float32. Wire format: `[1.0,2.0,3.0]` (square brackets, comma-separated floats).