Documentation ¶
Index ¶
- func ArgFunc(fn func() (any, error)) litsql.Argument
- func Build(q litsql.Query, options ...BuildOption) (string, []any, error)
- func DBNamedArg(name string, options ...ArgOption) litsql.Argument
- func NamedArg(name string, options ...ArgOption) litsql.Argument
- func NewWriter(w io.Writer, options ...WriterOption) litsql.Writer
- func ParseArgs(args []any, values litsql.ArgValues) ([]any, error)
- type ArgOption
- type BuildOption
- type BuildQuery
- type Handler
- type HandlerOption
- type MapArgValues
- type Mod
- type ModTag
- type ModTagImpl
- type Query
- type QueryMod
- type QueryModApply
- type WriterOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DBNamedArg ¶ added in v0.5.7
DBNamedArg adds a DB-native named argument (for databases that support it). The end value will be wrapped in [sql.Named].
func NewWriter ¶ added in v0.3.0
func NewWriter(w io.Writer, options ...WriterOption) litsql.Writer
NewWriter creates the default implementation if litsql.Writer.
func ParseArgs ¶ added in v0.3.0
ParseArgs replaces all litsql.Argument instances in args with named values. Use litsql.MapArgValues to use a "map[string]any" as source.
Types ¶
type ArgOption ¶ added in v0.5.7
type ArgOption func(options *argOptions)
func WithDefaultValue ¶ added in v0.5.7
WithDefaultValue sets a default value if the argument name was not passed.
type BuildOption ¶ added in v0.7.0
type BuildOption = internal.BuildQueryOption
func WithParseArgs ¶ added in v0.6.0
func WithParseArgs(argValues litsql.ArgValues) BuildOption
WithParseArgs adds named argument values.
func WithWriterOptions ¶ added in v0.6.0
func WithWriterOptions(writerOptions ...WriterOption) BuildOption
WithWriterOptions adds writer options.
type BuildQuery ¶ added in v0.3.0
type BuildQuery interface {
Build(options ...BuildOption) (string, []any, error)
}
BuildQuery builds query strings and arguments.
type Handler ¶ added in v0.7.0
type Handler interface { Build(q litsql.Query, options ...BuildOption) (string, []any, error) ParseArgs(args []any, values litsql.ArgValues) ([]any, error) }
Handler bundles default parameters for functions.
func NewHandler ¶ added in v0.7.0
func NewHandler(options ...HandlerOption) Handler
type HandlerOption ¶ added in v0.7.0
type HandlerOption func(h *handler)
func WithDefaultBuildOptions ¶ added in v0.7.0
func WithDefaultBuildOptions(options ...BuildOption) HandlerOption
WithDefaultBuildOptions sets default options for [Handler.Build].
type MapArgValues ¶ added in v0.3.0
MapArgValues is a litsql.ArgValues backed from a map[string]any.
type ModTag ¶
type ModTag[T any] interface { // contains filtered or unexported methods }
ModTag is used just for interface tagging, so implementations for each dialect aren't accept on others.
type ModTagImpl ¶
type ModTagImpl[T any] struct { }
type Query ¶
type Query[T any] interface { litsql.QueryBuilder litsql.Query QueryModApply[T] BuildQuery }
Query is the interface for base queries.
type QueryMod ¶
type QueryMod[T any] interface { ModTag[T] Apply(qb litsql.QueryBuilder) }
QueryMod is a mod for litsql.QueryBuilder.
func QueryModFunc ¶
func QueryModFunc[T any](f func(apply litsql.QueryBuilder)) QueryMod[T]
type QueryModApply ¶
type WriterOption ¶ added in v0.3.0
type WriterOption = internal.WriterOption
func WithIndentString ¶ added in v0.6.0
func WithIndentString(indentString string) WriterOption
WithIndentString sets the indent string (used only if WithUseNewLine is true). Default is " " (two spaces).
func WithUseNewLine ¶ added in v0.6.0
func WithUseNewLine(useNewLine bool) WriterOption
WithUseNewLine sets whether to use newlines in the output or not. Default is true.