Documentation
¶
Index ¶
- Constants
- func ParseFromPaths(rawFromPaths string) (fromPaths []string)
- func ParseSelectKeys(rawSelectKeys string) (selectKeys []string)
- func ParseWherePredicates(rawWherePredicates string) (wherePredicates []string)
- type QueryError
- func NewQueryError(qr *QueryRequest, m string, d string) *QueryError
- func NewQueryFromClauseError(qr *QueryRequest, detail string) *QueryError
- func NewQueryFromUnexpectedTypeError(qr *QueryRequest, detail string) *QueryError
- func NewQuerySelectClauseError(qr *QueryRequest, detail string) *QueryError
- func NewQueryWhereClauseError(qr *QueryRequest, detail string) *QueryError
- type QueryRequest
- func NewQueryRequest() (qr *QueryRequest)
- func NewQueryRequestSelectFrom(rawSelect string, rawFrom string) (qr *QueryRequest, err error)
- func NewQueryRequestSelectFromWhere(rawSelect string, rawFrom string, rawWhere string) (qr *QueryRequest, err error)
- func NewQueryRequestSelectWildcardFrom(rawFrom string) (qr *QueryRequest, err error)
- func NewQueryRequestSelectWildcardFromWhere(rawFrom string, rawWhere string) (qr *QueryRequest, err error)
- func (qr *QueryRequest) GetFromKeys() []string
- func (qr *QueryRequest) GetSelectKeys() []string
- func (qr *QueryRequest) GetWhereFilters() ([]WhereFilter, error)
- func (qr *QueryRequest) SetRawFromPaths(rawFromPaths string) []string
- func (qr *QueryRequest) SetRawSelectKeys(rawSelectKeys string) []string
- func (qr *QueryRequest) SetRawWherePredicates(rawWherePredicates string) []WhereFilter
- func (qr *QueryRequest) String() string
- func (qr *QueryRequest) StringAsParameters() string
- type QueryResponse
- type QueryResultInvalidTypeError
- type WhereFilter
Constants ¶
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
const ( QUERY_TOKEN_WILDCARD = "*" QUERY_FROM_CLAUSE_SEP = "." QUERY_SELECT_CLAUSE_SEP = "," QUERY_WHERE_EXPRESSION_SEP = "," QUERY_WHERE_OPERAND_EQUALS = "=" )
Named tokens
const (
ERR_FORMAT_DETAIL_SEP = ": "
)
Query error formatting
Variables ¶
This section is empty.
Functions ¶
func ParseFromPaths ¶
parse out field (keys) from raw '--select' flag's value
func ParseSelectKeys ¶
parse out field (keys) from raw '--select' flag's value
func ParseWherePredicates ¶
parse out `key=<regex>` predicates from the raw `--where` flag's value
Types ¶
type QueryError ¶
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
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 ¶
================================================================== 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