Documentation
¶
Index ¶
- type Processor
- func (poc Processor) Contains(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) DatePartField(datePart, field string) string
- func (poc Processor) EndsWith(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) Equal(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) Exact(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) GT(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) GTE(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) In(builder *query.Builder, field, value string, values []string) *query.Builder
- func (poc Processor) InsensitiveContains(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) InsensitiveEndsWith(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) InsensitiveExact(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) InsensitiveRegex(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) IsNotNull(builder *query.Builder, field string) *query.Builder
- func (poc Processor) IsNull(builder *query.Builder, field string) *query.Builder
- func (poc Processor) JsonbField(jsonbField, field string) string
- func (poc Processor) LT(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) LTE(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) NotEqual(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) NotIn(builder *query.Builder, field, value string, values []string) *query.Builder
- func (poc Processor) Process(builder *query.Builder, op paginationV1.Operator, field, value string, ...) *query.Builder
- func (poc Processor) Range(builder *query.Builder, field, value string, values []string) *query.Builder
- func (poc Processor) Regex(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) Search(builder *query.Builder, field, value string) *query.Builder
- func (poc Processor) StartsWith(builder *query.Builder, field, value string) *query.Builder
- type StructuredFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
Processor 用于基于 *query.Builder 构建 ClickHouse 风格的 WHERE/ARGS
func NewProcessor ¶
func NewProcessor() *Processor
func (Processor) DatePartField ¶
DatePartField 为 ClickHouse 提供简单的 date part 表达式,如 YEAR(col)
func (Processor) In ¶
func (poc Processor) In(builder *query.Builder, field, value string, values []string) *query.Builder
In 包含
func (Processor) InsensitiveContains ¶
func (poc Processor) InsensitiveContains(builder *query.Builder, field, value string) *query.Builder
InsensitiveContains (lower(col) LIKE lower(?))
func (Processor) InsensitiveEndsWith ¶
func (poc Processor) InsensitiveEndsWith(builder *query.Builder, field, value string) *query.Builder
InsensitiveEndsWith 结束于(不区分大小写)
func (Processor) InsensitiveExact ¶
InsensitiveExact 等值比较(不区分大小写)
func (Processor) InsensitiveRegex ¶
InsensitiveRegex 使用 lower(...) 进行不区分大小写的匹配
func (Processor) InsensitiveStartsWith ¶
func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field, value string) *query.Builder
InsensitiveStartsWith 开始于(不区分大小写)
func (Processor) JsonbField ¶
JsonbField 返回 JSON 字段表达式字符串(如 JSONExtractString(col, 'key'))
func (Processor) NotIn ¶
func (poc Processor) NotIn(builder *query.Builder, field, value string, values []string) *query.Builder
NotIn 不包含
func (Processor) Process ¶
func (poc Processor) Process(builder *query.Builder, op paginationV1.Operator, field, value string, values []string) *query.Builder
Process 根据 operator 在 builder 上追加对应的条件表达式并返回 builder。 field 为列名或 json 字段(含点分隔),value 为单值,values 为额外的分割值列表(如 IN)。
func (Processor) Range ¶
func (poc Processor) Range(builder *query.Builder, field, value string, values []string) *query.Builder
Range BETWEEN 范围查询
type StructuredFilter ¶
type StructuredFilter struct {
// contains filtered or unexported fields
}
StructuredFilter 基于 FilterExpr 的 ClickHouse 过滤器(不依赖 GORM)
func NewStructuredFilter ¶
func NewStructuredFilter() *StructuredFilter
func (StructuredFilter) BuildSelectors ¶
func (sf StructuredFilter) BuildSelectors(builder *query.Builder, expr *paginationV1.FilterExpr) (*query.Builder, error)
BuildSelectors 将 FilterExpr 转为并直接应用于 *query.Builder 的 WHERE/ARGS