Documentation
¶
Overview ¶
Package obreron es un paquete que permite construir consultas sql dinámicamente
Index ¶
- Constants
- type Dialect
- type Mysql
- type SQLBuilder
- type Select
- func (s *Select) AddColumn(c interface{}, a string) *Select
- func (s *Select) AddColumnIf(cond bool, c interface{}, a string) *Select
- func (s *Select) And(c string) *Select
- func (s *Select) AndIf(cond bool, c string) *Select
- func (s *Select) AndParam(c interface{}, op string, param interface{}) *Select
- func (s *Select) AndParamIf(cond bool, c interface{}, op string, param interface{}) *Select
- func (s *Select) Build() (string, []interface{})
- func (s *Select) CloseEnclose() string
- func (s *Select) From(source interface{}, a string) *Select
- func (s *Select) GroupBy(c string) *Select
- func (s *Select) Having(c string) *Select
- func (s *Select) Inner(c interface{}, a string, on string) *Select
- func (s *Select) InnerIf(cond bool, c interface{}, a string, on string) *Select
- func (s *Select) Left(c interface{}, a string, on string) *Select
- func (s *Select) LeftIf(cond bool, c interface{}, a string, on string) *Select
- func (s *Select) Limit(l int64) *Select
- func (s *Select) Offset(o int64) *Select
- func (s *Select) OpenEnclose() string
- func (s *Select) OrParam(c interface{}, op string, param interface{}) *Select
- func (s *Select) OrderBy(c string) *Select
- func (s *Select) Params() []interface{}
- func (s *Select) Quote(c interface{}) string
- func (s *Select) Reset()
- func (s *Select) Right(c interface{}, a string, on string) *Select
- func (s *Select) RightIF(cond bool, c interface{}, a string, on string) *Select
- func (s *Select) Select(cs ...interface{}) *Select
- func (s *Select) String() string
- func (s *Select) Where() *Select
Constants ¶
const ( // Enclose indica poner un `(` antes del siguiente estamento Enclose = parseOptsMul(1) // NoEnclose indica NO poner un `(` antes del siguiente estamento NoEnclose = parseOptsMul(2) // EncloseOnlyBuilders indica rodear de parentesis solo a SQLBuilders EncloseOnlyBuilders = parseOptsMul(3) // UseAs indica agregar una clausula `AS` antes del alias, si hubiera UseAs = parseOpts(true) // NoUseAs indica NO agregar una clausula `AS` antes del alias, si hubiera NoUseAs = parseOpts(false) // Quote indica si escapar con backticks el siguiente identificador Quote = parseOpts(true) // NoQuote indica NO escapar con backticks el siguiente identificador NoQuote = parseOpts(false) )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dialect ¶
type Dialect interface {
Quote(v interface{}) string
ParamMark() string
OpenEnclose() string
CloseEnclose() string
}
Dialect representa el dialecto de la consulta
type Mysql ¶
type Mysql struct{}
Mysql es un dialecto que permite construir consultas para mysql y mariadb
func (Mysql) CloseEnclose ¶
CloseEnclose Agrega un cierre de parentesis ) la consulta
func (Mysql) OpenEnclose ¶
OpenEnclose Agrega un abre parentesis ( la consulta
type SQLBuilder ¶
SQLBuilder engloba bytes.Buffer y le da el poder de tener dialecto y parámetros
func (*SQLBuilder) AddParam ¶
func (sb *SQLBuilder) AddParam(p ...interface{})
AddParam agrega un paràmetro al SQLBuilder
func (*SQLBuilder) AddParamIf ¶ added in v1.0.1
func (sb *SQLBuilder) AddParamIf(cond bool, p ...interface{})
AddParam agrega un paràmetro al SQLBuilder si cond es verdadera
func (*SQLBuilder) Build ¶
func (sb *SQLBuilder) Build() (string, []interface{})
Build construye la consulta devolviendo una tupla conteniendola en un string y los parámetros registrados para su uso
func (*SQLBuilder) Dialect ¶
func (sb *SQLBuilder) Dialect() Dialect
Dialect devuelve el dialecto de la consulta
func (*SQLBuilder) Params ¶
func (sb *SQLBuilder) Params() []interface{}
Params devuelve el slice de parámetros del SQLBuilder
func (*SQLBuilder) ResetParams ¶
func (sb *SQLBuilder) ResetParams()
ResetParams resetea el slices de parámetros
type Select ¶
type Select struct {
*SQLBuilder
// contains filtered or unexported fields
}
Select es el builder para consultas que tienen datos
func NewMaryBuilder ¶
func NewMaryBuilder() *Select
NewMaryBuilder devuelve un nuevo sql builder listo para trabajar
func (*Select) AddColumn ¶
AddColumn agrega una columna con su alias. la columna c puede ser string u otro SQLBuilder. Puede omitir el alias pasando un string vacio
func (*Select) AddColumnIf ¶
AddColumnIf agrega una columna con su alias si se cumple condición cond. la columna c puede ser string u otro SQLBuilder. Puede omitir el alias pasando un string vacio
func (*Select) And ¶
And Agrega una condición usando conector AND c es un strig conteniendo la condición completa
func (*Select) AndIf ¶
AndIf Agrega una condición usando conector AND solo si cond es true c es un strig conteniendo la condición completa
func (*Select) AndParam ¶
AndParam Agrega una condición usando conector AND c puede ser la condición como string o como un SQLBuilder op es el operador y param el parámetro de la condición
func (*Select) AndParamIf ¶
AndParamIf Agrega una condición usando conector AND solo si cond es true c puede ser la condición como string o como un SQLBuilder op es el operador y param el parámetro de la condición
func (*Select) Build ¶
Build construye la consulta devolviendo una tupla conteniendola en un string y los parámetros registrados para su uso
func (*Select) CloseEnclose ¶
CloseEnclose Agrega un cierre de parentesis ) la consulta
func (*Select) From ¶
From define el origen para obtener los datos de la consulta. Puede ser un string u otro sql builder
func (*Select) Inner ¶
Inner Agrega un inner join a la construcción de la query. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue
func (*Select) InnerIf ¶
InnerIf Agrega un inner join a la construcción de la query si la condición `cond` es verdadera. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue
func (*Select) Left ¶
Left Agrega un left join a la construcción de la query. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue
func (*Select) LeftIf ¶
LeftIf Agrega un left join a la construcción de la query si la condición `cond` es verdadera. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue
func (*Select) Limit ¶
Limit establece el limite de la consulta. Si este valor es -1 no se agregara la clausula OFFSET a la query construida
func (*Select) Offset ¶
Offset establece el offset de la consulta. Si este valor es -1 no se agregara la clausula OFFSET a la query construida
func (*Select) OpenEnclose ¶
OpenEnclose Agrega un abre parentesis ( la consulta
func (*Select) OrParam ¶
OrParam Agrega una condición usando conector AND c puede ser la condición como string o como un SQLBuilder op es el operador y param el parámetro de la condición
func (*Select) Params ¶
func (s *Select) Params() []interface{}
Params devuelve los paramétros registrados para los componentes de la consulta en el orden esperado para las distintistas clausulas
func (*Select) Right ¶
Right Agrega un right join a la construcción de la query. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue
func (*Select) RightIF ¶
RightIF Agrega un right join a la construcción de la query si la condición `cond` es verdadera. El joinable c puede ser string o un SQLBuilder a es el alias, si no lo necesita puede pasarlo vacio. on contiene la condición para la clausula on, puede dejarla vacia para que no se agregue