Documentation ¶
Overview ¶
Package sqlutil provides some helpers for SQL databases.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bool ¶
type Bool bool
Bool add the capability to handle more column types than the usual sql driver. The following types are supported when reading the data:
- int64 and float64 - 0 for false, true otherwise
- bool
- []byte and string - "1" or "true" for true, and "0" or "false" for false. Also handles the 1 bit cases.
- nil - defaults to false
It is also prepared to be encoded and decoded to a human readable format.
func (Bool) MarshalText ¶
MarshalText converts the bool to a human readable representation, that is also compatible with the JSON format.
func (*Bool) Scan ¶
Scan converts the different types of representation of a boolean in the database into a bool type.
func (*Bool) UnmarshalText ¶
UnmarshalText parse different types of human representation of the boolean and convert it to the bool type. It is also compatible with the JSON format.
type HTML ¶
HTML is a string which indicates that the string has been HTML-escaped.
type IntList ¶
type IntList []int64
IntList expands comma-separated values from a column to []int64, and stores []int64 as a comma-separated string.
This is safe for NULL values, in which case it will scan in to IntList(nil).
type StringList ¶
type StringList []string
StringList expands comma-separated values from a column to []string, and stores []string as a comma-separated string.
Note that this only works for simple strings (e.g. enums), we DO NOT escape commas in strings and you will run in to problems.
This is safe for NULL values, in which case it will scan in to StringList(nil).
func (*StringList) Scan ¶
func (l *StringList) Scan(v interface{}) error
Scan converts the data returned from the DB into the struct.