public final class JoinRules extends Object implements LayoutRule
JOIN, LEFT OUTER JOIN, INNER JOIN, CROSS APPLY,
...) and before each ON / USING that opens a join condition.
JOIN or
APPLY. This stops a LEFT( string function inside an
ON predicate (... ON left(x,1) = y) from being mistaken
for a LEFT JOIN.ON/USING break only at the join operator's own block
(paren) depth, so a structural-looking keyword inside a function call
(e.g. JSON ... NULL ON ERROR ...) does not trigger a break.Gated to tokens whose S21 ClausePart is ClausePart.JOIN.
Priority LayoutPriorities.JOIN_PAREN_COMMA. Needs the S21 clause and
S19 block analyses on the context. Iterative; read-only.
Plan reference: §7.3/S26, §7.4/S26.
| Constructor and Description |
|---|
JoinRules() |
| Modifier and Type | Method and Description |
|---|---|
void |
apply(LayoutContext context)
Apply the rule, requesting layout decisions on the context.
|
String |
name()
Short, stable identifier for logging/diagnostics.
|
int |
priority()
The rule's precedence.
|
public JoinRules()
public int priority()
LayoutRulepriority in interface LayoutRulepublic String name()
LayoutRulename in interface LayoutRulepublic void apply(LayoutContext context)
LayoutRuleapply in interface LayoutRule