common

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: May 9, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ERR_TYPE_INVALID_QUERY            = "invalid query"
	MSG_QUERY_INVALID_FROM_CLAUSE     = "invalid FROM clause"
	MSG_QUERY_INVALID_SELECT_CLAUSE   = "invalid SELECT clause"
	MSG_QUERY_INVALID_WHERE_CLAUSE    = "invalid WHERE clause"
	MSG_QUERY_INVALID_ORDER_BY_CLAUSE = "invalid ORDERBY clause"
	MSG_QUERY_INVALID_REQUEST         = "invalid query request"
	MSG_QUERY_INVALID_RESPONSE        = "invalid query response"
	MSG_QUERY_INVALID_DATATYPE        = "invalid result data type"
)

Query error messages

View Source
const (
	QUERY_TOKEN_WILDCARD       = "*"
	QUERY_FROM_CLAUSE_SEP      = "."
	QUERY_SELECT_CLAUSE_SEP    = ","
	QUERY_WHERE_EXPRESSION_SEP = ","
	QUERY_WHERE_OPERAND_EQUALS = "="
)

Named tokens

View Source
const (
	ERR_FORMAT_DETAIL_SEP = ": "
)

Query error formatting

Variables

This section is empty.

Functions

func ParseFromPaths

func ParseFromPaths(rawFromPaths string) (fromPaths []string)

parse out field (keys) from raw '--select' flag's value

func ParseSelectKeys

func ParseSelectKeys(rawSelectKeys string) (selectKeys []string)

parse out field (keys) from raw '--select' flag's value

func ParseWherePredicates

func ParseWherePredicates(rawWherePredicates string) (wherePredicates []string)

parse out `key=<regex>` predicates from the raw `--where` flag's value

Types

type QueryError

type QueryError struct {
	Type    string
	Message string
	// contains filtered or unexported fields
}

func NewQueryError

func NewQueryError(qr *QueryRequest, m string, d string) *QueryError

func NewQueryFromClauseError

func NewQueryFromClauseError(qr *QueryRequest, detail string) *QueryError

func NewQueryFromUnexpectedTypeError added in v0.15.0

func NewQueryFromUnexpectedTypeError(qr *QueryRequest, detail string) *QueryError

func NewQuerySelectClauseError

func NewQuerySelectClauseError(qr *QueryRequest, detail string) *QueryError

func NewQueryWhereClauseError

func NewQueryWhereClauseError(qr *QueryRequest, detail string) *QueryError

func (QueryError) Error

func (err QueryError) Error() string

QueryError error interface

type QueryRequest

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

query JSON map and return selected subset using SQL-like syntax: SELECT: <key.1>, <key.2>, ... // "firstname, lastname, email" || * (default) FROM: <key path> // "product.customers" WHERE: <key.X> == <value> // "country='Germany'" ORDERBY: <key.N> // "lastname" e.g.,SELECT * FROM product.customers WHERE country="Germany";

func NewQueryRequest

func NewQueryRequest() (qr *QueryRequest)

func NewQueryRequestSelectFrom

func NewQueryRequestSelectFrom(rawSelect string, rawFrom string) (qr *QueryRequest, err error)

func NewQueryRequestSelectFromWhere

func NewQueryRequestSelectFromWhere(rawSelect string, rawFrom string, rawWhere string) (qr *QueryRequest, err error)

func NewQueryRequestSelectWildcardFrom

func NewQueryRequestSelectWildcardFrom(rawFrom string) (qr *QueryRequest, err error)

func NewQueryRequestSelectWildcardFromWhere

func NewQueryRequestSelectWildcardFromWhere(rawFrom string, rawWhere string) (qr *QueryRequest, err error)

func (*QueryRequest) GetFromKeys

func (qr *QueryRequest) GetFromKeys() []string

func (*QueryRequest) GetSelectKeys

func (qr *QueryRequest) GetSelectKeys() []string

func (*QueryRequest) GetWhereFilters

func (qr *QueryRequest) GetWhereFilters() ([]WhereFilter, error)

func (*QueryRequest) SetRawFromPaths

func (qr *QueryRequest) SetRawFromPaths(rawFromPaths string) []string

func (*QueryRequest) SetRawSelectKeys

func (qr *QueryRequest) SetRawSelectKeys(rawSelectKeys string) []string

func (*QueryRequest) SetRawWherePredicates

func (qr *QueryRequest) SetRawWherePredicates(rawWherePredicates string) []WhereFilter

func (*QueryRequest) String

func (qr *QueryRequest) String() string

Implement the Stringer interface for QueryRequest

func (*QueryRequest) StringAsParameters

func (qr *QueryRequest) StringAsParameters() string

type QueryResponse

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

================================================================== QueryResponse ==================================================================

func NewQueryResponse

func NewQueryResponse() *QueryResponse

func (*QueryResponse) String

func (qr *QueryResponse) String() string

Implement the Stringer interface for QueryRequest

type QueryResultInvalidTypeError added in v0.15.0

type QueryResultInvalidTypeError struct {
	QueryError
}

func NewQueryResultInvalidTypeError added in v0.15.0

func NewQueryResultInvalidTypeError(qr *QueryRequest, value interface{}) (err *QueryResultInvalidTypeError)

type WhereFilter

type WhereFilter struct {
	Key        string
	Operand    string
	Value      string
	ValueRegEx *regexp.Regexp
}

================================================================== WhereFilter ==================================================================

func ParseWhereFilter

func ParseWhereFilter(rawExpression string) (pWhereSelector *WhereFilter)

TODO: generate more specific error messages on why parsing failed

func ParseWhereFilters

func ParseWhereFilters(wherePredicates []string) (whereFilters []WhereFilter, err error)

func (*WhereFilter) GetNormalizedMapKey

func (filter *WhereFilter) GetNormalizedMapKey() (normalizedKey string)

Note: Used to normalize key lookups in maps accounting for changes in key names on CDX structures created from annotations during JSON unmarshal TODO: unused as of now, as we opted to use CycloneDX keys as they appear in schema (for now)

func (*WhereFilter) String

func (filter *WhereFilter) String() string

Implement the Stringer interface for QueryRequest

Jump to

Keyboard shortcuts

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