Documentation
¶
Overview ¶
Package cqlbuilder provides a fluent, validated builder for CQL queries.
Index ¶
- func EscapeMaskingChars(s string) string
- func EscapeSpecialChars(s string) string
- type ClauseBuilder
- type ExprBuilder
- func (eb *ExprBuilder) And() *JoinBuilder
- func (eb *ExprBuilder) Build() (cql.Query, error)
- func (eb *ExprBuilder) EndClause() *ExprBuilder
- func (eb *ExprBuilder) Not() *JoinBuilder
- func (eb *ExprBuilder) Or() *JoinBuilder
- func (eb *ExprBuilder) Prox() *JoinBuilder
- func (eb *ExprBuilder) SortBy(index string, mods ...cql.CqlModifier) *ExprBuilder
- func (eb *ExprBuilder) SortByModifiers(index string, mods ...cql.Modifier) *ExprBuilder
- type JoinBuilder
- type QueryBuilder
- func (qb *QueryBuilder) And() *JoinBuilder
- func (qb *QueryBuilder) BeginClause() *ClauseBuilder
- func (qb *QueryBuilder) Build() (cql.Query, error)
- func (qb *QueryBuilder) Not() *JoinBuilder
- func (qb *QueryBuilder) Or() *JoinBuilder
- func (qb *QueryBuilder) Prefix(prefix, uri string) *QueryBuilder
- func (qb *QueryBuilder) Prox() *JoinBuilder
- func (qb *QueryBuilder) Search(index string) *SearchBuilder
- func (qb *QueryBuilder) SortBy(index string, mods ...cql.CqlModifier) *QueryBuilder
- func (qb *QueryBuilder) SortByModifiers(index string, mods ...cql.Modifier) *QueryBuilder
- type SearchBuilder
- func (sb *SearchBuilder) Mod(name cql.CqlModifier) *SearchBuilder
- func (sb *SearchBuilder) ModRel(name cql.CqlModifier, rel cql.Relation, value string) *SearchBuilder
- func (sb *SearchBuilder) Rel(rel cql.Relation) *SearchBuilder
- func (sb *SearchBuilder) Term(term string) *ExprBuilder
- func (sb *SearchBuilder) TermUnsafe(term string) *ExprBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EscapeMaskingChars ¶
Escapes masking characters (*, ?, ^) in a string.
func EscapeSpecialChars ¶
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 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.