Documentation
¶
Index ¶
- type Processor
- func (poc Processor) Contains(builder *query.Builder, field, value string) *query.Builder
- 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) 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 构建 InfluxDB 风格的 WHERE 子句
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 不区分大小写
func (Processor) InsensitiveEndsWith ¶
func (poc Processor) InsensitiveEndsWith(builder *query.Builder, field, value string) *query.Builder
InsensitiveEndsWith 不区分大小写
func (Processor) InsensitiveExact ¶
InsensitiveExact 不区分大小写的等值比较(使用 regex ^val$ + i)
func (Processor) InsensitiveRegex ¶
InsensitiveRegex 不区分大小写的正则
func (Processor) InsensitiveStartsWith ¶
func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field, value string) *query.Builder
InsensitiveStartsWith 不区分大小写
func (Processor) NotIn ¶
func (poc Processor) NotIn(builder *query.Builder, field, value string, values []string) *query.Builder
NotIn 不包含 —— 通过多个 != 条件构造等价的 AND 表达式
func (Processor) Process ¶
func (poc Processor) Process(builder *query.Builder, op paginationV1.Operator, field, value string, values []string) *query.Builder
Process 根据 operator 在 builder 上追加对应的 filter 并返回 builder。 field 为字段路径(可能包含点),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 转为基于 InfluxDB 的 查询条件,使用 Processor 在 *query.Builder 上追加 WHERE 子句
func NewStructuredFilter ¶
func NewStructuredFilter() *StructuredFilter
NewStructuredFilter 创建 InfluxDB 用的 StructuredFilter
func (StructuredFilter) BuildSelectors ¶
func (sf StructuredFilter) BuildSelectors(builder *query.Builder, expr *paginationV1.FilterExpr) (*query.Builder, error)
BuildSelectors 将 expr 的条件应用到 builder 上;若 builder 为 nil 则新建一个。 AND 类型会把所有子条件逐一通过 Processor.Process 添加(AND 语义)。 OR 类型仅在组内只有单个条件或单个子组时处理该单项,复杂 OR 跳过(query.Builder 不支持复杂 OR)。