builder

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const DateTimeFormat = "2006-01-02 15:04:05"

Variables

This section is empty.

Functions

func ResolveColumnName

func ResolveColumnName(column string) string

func ResolveColumnNameCollections

func ResolveColumnNameCollections(columns []string) []string

func ResolveColumnNameMap

func ResolveColumnNameMap(column map[string]interface{}) map[string]interface{}

func ResolveColumnNameMapInTime

func ResolveColumnNameMapInTime(column map[string][]time.Time) map[string][]time.Time

func ResolveColumnNameMaps

func ResolveColumnNameMaps(columns []map[string]interface{}) []map[string]interface{}

func ResolveColumnNameWithoutBacktick added in v0.0.29

func ResolveColumnNameWithoutBacktick(column string) string

Types

type Builder

type Builder interface {
	Insert(data map[string]interface{}, columns ...string) Builder
	Update(data map[string]interface{}, columns ...string) Builder
	Upsert(data map[string]interface{}, columns ...string) Builder
	Delete() Builder
	Explain() Builder
	Select(field string) Builder
	Table(table string, alias ...string) Builder
	From(table string, alias ...string) Builder
	Join(table string, on string, alias ...string) Builder
	LeftJoin(table string, on string, alias ...string) Builder
	RightJoin(table string, on string, alias ...string) Builder
	Statement(stmt string, values []interface{}) Builder
	In(in map[string]interface{}) Builder
	Exists(other Builder, condition Condition) Builder
	Alias(name string) string
	Compare(conditions []Condition) Builder
	NotEqual(column string, value interface{}) Builder
	Equal(column string, value interface{}) Builder
	BetweenTime(column string, from, to time.Time) Builder
	Page(index int) Builder
	Size(n int) Builder
	Order(order OrderBy) Builder
	Orders(orders []OrderBy) Builder
	Group(column string) Builder
	Groups(column []string) Builder
	And() Builder
	Or() Builder
	Not(Builder) Builder
	Status() (int, int, int)
	Reset(section string) Builder
	Build() (string, []interface{})
}

func New

func New() Builder

type Condition

type Condition struct {
	Operator string
	Key      string
	Value    interface{}
}

type Merge

type Merge struct {
	Track          string //identifier to check duplicates - or condition
	Operation      MergeOperation
	ShouldContinue func(data interface{}) bool
}

type MergeOperation

type MergeOperation int
const (
	Statement MergeOperation = iota
	Identifier
)

type Next added in v0.0.24

type Next struct {
	Column    string
	Direction string
	Value     interface{}
}

type OrderBy added in v0.0.23

type OrderBy struct {
	Column    string
	Direction string
	Fields    []string
}

type QueryParams

type QueryParams struct {
	Object       interface{}
	In           map[string]interface{}
	Notin        map[string]interface{}
	Conditions   []Condition
	Next         *Next
	Page         int
	Size         int
	Orderby      []OrderBy
	Groupby      []string
	ColumnFilter []string
	Priorities   []string
	Merge        *Merge
	BetweenTime  map[string][]time.Time
	IsDistinct   bool
	Name         string
}

func (*QueryParams) Clone

func (q *QueryParams) Clone() QueryParams

type Scanner

type Scanner func(args ...interface{}) error

Jump to

Keyboard shortcuts

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