Interface QueryService
- All Superinterfaces:
Service
-
Method Summary
Modifier and TypeMethodDescriptioncount(QueryCountRequest queryCountRequest) Creates an operation to count the records qualified by the givenqueryCountRequest.Deprecated.This method only escapes single quotes and backslashes and does not provide a way to escape other special characters.escapeValue(String value, QueryEscapeOverride... escapeOverrides) Escapes all VQL special characters in a string for use in a VQL statement.Retrieves aQuery.Builder.newQueryBuilderFromQuery(Query query) Creates aQuery.Builderbased on aQuery.Retrieves aQueryCountRequest.Builder.Retrieves aQueryExecutionRequest.Builder.Retrieves aQueryFacetRequest.Builder.Creates a newQueryPageRequest.Builderfor constructing a query page request.Retrieves aQueryShowFieldsRequest.Builder.Retrieves aQueryShowRelationshipsRequest.Builder.Retrieves aQueryShowTargetsRequest.Builder.Retrieves aQueryValidationRequest.Builder.query(QueryExecutionRequest queryExecutionRequest) Creates an operation to execute the givenqueryExecutionRequest.<U extends UserDefinedModel>
QueryOperation<QueryUserDefinedModelResponse<U>>query(QueryExecutionRequest queryExecutionRequest, Class<U> udmClass) Creates an operation to execute the givenqueryExecutionRequestand map each result row to the specifiedUserDefinedModel(UDM) type.query(QueryPageRequest pageRequest) Executes a request to retrieve a specific page of query results.Deprecated.as of 21R3.4, replaced byquery(QueryExecutionRequest)validate(QueryValidationRequest queryValidationRequest) Creates an operation to validate the givenqueryValidationRequest.
-
Method Details
-
query
Deprecated.as of 21R3.4, replaced byquery(QueryExecutionRequest)Executes the givenvqlQuery.- Parameters:
vqlQuery- VQL query to execute- Returns:
- query execution response
-
query
Creates an operation to execute the givenqueryExecutionRequest. You can specify how success and error responses are handled on the returnedQueryOperation, then callQueryOperation.execute()to execute the query request. For example:queryService.query(queryExecutionRequest) .onSuccess(queryExecutionResponse -> { queryExecutionResponse.streamResults().forEach( ... ) }) .execute()The stream returned by
QueryExecutionResponse.streamResults()includes all results qualified by the query. Therefore, this method does not support the VQL pagination clausesPAGESIZEandPAGEOFFSET.- Parameters:
queryExecutionRequest- query request to execute- Returns:
- operation used to execute the query execution request
- Since:
- 21R3.4
-
query
Executes a request to retrieve a specific page of query results.- Parameters:
pageRequest- a request for a page of results- Returns:
- operation used to execute the query page request
-
query
<U extends UserDefinedModel> QueryOperation<QueryUserDefinedModelResponse<U>> query(QueryExecutionRequest queryExecutionRequest, Class<U> udmClass) Creates an operation to execute the givenqueryExecutionRequestand map each result row to the specifiedUserDefinedModel(UDM) type. You can specify how success and error responses are handled on the returnedQueryOperation, then callQueryOperation.execute()to execute the query request. For example:queryService.query(queryExecutionRequest, MyUdm.class) .onSuccess(response -> { response.streamResults().forEach(udm -> ... ) }) .execute()The stream returned by
QueryUserDefinedModelResponse.streamResults()includes all UDMs mapped from results qualified by the query.- Type Parameters:
U- the UDM type- Parameters:
queryExecutionRequest- query request to executeudmClass- the UDM type to materialize from each row; must extendUserDefinedModel- Returns:
- operation used to execute the query and obtain a typed
QueryUserDefinedModelResponse
-
count
Creates an operation to count the records qualified by the givenqueryCountRequest. You can specify how success and error responses are handled on the returnedQueryOperation, then callQueryOperation.execute()to execute the query request. For example:queryService.count(queryCountRequest) .onSuccess(queryCountResponse -> { queryCountResponse.getCount() ... }) .execute()- Parameters:
queryCountRequest- query count request to execute- Returns:
- operation used to count the records qualified by the query count request
-
validate
Creates an operation to validate the givenqueryValidationRequest. You can specify how success and error responses are handled on the returnedQueryOperation, then callQueryOperation.execute()to execute the query request. For example:queryService.validate(queryValidationRequest) .onSuccess(queryValidationResponse -> { queryValidationResponse.getQuery() ... }) .execute()- Parameters:
queryValidationRequest- query validation request to execute- Returns:
- operation used to validate the query validation request
-
newQueryExecutionRequestBuilder
QueryExecutionRequest.Builder newQueryExecutionRequestBuilder()Retrieves aQueryExecutionRequest.Builder.- Returns:
- a QueryRequest builder
-
newQueryPageRequestBuilder
QueryPageRequest.Builder newQueryPageRequestBuilder()Creates a newQueryPageRequest.Builderfor constructing a query page request.- Returns:
- a new QueryPageRequest builder
-
newQueryCountRequestBuilder
QueryCountRequest.Builder newQueryCountRequestBuilder()Retrieves aQueryCountRequest.Builder.- Returns:
- a QueryCountRequest builder
-
newQueryValidationRequestBuilder
QueryValidationRequest.Builder newQueryValidationRequestBuilder()Retrieves aQueryValidationRequest.Builder.- Returns:
- a QueryValidationRequest builder
-
newQueryFacetRequestBuilder
QueryFacetRequest.Builder newQueryFacetRequestBuilder()Retrieves aQueryFacetRequest.Builder.- Returns:
- a QueryFacetRequest builder
-
newQueryBuilder
Query.Builder newQueryBuilder()Retrieves aQuery.Builder.- Returns:
- a Query builder
-
newQueryBuilderFromQuery
Creates aQuery.Builderbased on aQuery.- Parameters:
query- Query with which to populate the returned builder- Returns:
- a Query builder based on the given
query
-
newQueryShowTargetsRequestBuilder
QueryShowTargetsRequest.Builder newQueryShowTargetsRequestBuilder()Retrieves aQueryShowTargetsRequest.Builder.- Returns:
- a QueryShowTargetsRequest builder
-
newQueryShowFieldsRequestBuilder
QueryShowFieldsRequest.Builder newQueryShowFieldsRequestBuilder()Retrieves aQueryShowFieldsRequest.Builder.- Returns:
- a QueryShowFieldsRequest builder
-
newQueryShowRelationshipsRequestBuilder
QueryShowRelationshipsRequest.Builder newQueryShowRelationshipsRequestBuilder()Retrieves aQueryShowRelationshipsRequest.Builder.- Returns:
- a QueryShowRelationshipsRequest builder
-
escape
Deprecated.This method only escapes single quotes and backslashes and does not provide a way to escape other special characters. As of 21R3.4, the preferred escape utility isescapeValue(String, QueryEscapeOverride...)which escapes all VQL special characters by default and supports overriding the default escape strategy.Escapes special characters in a string for use in a VQL statement.Escaped characters include single quotes and backslashes. This method does not escape reserved keywords, such as SELECT or WHERE.
All user-provided values should be escaped to ensure your queries execute as expected. For example, in the following VQL statement:
SELECT id FROM user__sys WHERE name__v='O'Brien'
Thenamevalue is a user-entered value which, if not escaped, could cause the VQL parser to fail because of the special character.Note that improperly escaped VQL will not bypass configured security.
- Parameters:
value- the value to escape- Returns:
- the escaped value
-
escapeValue
Escapes all VQL special characters in a string for use in a VQL statement.VQL special characters are:
\ " ' ( ) * %Optionally, any number of
QueryEscapeOverridecan be used to exempt certain special characters from being escaped.- Parameters:
value- the value to escapeescapeOverrides- overrides(s) indicating which characters not to escape- Returns:
- the escaped value
-