Class CosmosSqlQueryBuilder2
java.lang.Object
io.micronaut.data.model.query.builder.sql.AbstractSqlLikeQueryBuilder2
io.micronaut.data.model.query.builder.sql.SqlQueryBuilder2
io.micronaut.data.document.model.query.builder.CosmosSqlQueryBuilder2
- All Implemented Interfaces:
- QueryBuilder2
The Azure Cosmos DB sql query builder.
- Since:
- 3.9.0
- Author:
- radovanradic
- 
Nested Class SummaryNested classes/interfaces inherited from class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder2SqlQueryBuilder2.InsertQueryDefinitionImpl, SqlQueryBuilder2.SqlSelectionVisitorNested classes/interfaces inherited from class io.micronaut.data.model.query.builder.sql.AbstractSqlLikeQueryBuilder2AbstractSqlLikeQueryBuilder2.Placeholder, AbstractSqlLikeQueryBuilder2.QueryBuilder, AbstractSqlLikeQueryBuilder2.QueryPosition, AbstractSqlLikeQueryBuilder2.QueryPropertyPath, AbstractSqlLikeQueryBuilder2.QueryState, AbstractSqlLikeQueryBuilder2.SqlPredicateVisitorNested classes/interfaces inherited from interface io.micronaut.data.model.query.builder.QueryBuilder2QueryBuilder2.BaseQueryDefinition, QueryBuilder2.DeleteQueryDefinition, QueryBuilder2.InsertQueryDefinition, QueryBuilder2.SelectQueryDefinition, QueryBuilder2.UpdateQueryDefinition
- 
Field SummaryFields inherited from class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder2DEFAULT_POSITIONAL_PARAMETER_MARKER, SQL_SERVER_FOR_UPDATE_CLAUSE, STANDARD_FOR_UPDATE_CLAUSEFields inherited from class io.micronaut.data.model.query.builder.sql.AbstractSqlLikeQueryBuilder2ALIAS_REPLACE_QUOTED, AND, AS_CLAUSE, CANNOT_QUERY_ON_ID_WITH_ENTITY_THAT_HAS_NO_ID, CLOSE_BRACKET, COMMA, DISTINCT, DOT, FROM_CLAUSE, LOGICAL_AND, LOGICAL_OR, NOT, OPEN_BRACKET, OR, ORDER_BY_CLAUSE, RETURNING, SELECT_CLAUSE, SPACE, WHERE_CLAUSE
- 
Constructor SummaryConstructorsConstructorDescriptionCosmosSqlQueryBuilder2(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected StringBuilderappendDeleteClause(StringBuilder queryString) Append the delete clause.protected StringConvert the literal value to it's SQL representation.buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder2.InsertQueryDefinition definition) Builds an insert statement for the given entity.protected voidbuildJoin(String joinType, StringBuilder query, AbstractSqlLikeQueryBuilder2.QueryState queryState, PersistentAssociationPath joinAssociation, PersistentEntity associationOwner, String currentJoinAlias, String lastJoinAlias) Build a join expression for the given alias, association, join type and builder.buildLimitAndOffset(long limit, long offset) Generate the limit and offset query.buildSelect(@NonNull io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, @NonNull QueryBuilder2.SelectQueryDefinition definition) Encode the given query for the passed annotation metadata and query.buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder2.UpdateQueryDefinition definition) Encode the given query into the encoded query instance.protected booleanWhether property path expressions require computation by the implementation.createPredicateVisitor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, AbstractSqlLikeQueryBuilder2.QueryState queryState) Create a predicate visitor.protected SqlQueryBuilder2.SqlSelectionVisitorcreateSelectionVisitor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, AbstractSqlLikeQueryBuilder2.QueryState queryState, boolean distinct) Create a selection visitor.protected NamingStrategygetNamingStrategy(PersistentEntity entity) GetsNamingStrategyfor the entity.protected NamingStrategygetNamingStrategy(PersistentPropertyPath propertyPath) GetsNamingStrategyfor the property path.protected booleanisAliasForBatch(PersistentEntity persistentEntity, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) Should aliases be used in batch statements.protected booleanMethods inherited from class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder2appendForUpdate, appendPaginationAndOrder, appendUpdateSetParameter, buildBatchCreateTableStatement, buildBatchDropTableStatement, buildCreateTableStatements, buildDropTableStatements, buildJoinTableInsert, formatParameter, getAliasName, getColumnName, getDialect, getTableAsKeyword, getTableName, isForeignKeyWithJoinTable, positionalParameterFormat, quote, resolveJoinType, selectAutoStrategy, shouldEscapeMethods inherited from class io.micronaut.data.model.query.builder.sql.AbstractSqlLikeQueryBuilder2appendExpression, appendLimitAndOffset, appendOrder, appendPropertyRef, appendTransformed, asPath, asQueryPropertyPath, buildAdditionalWhereClause, buildAdditionalWhereString, buildAdditionalWhereString, buildDelete, buildOrderBy, buildPropertyByName, buildQuery, buildSelect, buildWhereClause, checkDialectSupportsJsonEntity, getAliasName, getColumnAlias, getDataTransformerReadValue, getDataTransformerWriteValue, getMappedName, getMappedName, getMappedName, getPathOnlyAliasName, getUnescapedTableName, isJsonEntity, newBindingContext, resolveWhereForAnnotationMetadata
- 
Constructor Details- 
CosmosSqlQueryBuilder2@Creator public CosmosSqlQueryBuilder2(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) 
 
- 
- 
Method Details- 
asLiteralDescription copied from class:AbstractSqlLikeQueryBuilder2Convert the literal value to it's SQL representation.- Overrides:
- asLiteralin class- SqlQueryBuilder2
- Parameters:
- value- The literal value
- Returns:
- converter value
 
- 
traverseEmbeddedprotected boolean traverseEmbedded()- Overrides:
- traverseEmbeddedin class- AbstractSqlLikeQueryBuilder2
- Returns:
- True if embedded properties should be traversed
 
- 
createSelectionVisitorprotected SqlQueryBuilder2.SqlSelectionVisitor createSelectionVisitor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, AbstractSqlLikeQueryBuilder2.QueryState queryState, boolean distinct) Description copied from class:AbstractSqlLikeQueryBuilder2Create a selection visitor.- Overrides:
- createSelectionVisitorin class- SqlQueryBuilder2
- Parameters:
- annotationMetadata- The annotation metadata
- queryState- The query state
- distinct- The distinct
- Returns:
- The visitor
 
- 
createPredicateVisitorprotected AbstractSqlLikeQueryBuilder2.SqlPredicateVisitor createPredicateVisitor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, AbstractSqlLikeQueryBuilder2.QueryState queryState) Description copied from class:AbstractSqlLikeQueryBuilder2Create a predicate visitor.- Overrides:
- createPredicateVisitorin class- AbstractSqlLikeQueryBuilder2
- Parameters:
- annotationMetadata- The annotation metadata
- queryState- The query state
- Returns:
- The visitor
 
- 
getNamingStrategyDescription copied from class:AbstractSqlLikeQueryBuilder2GetsNamingStrategyfor the entity. Subclasses might override and potentially provide different strategy in some cases.- Overrides:
- getNamingStrategyin class- AbstractSqlLikeQueryBuilder2
- Parameters:
- entity- the persistent entity
- Returns:
- naming strategy for the entity
 
- 
getNamingStrategyDescription copied from class:AbstractSqlLikeQueryBuilder2GetsNamingStrategyfor the property path. Subclasses might override and potentially provide different strategy in some cases.- Overrides:
- getNamingStrategyin class- AbstractSqlLikeQueryBuilder2
- Parameters:
- propertyPath- the property path representation
- Returns:
- naming strategy for the property path
 
- 
buildSelectpublic QueryResult buildSelect(@NonNull @NonNull io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, @NonNull @NonNull QueryBuilder2.SelectQueryDefinition definition) Description copied from interface:QueryBuilder2Encode the given query for the passed annotation metadata and query.- Specified by:
- buildSelectin interface- QueryBuilder2
- Overrides:
- buildSelectin class- SqlQueryBuilder2
- Parameters:
- annotationMetadata- The annotation metadata
- definition- The query model
- Returns:
- The query result
 
- 
buildJoinprotected void buildJoin(String joinType, StringBuilder query, AbstractSqlLikeQueryBuilder2.QueryState queryState, PersistentAssociationPath joinAssociation, PersistentEntity associationOwner, String currentJoinAlias, String lastJoinAlias) Description copied from class:AbstractSqlLikeQueryBuilder2Build a join expression for the given alias, association, join type and builder.- Overrides:
- buildJoinin class- SqlQueryBuilder2
- Parameters:
- joinType- The join type
- query- The query builder
- queryState- The state
- joinAssociation- The association
- associationOwner- The associated owner
- currentJoinAlias- The current join alias
- lastJoinAlias- The last join alias
 
- 
appendDeleteClauseDescription copied from class:AbstractSqlLikeQueryBuilder2Append the delete clause.- Overrides:
- appendDeleteClausein class- AbstractSqlLikeQueryBuilder2
- Parameters:
- queryString- The query string
- Returns:
- The delete clause
 
- 
isAliasForBatchprotected boolean isAliasForBatch(PersistentEntity persistentEntity, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) Description copied from class:AbstractSqlLikeQueryBuilder2Should aliases be used in batch statements.- Overrides:
- isAliasForBatchin class- SqlQueryBuilder2
- Parameters:
- persistentEntity- the persistent entity
- annotationMetadata- the method annotation metadata
- Returns:
- True if they should
 
- 
computePropertyPathsprotected boolean computePropertyPaths()Description copied from class:AbstractSqlLikeQueryBuilder2Whether property path expressions require computation by the implementation. In a certain query dialects property paths are supported (such as JPA-QL where you can do select foo.bar) whilst for explicit SQL queries paths like this have to be computed into aliases / column name references.- Overrides:
- computePropertyPathsin class- SqlQueryBuilder2
- Returns:
- True if property path computation is required.
 
- 
buildInsertpublic QueryResult buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder2.InsertQueryDefinition definition) Description copied from interface:QueryBuilder2Builds an insert statement for the given entity.- Specified by:
- buildInsertin interface- QueryBuilder2
- Overrides:
- buildInsertin class- SqlQueryBuilder2
- Parameters:
- repositoryMetadata- The repository annotation metadata
- definition- The definition
- Returns:
- The insert statement or null if the implementation doesn't require insert statements
 
- 
buildUpdatepublic QueryResult buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder2.UpdateQueryDefinition definition) Description copied from interface:QueryBuilder2Encode the given query into the encoded query instance.- Specified by:
- buildUpdatein interface- QueryBuilder2
- Overrides:
- buildUpdatein class- AbstractSqlLikeQueryBuilder2
- Parameters:
- annotationMetadata- The annotation metadata
- definition- The definition
- Returns:
- The encoded query
 
- 
buildLimitAndOffsetDescription copied from interface:QueryBuilder2Generate the limit and offset query.- Specified by:
- buildLimitAndOffsetin interface- QueryBuilder2
- Overrides:
- buildLimitAndOffsetin class- AbstractSqlLikeQueryBuilder2
- Parameters:
- limit- The limit (-1 of not set)
- offset- The offset (0 if not set)
- Returns:
- The encoded query
 
 
-