Interface SqmToSqlAstConverter

All Superinterfaces:
SemanticQueryWalker<Object>, SqlAstCreationState
All Known Subinterfaces:
SqmTranslator<T>
All Known Implementing Classes:
BaseSqmToSqlAstConverter, FakeSqmToSqlAstConverter, MultiTableSqmMutationConverter, StandardSqmTranslator, SybaseSqmToSqlAstConverter

public interface SqmToSqlAstConverter extends SemanticQueryWalker<Object>, SqlAstCreationState
Specialized SemanticQueryWalker (SQM visitor) for producing SQL AST.
  • Method Details

    • getCurrentClauseStack

      Stack<Clause> getCurrentClauseStack()
    • getSqmQueryPartStack

      Stack<SqmQueryPart> getSqmQueryPartStack()
    • getCurrentSqmQueryPart

      default SqmQueryPart<?> getCurrentSqmQueryPart()
    • registerQueryTransformer

      void registerQueryTransformer(QueryTransformer transformer)
    • getCurrentlyProcessingJoinType

      @Nullable SqlAstJoinType getCurrentlyProcessingJoinType()
      Returns the SqlAstJoinType of the currently processing join if there is one, or null. This is used to determine the join type for implicit joins happening in the ON clause.
    • isInTypeInference

      boolean isInTypeInference()
      Returns whether the state of the translation is currently in type inference mode. This is useful to avoid type inference based on other incomplete inference information.
    • resolveFunctionImpliedReturnType

      @Nullable MappingModelExpressible<?> resolveFunctionImpliedReturnType()
      Returns the function return type implied from the context within which it is used. If there is no current function being processed or no context implied type, the return is null.
    • determineValueMapping

      MappingModelExpressible<?> determineValueMapping(SqmExpression<?> sqmExpression)
    • visitWithInferredType

      Object visitWithInferredType(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess)
      Visits the given node with the given inferred type access.
    • expandSelfRenderingFunctionMultiValueParameter

      List<Expression> expandSelfRenderingFunctionMultiValueParameter(SqmParameter<?> sqmParameter)
    • visitNestedTopLevelPredicate

      Predicate visitNestedTopLevelPredicate(SqmPredicate predicate)
    • resolveMetadata

      default <S, M> M resolveMetadata(S source, Function<S,M> producer)
      Resolve a generic metadata object from the provided source, using the specified producer.