Package org.apache.calcite.rel.core
Enum JoinRelType
- java.lang.Object
-
- java.lang.Enum<JoinRelType>
-
- org.apache.calcite.rel.core.JoinRelType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<JoinRelType>
public enum JoinRelType extends java.lang.Enum<JoinRelType>
Enumeration of join types.
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.String
lowerName
Lower-case name.
-
Constructor Summary
Constructors Modifier Constructor Description private
JoinRelType()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JoinRelType
cancelNullsOnLeft()
Returns a join type similar to this but that does not generate nulls on the left.JoinRelType
cancelNullsOnRight()
Returns a join type similar to this but that does not generate nulls on the right.boolean
generatesNullsOn(int i)
Returns whether this join type generates nulls on side #i
.boolean
generatesNullsOnLeft()
Returns whether a join of this type may generate NULL values on the left-hand side.boolean
generatesNullsOnRight()
Returns whether a join of this type may generate NULL values on the right-hand side.boolean
isOuterJoin()
Returns whether a join of this type is an outer join, returns true if the join type may generate NULL values, either on the left-hand side or right-hand side.boolean
projectsRight()
JoinRelType
swap()
Swaps left to right, and vice versa.static JoinRelType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static JoinRelType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INNER
public static final JoinRelType INNER
Inner join.
-
LEFT
public static final JoinRelType LEFT
Left-outer join.
-
RIGHT
public static final JoinRelType RIGHT
Right-outer join.
-
FULL
public static final JoinRelType FULL
Full-outer join.
-
SEMI
public static final JoinRelType SEMI
Semi-join.For example,
EMP semi-join DEPT
finds allEMP
records that have a correspondingDEPT
record:SELECT * FROM EMP WHERE EXISTS (SELECT 1 FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO)
-
ANTI
public static final JoinRelType ANTI
Anti-join (also known as Anti-semi-join).For example,
EMP anti-join DEPT
finds allEMP
records that do not have a correspondingDEPT
record:SELECT * FROM EMP WHERE NOT EXISTS (SELECT 1 FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO)
-
-
Method Detail
-
values
public static JoinRelType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (JoinRelType c : JoinRelType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static JoinRelType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
generatesNullsOnRight
public boolean generatesNullsOnRight()
Returns whether a join of this type may generate NULL values on the right-hand side.
-
generatesNullsOnLeft
public boolean generatesNullsOnLeft()
Returns whether a join of this type may generate NULL values on the left-hand side.
-
isOuterJoin
public boolean isOuterJoin()
Returns whether a join of this type is an outer join, returns true if the join type may generate NULL values, either on the left-hand side or right-hand side.
-
swap
public JoinRelType swap()
Swaps left to right, and vice versa.
-
generatesNullsOn
public boolean generatesNullsOn(int i)
Returns whether this join type generates nulls on side #i
.
-
cancelNullsOnLeft
public JoinRelType cancelNullsOnLeft()
Returns a join type similar to this but that does not generate nulls on the left.
-
cancelNullsOnRight
public JoinRelType cancelNullsOnRight()
Returns a join type similar to this but that does not generate nulls on the right.
-
projectsRight
public boolean projectsRight()
-
-