cqlbuilder

package
v1.0.1-0...-6672441 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package cqlbuilder provides a fluent, validated builder for CQL queries.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EscapeMaskingChars

func EscapeMaskingChars(s string) string

Escapes masking characters (*, ?, ^) in a string.

func EscapeSpecialChars

func EscapeSpecialChars(s string) string

Escapes backslashes and quotes in a string.

Types

type ClauseBuilder

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

ClauseBuilder builds a grouped clause on the right-hand side of a boolean operator.

func (*ClauseBuilder) Search

func (cb *ClauseBuilder) Search(index string) *SearchBuilder

Search starts the grouped clause with a search expression.

type ExprBuilder

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

ExprBuilder represents a completed expression that can be extended with boolean operators.

func (*ExprBuilder) And

func (eb *ExprBuilder) And() *JoinBuilder

And starts an AND boolean expression.

func (*ExprBuilder) Build

func (eb *ExprBuilder) Build() (cql.Query, error)

Build finalizes and returns the query.

func (*ExprBuilder) EndClause

func (eb *ExprBuilder) EndClause() *ExprBuilder

EndClause closes a grouped clause and returns to the parent expression.

func (*ExprBuilder) Not

func (eb *ExprBuilder) Not() *JoinBuilder

Not starts a NOT boolean expression.

func (*ExprBuilder) Or

func (eb *ExprBuilder) Or() *JoinBuilder

Or starts an OR boolean expression.

func (*ExprBuilder) Prox

func (eb *ExprBuilder) Prox() *JoinBuilder

Prox starts a PROX boolean expression.

func (*ExprBuilder) SortBy

func (eb *ExprBuilder) SortBy(index string, mods ...cql.CqlModifier) *ExprBuilder

SortBy adds a sort criterion with simple (name-only) modifiers.

func (*ExprBuilder) SortByModifiers

func (eb *ExprBuilder) SortByModifiers(index string, mods ...cql.Modifier) *ExprBuilder

SortByModifiers adds a sort criterion with fully-specified modifiers.

type JoinBuilder

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

JoinBuilder builds a boolean clause by providing the right-hand side.

func (*JoinBuilder) BeginClause

func (jb *JoinBuilder) BeginClause() *ClauseBuilder

BeginClause starts a grouped boolean clause as the right-hand side.

func (*JoinBuilder) Mod

func (jb *JoinBuilder) Mod(name cql.CqlModifier) *JoinBuilder

Mod adds a modifier to the boolean operator (name-only).

func (*JoinBuilder) ModRel

func (jb *JoinBuilder) ModRel(name cql.CqlModifier, rel cql.Relation, value string) *JoinBuilder

ModRel adds a modifier with relation and value to the boolean operator.

func (*JoinBuilder) Search

func (jb *JoinBuilder) Search(index string) *SearchBuilder

Search provides the right-hand search clause.

type QueryBuilder

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

QueryBuilder builds a validated cql.Query.

func NewQuery

func NewQuery() *QueryBuilder

NewQuery creates a new query builder.

func NewQueryFrom

func NewQueryFrom(query cql.Query) *QueryBuilder

NewQueryFrom initializes a builder with an existing query.

func NewQueryFromString

func NewQueryFromString(input string) (*QueryBuilder, error)

NewQueryFromString initializes a builder from a CQL string.

func (*QueryBuilder) And

func (qb *QueryBuilder) And() *JoinBuilder

And appends an AND boolean expression to the existing root clause.

func (*QueryBuilder) BeginClause

func (qb *QueryBuilder) BeginClause() *ClauseBuilder

BeginClause starts a grouped root clause.

func (*QueryBuilder) Build

func (qb *QueryBuilder) Build() (cql.Query, error)

Build validates and returns the final query.

func (*QueryBuilder) Not

func (qb *QueryBuilder) Not() *JoinBuilder

Not appends a NOT boolean expression to the existing root clause.

func (*QueryBuilder) Or

func (qb *QueryBuilder) Or() *JoinBuilder

Or appends an OR boolean expression to the existing root clause.

func (*QueryBuilder) Prefix

func (qb *QueryBuilder) Prefix(prefix, uri string) *QueryBuilder

Prefix adds a prefix declaration.

func (*QueryBuilder) Prox

func (qb *QueryBuilder) Prox() *JoinBuilder

Prox appends a PROX boolean expression to the existing root clause.

func (*QueryBuilder) Search

func (qb *QueryBuilder) Search(index string) *SearchBuilder

Search starts a search expression as the root clause.

func (*QueryBuilder) SortBy

func (qb *QueryBuilder) SortBy(index string, mods ...cql.CqlModifier) *QueryBuilder

SortBy adds a sort criterion with simple (name-only) modifiers.

func (*QueryBuilder) SortByModifiers

func (qb *QueryBuilder) SortByModifiers(index string, mods ...cql.Modifier) *QueryBuilder

SortByModifiers adds a sort criterion with fully-specified modifiers.

type SearchBuilder

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

SearchBuilder builds a search clause.

func (*SearchBuilder) Mod

func (sb *SearchBuilder) Mod(name cql.CqlModifier) *SearchBuilder

Mod adds a modifier (name-only).

func (*SearchBuilder) ModRel

func (sb *SearchBuilder) ModRel(name cql.CqlModifier, rel cql.Relation, value string) *SearchBuilder

ModRel adds a modifier with relation and value.

func (*SearchBuilder) Rel

func (sb *SearchBuilder) Rel(rel cql.Relation) *SearchBuilder

Rel sets the relation for the search clause.

func (*SearchBuilder) Term

func (sb *SearchBuilder) Term(term string) *ExprBuilder

Term finalizes the search clause and returns an expression builder. It escapes input backslashes, quotes, and masking characters (*, ?, ^) and disallows empty terms.

func (*SearchBuilder) TermUnsafe

func (sb *SearchBuilder) TermUnsafe(term string) *ExprBuilder

TermUnsafe finalizes the search clause and returns an expression builder. It does not escape any input chars, but unescaped quotes and trailing backslash

are always escaped when the query is stringified to ensure valid query syntax.

Jump to

Keyboard shortcuts

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