Class SubquerySupport
java.lang.Object
org.hibernate.dialect.sql.ast.spi.SubquerySupport
Immutable description of the subquery placements supported by a Dialect.
Providers supply a stable profile through
Dialect.getSubquerySupport(). Each feature answers one
independent placement question. In particular, SubquerySupport.Feature.SELECT_LIST
reports scalar-subquery placement and does not imply
SubquerySupport.Feature.EXISTS_IN_SELECT, which reports the specialized placement of an
exists predicate in the select list.
SubquerySupport.Feature.LATERAL reports native or proprietary correlated-derived-table
support. The SQL AST translator remains responsible for spelling and any
fallback rendering.
- Since:
- 8.0
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuild an immutable subquery-support profile.static enumAn independently configurable subquery placement. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SubquerySupportNo supported subquery placement.static final SubquerySupportThe base-Dialect profile. -
Method Summary
Modifier and TypeMethodDescriptionstatic SubquerySupport.Builderbuilder()Create a builder initialized fromSTANDARD.static SubquerySupport.Builderbuilder(SubquerySupport base) Create a builder initialized with the complete feature set from the given profile.The immutable set of supported subquery placements.booleansupports(SubquerySupport.Feature feature) Whether the given subquery placement is supported.
-
Field Details
-
NONE
No supported subquery placement. -
STANDARD
The base-Dialect profile. Offset in subqueries and lateral derived tables are disabled; all other placements are enabled.
-
-
Method Details
-
builder
Create a builder initialized fromSTANDARD. -
builder
Create a builder initialized with the complete feature set from the given profile.- Parameters:
base- the non-null profile to copy
-
getFeatures
The immutable set of supported subquery placements. -
supports
Whether the given subquery placement is supported.
-