query

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AllColumns = "*"
)

Variables

This section is empty.

Functions

func AddAuditFieldsToInsert

func AddAuditFieldsToInsert(s *schema.Schema, columns []string, data *AuditData) ([]string, error)

AddAuditFieldsToInsert adds audit fields to INSERT column list

func AddAuditFieldsToUpdate

func AddAuditFieldsToUpdate(s *schema.Schema, columns []string, data *AuditData) ([]string, error)

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 Column

func Column(col string, args ...interface{}) *columnWriter

func Columns

func Columns(column1, column2 string, args ...interface{}) *columnSchemaWriter

func Count

func Count(column string, args ...interface{}) *selectCountWriter

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 TimeGreaterThanEqualFilter

func TimeGreaterThanEqualFilter(s *schema.Schema, col string, args ...string) sqlk.FilterParser

func TimeLessThanEqualFilter

func TimeLessThanEqualFilter(s *schema.Schema, col string, args ...string) sqlk.FilterParser

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

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 Insert

func Insert(s *schema.Schema, column string, columnN ...string) *InsertBuilder

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

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

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

Where sets WHERE condition for soft delete

type UpdateBuilder

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

func Update

func Update(s *schema.Schema, column string, columnN ...string) *UpdateBuilder

func (*UpdateBuilder) Build

func (b *UpdateBuilder) Build(args ...interface{}) string

func (*UpdateBuilder) Where

Jump to

Keyboard shortcuts

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