filter

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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 构建 Doris 风格的 WHERE/ARGS

func NewProcessor

func NewProcessor() *Processor

func (Processor) Contains

func (poc Processor) Contains(builder *query.Builder, field, value string) *query.Builder

Contains (LIKE %val%)

func (Processor) DatePartField

func (poc Processor) DatePartField(datePart, field string) string

DatePartField 为 Doris 提供简单的 date part 表达式,如 YEAR(col)

func (Processor) EndsWith

func (poc Processor) EndsWith(builder *query.Builder, field, value string) *query.Builder

EndsWith 结束于

func (Processor) Equal

func (poc Processor) Equal(builder *query.Builder, field, value string) *query.Builder

Equal 等于

func (Processor) Exact

func (poc Processor) Exact(builder *query.Builder, field, value string) *query.Builder

Exact (exact match) 等值比较

func (Processor) GT

func (poc Processor) GT(builder *query.Builder, field, value string) *query.Builder

GT 大于

func (Processor) GTE

func (poc Processor) GTE(builder *query.Builder, field, value string) *query.Builder

GTE 大于等于

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

func (poc Processor) InsensitiveExact(builder *query.Builder, field, value string) *query.Builder

InsensitiveExact 等值比较(不区分大小写)

func (Processor) InsensitiveRegex

func (poc Processor) InsensitiveRegex(builder *query.Builder, field, value string) *query.Builder

InsensitiveRegex 使用 lower(...) 进行不区分大小写的匹配

func (Processor) InsensitiveStartsWith

func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field, value string) *query.Builder

InsensitiveStartsWith 开始于(不区分大小写)

func (Processor) IsNotNull

func (poc Processor) IsNotNull(builder *query.Builder, field string) *query.Builder

IsNotNull 检查是否不为 NULL

func (Processor) IsNull

func (poc Processor) IsNull(builder *query.Builder, field string) *query.Builder

IsNull 检查是否为 NULL

func (Processor) JsonbField

func (poc Processor) JsonbField(jsonbField, field string) string

JsonbField 返回 JSON 字段表达式字符串(如 JSONExtractString(col, 'key'))

func (Processor) LT

func (poc Processor) LT(builder *query.Builder, field, value string) *query.Builder

LT 小于

func (Processor) LTE

func (poc Processor) LTE(builder *query.Builder, field, value string) *query.Builder

LTE 小于等于

func (Processor) NotEqual

func (poc Processor) NotEqual(builder *query.Builder, field, value string) *query.Builder

NotEqual 不等于

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 范围查询

func (Processor) Regex

func (poc Processor) Regex(builder *query.Builder, field, value string) *query.Builder

Regex (Doris 使用 match(column, 'pattern'))

func (Processor) Search

func (poc Processor) Search(builder *query.Builder, field, value string) *query.Builder

Search 简单全文搜索,fallback 为 LIKE %val%

func (Processor) StartsWith

func (poc Processor) StartsWith(builder *query.Builder, field, value string) *query.Builder

StartsWith 开始于

type StructuredFilter

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

StructuredFilter 基于 FilterExpr 的 Doris 过滤器(不依赖 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

Jump to

Keyboard shortcuts

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