OmniSciDB  f17484ade4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker Class Reference
+ Inheritance diagram for com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker:
+ Collaboration diagram for com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker:

Public Member Functions

boolean isEqualityJoinOperator (SqlBasicCall basicCall)
 
Void visit (SqlCall call)
 

Package Functions

boolean containsExpression (SqlNode node)
 

Package Attributes

Set< SqlBasicCall > targetCalls = new HashSet<>()
 

Detailed Description

Definition at line 1835 of file HeavyDBParser.java.

Member Function Documentation

boolean com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker.containsExpression ( SqlNode  node)
inlinepackage

Definition at line 1864 of file HeavyDBParser.java.

Referenced by com.mapd.calcite.parser.HeavyDBParser.getPlanner().

1864  {
1865  try {
1866  if (null != node) {
1867  node.accept(this);
1868  for (SqlBasicCall basicCall : targetCalls) {
1869  if (isEqualityJoinOperator(basicCall)) {
1870  throw Util.FoundOne.NULL;
1871  }
1872  }
1873  }
1874  return false;
1875  } catch (Util.FoundOne e) {
1876  return true;
1877  }
1878  }

+ Here is the caller graph for this function:

boolean com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker.isEqualityJoinOperator ( SqlBasicCall  basicCall)
inline

Definition at line 1838 of file HeavyDBParser.java.

1838  {
1839  if (null != basicCall) {
1840  if (basicCall.operands.length == 2
1841  && (basicCall.getKind() == SqlKind.EQUALS
1842  || basicCall.getKind() == SqlKind.NOT_EQUALS)
1843  && basicCall.operand(0) instanceof SqlIdentifier
1844  && basicCall.operand(1) instanceof SqlIdentifier) {
1845  return true;
1846  }
1847  }
1848  return false;
1849  }
Void com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker.visit ( SqlCall  call)
inline

Definition at line 1852 of file HeavyDBParser.java.

1852  {
1853  if (call instanceof SqlBasicCall) {
1854  targetCalls.add((SqlBasicCall) call);
1855  }
1856  for (SqlNode node : call.getOperandList()) {
1857  if (null != node && !targetCalls.contains(node)) {
1858  node.accept(this);
1859  }
1860  }
1861  return super.visit(call);
1862  }

Member Data Documentation

Set<SqlBasicCall> com.mapd.calcite.parser.HeavyDBParser.JoinOperatorChecker.targetCalls = new HashSet<>()
package

Definition at line 1836 of file HeavyDBParser.java.


The documentation for this class was generated from the following file: