query

package
v0.0.0-...-3936a7e Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Condition

type Condition struct {
	Column   string
	Operator Operator
	Value    any
	Type     Type
}

type ConditionGroup

type ConditionGroup struct {
	Conditions []Condition
	Type       Type
	SubGroups  []ConditionGroup
}

func NewConditionGroup

func NewConditionGroup() ConditionGroup

func (*ConditionGroup) AddCondition

func (cg *ConditionGroup) AddCondition(column string, op Operator, value any, _type Type) *ConditionGroup

func (*ConditionGroup) AddSubGroup

func (cg *ConditionGroup) AddSubGroup(_type Type) ConditionGroup

func (*ConditionGroup) Build

func (cg *ConditionGroup) Build() (string, []any)

type HavingBuilder

type HavingBuilder struct {
	// contains filtered or unexported fields
}

func NewHavingBuilder

func NewHavingBuilder() HavingBuilder

func (*HavingBuilder) Build

func (b *HavingBuilder) Build() (string, []any)

func (*HavingBuilder) Having

func (b *HavingBuilder) Having(column string, op Operator, value any) *HavingBuilder

func (*HavingBuilder) HavingFunc

func (b *HavingBuilder) HavingFunc(f func(query HavingBuilder)) *HavingBuilder

func (*HavingBuilder) OrHaving

func (b *HavingBuilder) OrHaving(column string, op Operator, value any) *HavingBuilder

func (*HavingBuilder) OrHavingFunc

func (b *HavingBuilder) OrHavingFunc(f func(query HavingBuilder)) *HavingBuilder

type JoinBuilder

type JoinBuilder struct {
	// contains filtered or unexported fields
}

func NewJoinBuilder

func NewJoinBuilder(table string, joinType JoinType) *JoinBuilder

func (*JoinBuilder) Build

func (b *JoinBuilder) Build() string

func (*JoinBuilder) On

func (b *JoinBuilder) On(left, op, right string) *JoinBuilder

b.On("users.id", "=", "orders.user_id")

func (*JoinBuilder) Using

func (b *JoinBuilder) Using(column string) *JoinBuilder

type JoinType

type JoinType string
const (
	JoinTypeInner JoinType = "INNER"
	JoinTypeLeft  JoinType = "LEFT"
	JoinTypeRight JoinType = "RIGHT"
)

type Operator

type Operator string

Operator represent a condition operator.

const (
	Eq      Operator = "="
	Neq     Operator = "!="
	Gt      Operator = ">"
	Lt      Operator = "<"
	Gte     Operator = ">="
	Lte     Operator = "<="
	Like    Operator = "LIKE"
	NotLike Operator = "NOT LIKE"
	Is      Operator = "IS"
	IsNot   Operator = "IS NOT"
	In      Operator = "IN"
	NotIn   Operator = "NOT IN"
)

type SelectQuery

type SelectQuery struct {
	Table    string
	Distinct bool
	Columns  []string
	Where    WhereBuilder
	GroupBy  []string
	Having   HavingBuilder
	OrderBy  []string
	Limit    int
	Offset   *int
	// contains filtered or unexported fields
}

func (*SelectQuery) Build

func (q *SelectQuery) Build() (string, []any)

type Type

type Type string
const (
	TypeAnd  Type = "AND"
	TypeOr   Type = "OR"
	TypeInit Type = ""
)

type WhereBuilder

type WhereBuilder struct {
	// contains filtered or unexported fields
}

func NewWhereBuilder

func NewWhereBuilder() WhereBuilder

func (*WhereBuilder) Build

func (b *WhereBuilder) Build() (string, []any)

func (*WhereBuilder) OrWhere

func (b *WhereBuilder) OrWhere(column string, op Operator, value any) *WhereBuilder

func (*WhereBuilder) OrWhereFunc

func (b *WhereBuilder) OrWhereFunc(f func(query WhereBuilder)) *WhereBuilder

func (*WhereBuilder) Where

func (b *WhereBuilder) Where(column string, op Operator, value any) *WhereBuilder

func (*WhereBuilder) WhereFunc

func (b *WhereBuilder) WhereFunc(f func(query WhereBuilder)) *WhereBuilder

Jump to

Keyboard shortcuts

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