Class CosmosSqlQueryBuilder

  • All Implemented Interfaces:
    io.micronaut.data.model.query.builder.QueryBuilder, java.lang.annotation.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, LESS_THAN, LESS_THAN_OR_EQUALS, LOGICAL_AND, LOGICAL_OR, MAX, MIN, NOT, NOT_EQUALS, OPEN_BRACKET, OR, ORDER_BY_CLAUSE, queryHandlers, SELECT_CLAUSE, SPACE, SUM, UPDATE_CLAUSE, WHERE_CLAUSE
      • Fields inherited from interface io.micronaut.data.model.query.builder.QueryBuilder

        IN_VARIABLES_PATTERN, VARIABLE_PATTERN
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean appendAssociationProjection​(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, java.lang.StringBuilder queryString, io.micronaut.data.model.PersistentProperty property, io.micronaut.data.model.PersistentPropertyPath propertyPath)  
      protected java.lang.StringBuilder appendDeleteClause​(java.lang.StringBuilder queryString)  
      protected void appendProjectionRowCount​(java.lang.StringBuilder queryString, java.lang.String logicalName)  
      protected java.lang.String asLiteral​(java.lang.Object value)  
      io.micronaut.data.model.query.builder.QueryResult buildInsert​(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, io.micronaut.data.model.PersistentEntity entity)  
      protected void buildJoin​(java.lang.String joinType, java.lang.StringBuilder sb, io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, java.util.List<io.micronaut.data.model.Association> joinAssociationsPath, java.lang.String joinAlias, io.micronaut.data.model.Association association, io.micronaut.data.model.PersistentEntity associatedEntity, io.micronaut.data.model.PersistentEntity associationOwner, java.lang.String currentJoinAlias)  
      io.micronaut.data.model.query.builder.QueryResult buildPagination​(io.micronaut.data.model.Pageable pageable)  
      io.micronaut.data.model.query.builder.QueryResult buildQuery​(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, 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, java.util.Map<java.lang.String,​java.lang.Object> propertiesToUpdate)  
      protected boolean computePropertyPaths()  
      protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy, io.micronaut.data.model.Association association)  
      protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy, io.micronaut.data.model.PersistentProperty property)  
      protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy, java.util.List<io.micronaut.data.model.Association> associations, io.micronaut.data.model.PersistentProperty property)  
      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()  
      protected void selectAllColumns​(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, java.lang.StringBuilder queryBuffer)  
      protected void selectAllColumnsFromJoinPaths​(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState, java.lang.StringBuilder queryBuffer, java.util.Collection<io.micronaut.data.model.query.JoinPath> allPaths, java.util.Map<io.micronaut.data.model.query.JoinPath,​java.lang.String> joinAliasOverride)  
      protected void traversePersistentProperties​(java.util.List<io.micronaut.data.model.Association> associations, io.micronaut.data.model.PersistentProperty property, java.util.function.BiConsumer<java.util.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, 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, appendOrder, appendPropertyRef, appendTransformed, asLiterals, asPath, buildDelete, buildOrderBy, buildOrderBy, buildSelect, buildUpdate, buildWhereClause, getAliasName, getColumnAlias, getDataTransformerReadValue, getDataTransformerWriteValue, getPathOnlyAliasName, getUnescapedTableName, handleSubQuery, newBindingContext, 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 java.lang.annotation.Annotation

        equals, hashCode, toString
      • Methods inherited from interface io.micronaut.data.model.query.builder.QueryBuilder

        buildDelete, buildDelete, buildOrderBy, buildQuery, buildUpdate, buildUpdate, buildUpdate
    • Constructor Detail

      • CosmosSqlQueryBuilder

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

        public CosmosSqlQueryBuilder()
        Default constructor.
    • Method Detail

      • asLiteral

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

        protected void appendProjectionRowCount​(java.lang.StringBuilder queryString,
                                                java.lang.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
      • getMappedName

        protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy,
                                                 io.micronaut.data.model.PersistentProperty property)
        Overrides:
        getMappedName in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
      • getMappedName

        protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy,
                                                 io.micronaut.data.model.Association association)
        Overrides:
        getMappedName in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
      • getMappedName

        protected java.lang.String getMappedName​(io.micronaut.data.model.naming.NamingStrategy namingStrategy,
                                                 java.util.List<io.micronaut.data.model.Association> associations,
                                                 io.micronaut.data.model.PersistentProperty property)
        Overrides:
        getMappedName in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
      • traversePersistentProperties

        protected void traversePersistentProperties​(java.util.List<io.micronaut.data.model.Association> associations,
                                                    io.micronaut.data.model.PersistentProperty property,
                                                    java.util.function.BiConsumer<java.util.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
                                                                            io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
                                                                            @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,
                                                     java.lang.StringBuilder queryBuffer,
                                                     java.util.Collection<io.micronaut.data.model.query.JoinPath> allPaths,
                                                     @Nullable
                                                     java.util.Map<io.micronaut.data.model.query.JoinPath,​java.lang.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,
                                                      java.lang.StringBuilder queryString,
                                                      io.micronaut.data.model.PersistentProperty property,
                                                      io.micronaut.data.model.PersistentPropertyPath propertyPath)
        Overrides:
        appendAssociationProjection in class io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder
      • selectAllColumns

        protected void selectAllColumns​(io.micronaut.data.model.query.builder.AbstractSqlLikeQueryBuilder.QueryState queryState,
                                        java.lang.StringBuilder queryBuffer)
        Overrides:
        selectAllColumns in class io.micronaut.data.model.query.builder.sql.SqlQueryBuilder
      • buildJoin

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

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

        protected boolean isAliasForBatch()
        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,
                                                                             java.util.Map<java.lang.String,​java.lang.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 io.micronaut.data.model.query.builder.QueryResult buildPagination​(@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