Class CosmosSqlQueryBuilder

java.lang.Object
io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
io.micronaut.data.document.model.query.builder.CosmosSqlQueryBuilder
All Implemented Interfaces:
io.micronaut.data.model.query.builder.QueryBuilder, Annotation

public final class CosmosSqlQueryBuilder extends io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
The Azure Cosmos DB sql query builder.
Since:
3.9.0
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder

    io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.CriteriaContext, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.CriterionHandler<T extends io.micronaut.data.model.query.QueryModel.Criterion>, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.Placeholder, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryPosition, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryPropertyPath, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState
  • Field Summary

    Fields inherited from class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder

    DEFAULT_POSITIONAL_PARAMETER_MARKER, SQL_SERVER_FOR_UPDATE_CLAUSE, STANDARD_FOR_UPDATE_CLAUSE

    Fields inherited from class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder

    ALIAS_REPLACE, ALIAS_REPLACE_QUOTED, AND, AS_CLAUSE, AVG, CLOSE_BRACKET, COMMA, COUNT_DISTINCT, DELETE_CLAUSE, DISTINCT, DOT, EQUALS, EQUALS_FALSE, EQUALS_TRUE, FROM_CLAUSE, FUNCTION_COUNT, GREATER_THAN, GREATER_THAN_OR_EQUALS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, JSON_COLUMN, LESS_THAN, LESS_THAN_OR_EQUALS, LOGICAL_AND, LOGICAL_OR, MAX, MIN, NOT, NOT_EQUALS, OPEN_BRACKET, OR, ORDER_BY_CLAUSE, queryHandlers, RETURNING, SELECT_CLAUSE, SPACE, SUM, UPDATE_CLAUSE, WHERE_CLAUSE

    Fields inherited from interface io.micronaut.data.model.query.builder.QueryBuilder

    VARIABLE_PATTERN
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    CosmosSqlQueryBuilder(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    appendAssociationProjection(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryString, io.micronaut.data.model.PersistentProperty property, io.micronaut.data.model.PersistentPropertyPath propertyPath, String columnAlias)
     
    protected StringBuilder
     
    protected void
    appendProjectionRowCount(StringBuilder queryString, String logicalName)
     
    protected String
     
    io.micronaut.data.model.query.builder.QueryResult
    buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, io.micronaut.data.model.PersistentEntity entity)
     
    protected void
    buildJoin(String joinType, StringBuilder sb, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, List<io.micronaut.data.model.Association> joinAssociationsPath, String joinAlias, io.micronaut.data.model.Association association, io.micronaut.data.model.PersistentEntity associatedEntity, io.micronaut.data.model.PersistentEntity associationOwner, String currentJoinAlias)
     
    @NonNull io.micronaut.data.model.query.builder.QueryResult
    buildPagination(@NonNull io.micronaut.data.model.Pageable pageable)
     
    io.micronaut.data.model.query.builder.QueryResult
    buildQuery(@NonNull io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, @NonNull io.micronaut.data.model.query.QueryModel query)
     
    io.micronaut.data.model.query.builder.QueryResult
    buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.data.model.query.QueryModel query, Map<String,Object> propertiesToUpdate)
     
    protected boolean
     
    protected io.micronaut.data.model.naming.NamingStrategy
    getNamingStrategy(io.micronaut.data.model.PersistentEntity entity)
     
    protected io.micronaut.data.model.naming.NamingStrategy
    getNamingStrategy(io.micronaut.data.model.PersistentPropertyPath propertyPath)
     
    protected boolean
    isAliasForBatch(io.micronaut.data.model.PersistentEntity persistentEntity, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
     
    protected void
    selectAllColumns(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryBuffer)
     
    protected void
    selectAllColumnsFromJoinPaths(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryBuffer, Collection<io.micronaut.data.model.query.JoinPath> allPaths, @Nullable Map<io.micronaut.data.model.query.JoinPath,String> joinAliasOverride)
     
    protected void
    traversePersistentProperties(List<io.micronaut.data.model.Association> associations, io.micronaut.data.model.PersistentProperty property, BiConsumer<List<io.micronaut.data.model.Association>,io.micronaut.data.model.PersistentProperty> consumerProperty)
     

    Methods inherited from class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder

    annotationType, appendForUpdate, appendUpdateSetParameter, buildBatchCreateTableStatement, buildBatchDropTableStatement, buildCreateTableStatements, buildDropTableStatements, buildInsertReturning, buildJoin, buildJoinTableInsert, concat, dialect, escapeQueries, formatParameter, getAliasName, getColumnName, getDialect, getTableAsKeyword, getTableName, isExpandEmbedded, isForeignKeyWithJoinTable, positionalParameterFormat, positionalParameterName, positionalParameterPattern, quote, resolveJoinType, selectAllColumns, selectAutoStrategy, shouldAliasProjections, shouldEscape, supportsForUpdate

    Methods inherited from class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder

    addCriterionHandler, appendCompoundAssociationProjection, appendCompoundPropertyProjection, appendOrder, appendProperty, appendPropertyRef, appendTransformed, asLiterals, asPath, buildAdditionalWhereClause, buildAdditionalWhereString, buildAdditionalWhereString, buildDelete, buildOrderBy, buildOrderBy, buildOrderBy, buildSelect, buildUpdate, buildWhereClause, checkDialectSupportsJsonEntity, getAliasName, getColumnAlias, getDataTransformerReadValue, getDataTransformerWriteValue, getMappedName, getMappedName, getMappedName, getPathOnlyAliasName, getUnescapedTableName, handleSubQuery, isJsonEntity, newBindingContext, resolveWhereForAnnotationMetadata, selectAllColumns, traversePersistentProperties, traversePersistentProperties, traversePersistentProperties

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.data.model.query.builder.QueryBuilder

    buildDelete, buildDelete, buildOrderBy, buildUpdate, buildUpdate, buildUpdate
  • Constructor Details

    • CosmosSqlQueryBuilder

      @Creator public CosmosSqlQueryBuilder(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
    • CosmosSqlQueryBuilder

      public CosmosSqlQueryBuilder()
      Default constructor.
  • Method Details

    • asLiteral

      protected String asLiteral(Object value)
      Overrides:
      asLiteral in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • appendProjectionRowCount

      protected void appendProjectionRowCount(StringBuilder queryString, String logicalName)
      Overrides:
      appendProjectionRowCount in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • getNamingStrategy

      protected io.micronaut.data.model.naming.NamingStrategy getNamingStrategy(io.micronaut.data.model.PersistentEntity entity)
      Overrides:
      getNamingStrategy in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • getNamingStrategy

      protected io.micronaut.data.model.naming.NamingStrategy getNamingStrategy(io.micronaut.data.model.PersistentPropertyPath propertyPath)
      Overrides:
      getNamingStrategy in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • traversePersistentProperties

      protected void traversePersistentProperties(List<io.micronaut.data.model.Association> associations, io.micronaut.data.model.PersistentProperty property, BiConsumer<List<io.micronaut.data.model.Association>,io.micronaut.data.model.PersistentProperty> consumerProperty)
      Overrides:
      traversePersistentProperties in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • buildQuery

      public io.micronaut.data.model.query.builder.QueryResult buildQuery(@NonNull @NonNull io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, @NonNull @NonNull io.micronaut.data.model.query.QueryModel query)
      Specified by:
      buildQuery in interface io.micronaut.data.model.query.builder.QueryBuilder
      Overrides:
      buildQuery in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • selectAllColumnsFromJoinPaths

      @Internal protected void selectAllColumnsFromJoinPaths(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryBuffer, Collection<io.micronaut.data.model.query.JoinPath> allPaths, @Nullable @Nullable Map<io.micronaut.data.model.query.JoinPath,String> joinAliasOverride)
      Overrides:
      selectAllColumnsFromJoinPaths in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • appendAssociationProjection

      protected boolean appendAssociationProjection(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryString, io.micronaut.data.model.PersistentProperty property, io.micronaut.data.model.PersistentPropertyPath propertyPath, String columnAlias)
      Overrides:
      appendAssociationProjection in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • selectAllColumns

      protected void selectAllColumns(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, StringBuilder queryBuffer)
      Overrides:
      selectAllColumns in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • buildJoin

      protected void buildJoin(String joinType, StringBuilder sb, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, List<io.micronaut.data.model.Association> joinAssociationsPath, String joinAlias, io.micronaut.data.model.Association association, io.micronaut.data.model.PersistentEntity associatedEntity, io.micronaut.data.model.PersistentEntity associationOwner, String currentJoinAlias)
      Overrides:
      buildJoin in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • appendDeleteClause

      protected StringBuilder appendDeleteClause(StringBuilder queryString)
      Overrides:
      appendDeleteClause in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • isAliasForBatch

      protected boolean isAliasForBatch(io.micronaut.data.model.PersistentEntity persistentEntity, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
      Overrides:
      isAliasForBatch in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • computePropertyPaths

      protected boolean computePropertyPaths()
      Overrides:
      computePropertyPaths in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • buildInsert

      public io.micronaut.data.model.query.builder.QueryResult buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, io.micronaut.data.model.PersistentEntity entity)
      Specified by:
      buildInsert in interface io.micronaut.data.model.query.builder.QueryBuilder
      Overrides:
      buildInsert in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
    • buildUpdate

      public io.micronaut.data.model.query.builder.QueryResult buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.data.model.query.QueryModel query, Map<String,Object> propertiesToUpdate)
      Specified by:
      buildUpdate in interface io.micronaut.data.model.query.builder.QueryBuilder
      Overrides:
      buildUpdate in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
    • buildPagination

      @NonNull public @NonNull io.micronaut.data.model.query.builder.QueryResult buildPagination(@NonNull @NonNull io.micronaut.data.model.Pageable pageable)
      Specified by:
      buildPagination in interface io.micronaut.data.model.query.builder.QueryBuilder
      Overrides:
      buildPagination in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder