@Override
 public void visit(Column column) {
   Table affectedTable = column.getTable();
   if (_sideTable == null) {
     _sideTable = affectedTable;
   } else {
     if (!ParserUtil.equals(_sideTable, affectedTable)) {
       throw new RuntimeException(
           "Multiple tables on one side of a join condition is not supported yet!");
     }
   }
 }
  @Override
  public void visit(Column column) {
    // extract type for the column
    String tableSchemaName = _tan.getSchemaName(ParserUtil.getComponentName(column.getTable()));
    String columnName = column.getColumnName();
    TypeConversion tc = _schema.getType(tableSchemaName, columnName);

    // extract the position (index) of the required column
    int position =
        HierarchyExtractor.extractComponentIndex(
            column, _affectedComponent, _queryPlan, _schema, _tan);

    ValueExpression ve = new ColumnReference(tc, position);
    _exprStack.push(ve);
  }
Exemple #3
0
 public void visit(Column tableColumn) throws Exception {
   if (tableColumn.getTable() != null) {
     tableColumn.getTable().accept(this);
   }
 }