Documentation
¶
Index ¶
- Constants
- func AddAuditFieldsToInsert(s *schema.Schema, columns []string, data *AuditData) ([]string, error)
- func AddAuditFieldsToUpdate(s *schema.Schema, columns []string, data *AuditData) ([]string, error)
- func And(cn ...sqlk.WhereWriter) *whereLogicWriter
- func Between(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func BindVar() option.SetOptionFn
- func BoolVar(b bool) option.SetOptionFn
- func Column(col string, args ...interface{}) *columnWriter
- func Columns(column1, column2 string, args ...interface{}) *columnSchemaWriter
- func Count(column string, args ...interface{}) *selectCountWriter
- func Equal(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func EqualFilter(s *schema.Schema, col string) sqlk.FilterParser
- func FloatGreaterThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
- func FloatLessThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
- func GreaterThan(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func GreaterThanEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func ILike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func In(col sqlk.ColumnWriter, argCount int, args ...interface{}) *whereCompareWriter
- func IntGreaterThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
- func IntLessThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
- func IntVar(i int) option.SetOptionFn
- func IsNotNull(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func IsNull(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func LessThan(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func LessThanEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func Like(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func LikeFilter(col string, likeVar op.LikeVariable, args ...interface{}) sqlk.FilterParser
- func NotBetween(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func NotEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func NotILike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func NotIn(col sqlk.ColumnWriter, argCount int, args ...interface{}) *whereCompareWriter
- func NotLike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
- func On(col string, args ...interface{}) option.SetOptionFn
- func OnlyTrashed(s *schema.Schema) sqlk.WhereWriter
- func Or(cn ...sqlk.WhereWriter) *whereLogicWriter
- func PrepareAuditFields(s *schema.Schema, data *AuditData, isUpdate bool) (map[string]interface{}, error)
- func TimeGreaterThanEqualFilter(s *schema.Schema, col string, args ...string) sqlk.FilterParser
- func TimeLessThanEqualFilter(s *schema.Schema, col string, args ...string) sqlk.FilterParser
- func WithTrashed() sqlk.WhereWriter
- type AuditData
- type BulkDeleteBuilder
- type BulkInsertBuilder
- type BulkSoftDeleteBuilder
- type BulkUpdateBuilder
- type DeleteBuilder
- type FilterBuilder
- type InsertBuilder
- type JsonColumnWriter
- func (w *JsonColumnWriter) ColumnQuery() string
- func (w *JsonColumnWriter) GetColumn() string
- func (w *JsonColumnWriter) GetSchemaRef() schema.Reference
- func (w *JsonColumnWriter) GetTableName() string
- func (w *JsonColumnWriter) IsAllColumns() bool
- func (w *JsonColumnWriter) SelectQuery() string
- func (w *JsonColumnWriter) SetFormat(_ op.ColumnFormat)
- func (w *JsonColumnWriter) SetSchema(s *schema.Schema)
- func (w *JsonColumnWriter) SetTableAs(as string)
- type RestoreBuilder
- type SchemaBuilder
- func (s *SchemaBuilder) Count(where sqlk.WhereWriter) string
- func (s *SchemaBuilder) Delete() string
- func (s *SchemaBuilder) FindByPK() string
- func (s *SchemaBuilder) Insert() string
- func (s *SchemaBuilder) IsExists(where sqlk.WhereWriter) string
- func (s *SchemaBuilder) Schema() *schema.Schema
- func (s *SchemaBuilder) Update() string
- type SelectBuilder
- func (b *SelectBuilder) Build() string
- func (b *SelectBuilder) From(s *schema.Schema, args ...interface{}) *SelectBuilder
- func (b *SelectBuilder) Join(s *schema.Schema, onCondition sqlk.WhereWriter, args ...interface{}) *SelectBuilder
- func (b *SelectBuilder) Limit(n int64) *SelectBuilder
- func (b *SelectBuilder) OrderBy(col string, args ...interface{}) *SelectBuilder
- func (b *SelectBuilder) ResetLimit() *SelectBuilder
- func (b *SelectBuilder) ResetOrderBy() *SelectBuilder
- func (b *SelectBuilder) ResetSkip() *SelectBuilder
- func (b *SelectBuilder) Select(column1 sqlk.SelectWriter, columnN ...sqlk.SelectWriter) *SelectBuilder
- func (b *SelectBuilder) Skip(n int64) *SelectBuilder
- func (b *SelectBuilder) Where(w1 sqlk.WhereWriter, wn ...sqlk.WhereWriter) *SelectBuilder
- type SoftDeleteBuilder
- type UpdateBuilder
Constants ¶
const (
AllColumns = "*"
)
Variables ¶
This section is empty.
Functions ¶
func AddAuditFieldsToInsert ¶
AddAuditFieldsToInsert adds audit fields to INSERT column list
func AddAuditFieldsToUpdate ¶
AddAuditFieldsToUpdate adds audit fields to UPDATE column list
func And ¶
func And(cn ...sqlk.WhereWriter) *whereLogicWriter
func Between ¶
func Between(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func BindVar ¶
func BindVar() option.SetOptionFn
func BoolVar ¶
func BoolVar(b bool) option.SetOptionFn
func Equal ¶
func Equal(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func EqualFilter ¶
func EqualFilter(s *schema.Schema, col string) sqlk.FilterParser
func FloatGreaterThanEqualFilter ¶
func FloatGreaterThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
func FloatLessThanEqualFilter ¶
func FloatLessThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
func GreaterThan ¶
func GreaterThan(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func GreaterThanEqual ¶
func GreaterThanEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func ILike ¶
func ILike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func In ¶
func In(col sqlk.ColumnWriter, argCount int, args ...interface{}) *whereCompareWriter
func IntGreaterThanEqualFilter ¶
func IntGreaterThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
func IntLessThanEqualFilter ¶
func IntLessThanEqualFilter(s *schema.Schema, col string) sqlk.FilterParser
func IntVar ¶
func IntVar(i int) option.SetOptionFn
func IsNotNull ¶
func IsNotNull(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func IsNull ¶
func IsNull(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func LessThan ¶
func LessThan(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func LessThanEqual ¶
func LessThanEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func Like ¶
func Like(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func LikeFilter ¶
func LikeFilter(col string, likeVar op.LikeVariable, args ...interface{}) sqlk.FilterParser
func NotBetween ¶
func NotBetween(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func NotEqual ¶
func NotEqual(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func NotILike ¶
func NotILike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func NotIn ¶
func NotIn(col sqlk.ColumnWriter, argCount int, args ...interface{}) *whereCompareWriter
func NotLike ¶
func NotLike(col sqlk.ColumnWriter, args ...interface{}) *whereCompareWriter
func On ¶
func On(col string, args ...interface{}) option.SetOptionFn
func OnlyTrashed ¶
func OnlyTrashed(s *schema.Schema) sqlk.WhereWriter
OnlyTrashed returns a WHERE condition that only includes soft-deleted records
func Or ¶
func Or(cn ...sqlk.WhereWriter) *whereLogicWriter
func PrepareAuditFields ¶
func PrepareAuditFields(s *schema.Schema, data *AuditData, isUpdate bool) (map[string]interface{}, error)
PrepareAuditFields prepares audit field values for INSERT/UPDATE Returns map of column name to value, with JSON marshaling for Subject fields
func TimeLessThanEqualFilter ¶
func WithTrashed ¶
func WithTrashed() sqlk.WhereWriter
WithTrashed returns a WHERE condition that includes soft-deleted records (no filter)
Types ¶
type AuditData ¶
type AuditData struct {
CreatedAt interface{} // timestamp or nil
UpdatedAt interface{} // timestamp or nil
CreatedBy interface{} // Subject struct/map to be marshaled to JSON
UpdatedBy interface{} // Subject struct/map to be marshaled to JSON
}
AuditData holds audit field information
type BulkDeleteBuilder ¶
type BulkDeleteBuilder struct {
// contains filtered or unexported fields
}
BulkDeleteBuilder builds bulk DELETE queries
func BulkDelete ¶
func BulkDelete(s *schema.Schema) *BulkDeleteBuilder
BulkDelete creates a bulk delete builder
func (*BulkDeleteBuilder) Build ¶
func (b *BulkDeleteBuilder) Build() string
Build generates the bulk DELETE query
func (*BulkDeleteBuilder) IDs ¶
func (b *BulkDeleteBuilder) IDs(ids ...interface{}) *BulkDeleteBuilder
IDs sets the primary key values for bulk delete
type BulkInsertBuilder ¶
type BulkInsertBuilder struct {
// contains filtered or unexported fields
}
BulkInsertBuilder builds bulk INSERT queries
func BulkInsert ¶
func BulkInsert(s *schema.Schema, column string, columnN ...string) *BulkInsertBuilder
BulkInsert creates a bulk insert builder
func (*BulkInsertBuilder) Build ¶
func (b *BulkInsertBuilder) Build() string
Build generates the bulk INSERT query
func (*BulkInsertBuilder) Values ¶
func (b *BulkInsertBuilder) Values(rows []map[string]interface{}) *BulkInsertBuilder
Values sets the values for bulk insert - accepts slice of maps
type BulkSoftDeleteBuilder ¶
type BulkSoftDeleteBuilder struct {
// contains filtered or unexported fields
}
BulkSoftDeleteBuilder builds bulk soft DELETE queries
func BulkSoftDelete ¶
func BulkSoftDelete(s *schema.Schema) *BulkSoftDeleteBuilder
BulkSoftDelete creates a bulk soft delete builder
func (*BulkSoftDeleteBuilder) Build ¶
func (b *BulkSoftDeleteBuilder) Build() string
Build generates the bulk soft DELETE query (UPDATE with deleted_at)
func (*BulkSoftDeleteBuilder) IDs ¶
func (b *BulkSoftDeleteBuilder) IDs(ids ...interface{}) *BulkSoftDeleteBuilder
IDs sets the primary key values for bulk soft delete
type BulkUpdateBuilder ¶
type BulkUpdateBuilder struct {
// contains filtered or unexported fields
}
BulkUpdateBuilder builds bulk UPDATE queries using CASE statements
func BulkUpdate ¶
func BulkUpdate(s *schema.Schema, column string, columnN ...string) *BulkUpdateBuilder
BulkUpdate creates a bulk update builder
func (*BulkUpdateBuilder) Build ¶
func (b *BulkUpdateBuilder) Build() string
Build generates the bulk UPDATE query using CASE statements
func (*BulkUpdateBuilder) Values ¶
func (b *BulkUpdateBuilder) Values(rows []map[string]interface{}) *BulkUpdateBuilder
Values sets the values for bulk update - accepts slice of maps with primary key Each map must include the primary key field
type DeleteBuilder ¶
type DeleteBuilder struct {
// contains filtered or unexported fields
}
func Delete ¶
func Delete(s *schema.Schema) *DeleteBuilder
func ForceDelete ¶
func ForceDelete(s *schema.Schema) *DeleteBuilder
ForceDelete creates a hard delete builder even if soft delete is enabled
func (*DeleteBuilder) Build ¶
func (b *DeleteBuilder) Build(args ...interface{}) string
func (*DeleteBuilder) Where ¶
func (b *DeleteBuilder) Where(w sqlk.WhereWriter) *DeleteBuilder
type FilterBuilder ¶
type FilterBuilder struct {
// contains filtered or unexported fields
}
func NewFilter ¶
func NewFilter(qs map[string]string, funcMap map[string]sqlk.FilterParser) *FilterBuilder
NewFilter create a FilterBuilder that convert querystring to WHERE conditions
func (*FilterBuilder) Args ¶
func (b *FilterBuilder) Args() []interface{}
func (*FilterBuilder) Conditions ¶
func (b *FilterBuilder) Conditions() sqlk.WhereWriter
type InsertBuilder ¶
type InsertBuilder struct {
// contains filtered or unexported fields
}
func (*InsertBuilder) Build ¶
func (b *InsertBuilder) Build() string
type JsonColumnWriter ¶
type JsonColumnWriter struct {
// contains filtered or unexported fields
}
JsonColumnWriter implements query.SelectWriter for a column that referred to a JSON
func JsonColumn ¶
func JsonColumn(column string, args ...interface{}) *JsonColumnWriter
func (*JsonColumnWriter) ColumnQuery ¶
func (w *JsonColumnWriter) ColumnQuery() string
func (*JsonColumnWriter) GetColumn ¶
func (w *JsonColumnWriter) GetColumn() string
func (*JsonColumnWriter) GetSchemaRef ¶
func (w *JsonColumnWriter) GetSchemaRef() schema.Reference
func (*JsonColumnWriter) GetTableName ¶
func (w *JsonColumnWriter) GetTableName() string
func (*JsonColumnWriter) IsAllColumns ¶
func (w *JsonColumnWriter) IsAllColumns() bool
func (*JsonColumnWriter) SelectQuery ¶
func (w *JsonColumnWriter) SelectQuery() string
func (*JsonColumnWriter) SetFormat ¶
func (w *JsonColumnWriter) SetFormat(_ op.ColumnFormat)
func (*JsonColumnWriter) SetSchema ¶
func (w *JsonColumnWriter) SetSchema(s *schema.Schema)
func (*JsonColumnWriter) SetTableAs ¶
func (w *JsonColumnWriter) SetTableAs(as string)
type RestoreBuilder ¶
type RestoreBuilder struct {
// contains filtered or unexported fields
}
RestoreBuilder builds UPDATE query to restore soft-deleted records
func Restore ¶
func Restore(s *schema.Schema) *RestoreBuilder
Restore creates a restore builder for the given schema
func (*RestoreBuilder) Build ¶
func (b *RestoreBuilder) Build(args ...interface{}) string
Build generates the UPDATE query that sets deleted_at = NULL
func (*RestoreBuilder) Where ¶
func (b *RestoreBuilder) Where(w sqlk.WhereWriter) *RestoreBuilder
Where sets WHERE condition for restore
type SchemaBuilder ¶
type SchemaBuilder struct {
// contains filtered or unexported fields
}
func Schema ¶
func Schema(s *schema.Schema) *SchemaBuilder
func (*SchemaBuilder) Count ¶
func (s *SchemaBuilder) Count(where sqlk.WhereWriter) string
func (*SchemaBuilder) Delete ¶
func (s *SchemaBuilder) Delete() string
func (*SchemaBuilder) FindByPK ¶
func (s *SchemaBuilder) FindByPK() string
func (*SchemaBuilder) Insert ¶
func (s *SchemaBuilder) Insert() string
func (*SchemaBuilder) IsExists ¶
func (s *SchemaBuilder) IsExists(where sqlk.WhereWriter) string
func (*SchemaBuilder) Schema ¶
func (s *SchemaBuilder) Schema() *schema.Schema
func (*SchemaBuilder) Update ¶
func (s *SchemaBuilder) Update() string
type SelectBuilder ¶
type SelectBuilder struct {
// contains filtered or unexported fields
}
func From ¶
func From(s *schema.Schema, args ...interface{}) *SelectBuilder
func Select ¶
func Select(column1 sqlk.SelectWriter, columnN ...sqlk.SelectWriter) *SelectBuilder
func (*SelectBuilder) Build ¶
func (b *SelectBuilder) Build() string
func (*SelectBuilder) From ¶
func (b *SelectBuilder) From(s *schema.Schema, args ...interface{}) *SelectBuilder
func (*SelectBuilder) Join ¶
func (b *SelectBuilder) Join(s *schema.Schema, onCondition sqlk.WhereWriter, args ...interface{}) *SelectBuilder
func (*SelectBuilder) Limit ¶
func (b *SelectBuilder) Limit(n int64) *SelectBuilder
func (*SelectBuilder) OrderBy ¶
func (b *SelectBuilder) OrderBy(col string, args ...interface{}) *SelectBuilder
func (*SelectBuilder) ResetLimit ¶
func (b *SelectBuilder) ResetLimit() *SelectBuilder
func (*SelectBuilder) ResetOrderBy ¶
func (b *SelectBuilder) ResetOrderBy() *SelectBuilder
func (*SelectBuilder) ResetSkip ¶
func (b *SelectBuilder) ResetSkip() *SelectBuilder
func (*SelectBuilder) Select ¶
func (b *SelectBuilder) Select(column1 sqlk.SelectWriter, columnN ...sqlk.SelectWriter) *SelectBuilder
func (*SelectBuilder) Skip ¶
func (b *SelectBuilder) Skip(n int64) *SelectBuilder
func (*SelectBuilder) Where ¶
func (b *SelectBuilder) Where(w1 sqlk.WhereWriter, wn ...sqlk.WhereWriter) *SelectBuilder
type SoftDeleteBuilder ¶
type SoftDeleteBuilder struct {
// contains filtered or unexported fields
}
SoftDeleteBuilder builds UPDATE query for soft delete
func SoftDelete ¶
func SoftDelete(s *schema.Schema) *SoftDeleteBuilder
SoftDelete creates a soft delete builder for the given schema
func (*SoftDeleteBuilder) Build ¶
func (b *SoftDeleteBuilder) Build(args ...interface{}) string
Build generates the UPDATE query that sets deleted_at
func (*SoftDeleteBuilder) Where ¶
func (b *SoftDeleteBuilder) Where(w sqlk.WhereWriter) *SoftDeleteBuilder
Where sets WHERE condition for soft delete
type UpdateBuilder ¶
type UpdateBuilder struct {
// contains filtered or unexported fields
}
func (*UpdateBuilder) Build ¶
func (b *UpdateBuilder) Build(args ...interface{}) string
func (*UpdateBuilder) Where ¶
func (b *UpdateBuilder) Where(w sqlk.WhereWriter) *UpdateBuilder