sqlxx

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func JSONScan

func JSONScan(dst interface{}, value interface{}) error

JSONScan is a generic helper for storing a value as a JSON blob in SQL.

func JSONValue

func JSONValue(src interface{}) (driver.Value, error)

JSONValue is a generic helper for retrieving a SQL JSON-encoded value.

func NamedInsertArguments

func NamedInsertArguments(t interface{}, exclude ...string) (columns string, arguments string)

NamedInsertArguments returns columns and arguments for SQL INSERT statements based on a struct's tags. Does not work with nested structs or maps!

type st struct {
	Foo string `db:"foo"`
	Bar string `db:"bar,omitempty"`
	Baz string `db:"-"`
	Zab string
}
columns, arguments := NamedInsertArguments(new(st))
query := fmt.Sprintf("INSERT INTO foo (%s) VALUES (%s)", columns, arguments)
// INSERT INTO foo (foo, bar) VALUES (:foo, :bar)

func NamedUpdateArguments

func NamedUpdateArguments(t interface{}, exclude ...string) string

NamedUpdateArguments returns columns and arguments for SQL UPDATE statements based on a struct's tags. Does not work with nested structs or maps!

type st struct {
	Foo string `db:"foo"`
	Bar string `db:"bar,omitempty"`
	Baz string `db:"-"`
	Zab string
}
query := fmt.Sprintf("UPDATE foo SET %s", NamedUpdateArguments(new(st)))
// UPDATE foo SET foo=:foo, bar=:bar

Types

type Duration

type Duration time.Duration

Duration represents a JSON and SQL compatible time.Duration. swagger:type string

func (Duration) MarshalJSON

func (ns Duration) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*Duration) UnmarshalJSON

func (ns *Duration) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

type JSONArrayRawMessage

type JSONArrayRawMessage json.RawMessage

JSONArrayRawMessage represents a json.RawMessage which only accepts arrays that works well with JSON, SQL, and Swagger.

func (*JSONArrayRawMessage) Scan

func (m *JSONArrayRawMessage) Scan(value interface{}) error

Scan implements the Scanner interface.

func (JSONArrayRawMessage) Value

func (m JSONArrayRawMessage) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type JSONRawMessage

type JSONRawMessage json.RawMessage

JSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger.

func (JSONRawMessage) MarshalJSON

func (m JSONRawMessage) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*JSONRawMessage) Scan

func (m *JSONRawMessage) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*JSONRawMessage) UnmarshalJSON

func (m *JSONRawMessage) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (JSONRawMessage) Value

func (m JSONRawMessage) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type MapStringInterface

type MapStringInterface map[string]interface{}

MapStringInterface represents a map[string]interface that works well with JSON, SQL, and Swagger.

func (*MapStringInterface) Scan

func (n *MapStringInterface) Scan(value interface{}) error

Scan implements the Scanner interface.

func (MapStringInterface) Value

func (n MapStringInterface) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullBool

type NullBool struct {
	Bool  bool
	Valid bool // Valid is true if Bool is not NULL
}

NullBool represents a bool that may be null. NullBool implements the Scanner interface so swagger:type bool swagger:model nullBool

func (NullBool) MarshalJSON

func (ns NullBool) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullBool) Scan

func (ns *NullBool) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*NullBool) UnmarshalJSON

func (ns *NullBool) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullBool) Value

func (ns NullBool) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullDuration

type NullDuration struct {
	Duration time.Duration
	Valid    bool
}

NullDuration represents a nullable JSON and SQL compatible time.Duration.

swagger:type string swagger:model nullDuration

func (NullDuration) MarshalJSON

func (ns NullDuration) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullDuration) Scan

func (ns *NullDuration) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*NullDuration) UnmarshalJSON

func (ns *NullDuration) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullDuration) Value

func (ns NullDuration) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullInt64

type NullInt64 struct {
	Int   int64
	Valid bool // Valid is true if Duration is not NULL
}

NullInt64 represents an int64 that may be null. swagger:model nullInt64

func (NullInt64) MarshalJSON

func (ns NullInt64) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullInt64) Scan

func (ns *NullInt64) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*NullInt64) UnmarshalJSON

func (ns *NullInt64) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullInt64) Value

func (ns NullInt64) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullJSONRawMessage

type NullJSONRawMessage json.RawMessage

NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-

swagger:model nullJsonRawMessage

func (NullJSONRawMessage) MarshalJSON

func (m NullJSONRawMessage) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullJSONRawMessage) Scan

func (m *NullJSONRawMessage) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*NullJSONRawMessage) UnmarshalJSON

func (m *NullJSONRawMessage) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullJSONRawMessage) Value

func (m NullJSONRawMessage) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullString

type NullString string

swagger:type string swagger:model nullString

func (NullString) MarshalJSON

func (ns NullString) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullString) Scan

func (ns *NullString) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullString) String

func (ns NullString) String() string

String implements the Stringer interface.

func (*NullString) UnmarshalJSON

func (ns *NullString) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullString) Value

func (ns NullString) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTime

type NullTime time.Time

NullTime implements sql.NullTime functionality.

swagger:model nullTime required: false

func (NullTime) MarshalJSON

func (ns NullTime) MarshalJSON() ([]byte, error)

MarshalJSON returns m as the JSON encoding of m.

func (*NullTime) Scan

func (ns *NullTime) Scan(value interface{}) error

Scan implements the Scanner interface.

func (*NullTime) UnmarshalJSON

func (ns *NullTime) UnmarshalJSON(data []byte) error

UnmarshalJSON sets *m to a copy of data.

func (NullTime) Value

func (ns NullTime) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type StringSliceJSONFormat

type StringSliceJSONFormat []string

StringSliceJSONFormat represents []string{} which is encoded to/from JSON for SQL storage.

func (*StringSliceJSONFormat) Scan

func (m *StringSliceJSONFormat) Scan(value interface{}) error

Scan implements the Scanner interface.

func (StringSliceJSONFormat) Value

func (m StringSliceJSONFormat) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type StringSlicePipeDelimiter

type StringSlicePipeDelimiter []string

StringSlicePipeDelimiter de/encodes the string slice to/from a SQL string.

func (*StringSlicePipeDelimiter) Scan

func (n *StringSlicePipeDelimiter) Scan(value interface{}) error

Scan implements the Scanner interface.

func (StringSlicePipeDelimiter) Value

Value implements the driver Valuer interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL