Documentation ¶
Overview ¶
Package types provides some useful types which implement the `sql.Scanner` and `driver.Valuer` interfaces, suitable for use as scan and value targets with database/sql.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BitBool ¶
type BitBool bool
BitBool is an implementation of a bool for the MySQL type BIT(1). This type allows you to avoid wasting an entire byte for MySQL's boolean type TINYINT.
type GzippedText ¶
type GzippedText []byte
GzippedText is a []byte which transparently gzips data being submitted to a database and ungzips data being Scanned from a database.
func (*GzippedText) Scan ¶
func (g *GzippedText) Scan(src interface{}) error
Scan implements the sql.Scanner interface, ungzipping the value coming off the wire and storing the raw result in the GzippedText.
type JSONText ¶
type JSONText json.RawMessage
JSONText is a json.RawMessage, which is a []byte underneath. Value() validates the json format in the source, and returns an error if the json is not valid. Scan does no validation. JSONText additionally implements `Unmarshal`, which unmarshals the json within to an interface{}
func (JSONText) MarshalJSON ¶
MarshalJSON returns the *j as the JSON encoding of j.
func (*JSONText) UnmarshalJSON ¶
UnmarshalJSON sets *j to a copy of data
type NullJSONText ¶
NullJSONText represents a JSONText that may be null. NullJSONText implements the scanner interface so it can be used as a scan destination, similar to NullString.
func (*NullJSONText) Scan ¶
func (n *NullJSONText) Scan(value interface{}) error
Scan implements the Scanner interface.