public void setField(String fieldName, TblColRef col, int index) { fieldMap.put(fieldName, index); if (col != null) columnMap.put(col, index); if (fields.size() > index) fields.set(index, fieldName); else fields.add(index, fieldName); if (columns.size() > index) columns.set(index, col); else columns.add(index, col); if (col != null) { if (dataTypeNames.size() > index) dataTypeNames.set(index, col.getColumnDesc().getUpgradedType().getName()); else dataTypeNames.add(index, col.getColumnDesc().getUpgradedType().getName()); } }
@Override public boolean moveNext() { boolean hasNext = iterator.hasNext(); if (hasNext) { String[] row = iterator.next(); for (int i = 0, n = colDescs.size(); i < n; i++) { ColumnDesc colDesc = colDescs.get(i); int colIdx = colDesc.getZeroBasedIndex(); if (colIdx >= 0) { current[i] = Tuple.convertOptiqCellValue(row[colIdx], colDesc.getUpgradedType().getName()); } else { current[i] = null; // fake column } } } return hasNext; }
@SuppressWarnings("deprecation") private RelDataType deriveRowType(RelDataTypeFactory typeFactory) { RelDataTypeFactory.FieldInfoBuilder fieldInfo = typeFactory.builder(); for (ColumnDesc column : sourceColumns) { RelDataType sqlType = createSqlType(typeFactory, column.getUpgradedType(), column.isNullable()); sqlType = SqlTypeUtil.addCharsetAndCollation(sqlType, typeFactory); fieldInfo.add(column.getName(), sqlType); } return typeFactory.createStructType(fieldInfo); }
public void setField(String fieldName, TblColRef col, int index) { fieldMap.put(fieldName, index); if (col != null) columnMap.put(col, index); if (fields.size() > index) fields.set(index, fieldName); else fields.add(index, fieldName); if (columns.size() > index) columns.set(index, col); else columns.add(index, col); if (col != null) { if (dataTypeNames.size() > index) dataTypeNames.set(index, col.getColumnDesc().getUpgradedType().getName()); else dataTypeNames.add(index, col.getColumnDesc().getUpgradedType().getName()); } }
@Override public boolean moveNext() { boolean hasNext = iterator.hasNext(); if (hasNext) { String[] row = iterator.next(); for (int i = 0, n = colDescs.size(); i < n; i++) { ColumnDesc colDesc = colDescs.get(i); int colIdx = colDesc.getZeroBasedIndex(); if (colIdx >= 0) { current[i] = Tuple.convertOptiqCellValue(row[colIdx], colDesc.getUpgradedType().getName()); } else { current[i] = null; // fake column } } } return hasNext; }
@SuppressWarnings("deprecation") private RelDataType deriveRowType(RelDataTypeFactory typeFactory) { RelDataTypeFactory.FieldInfoBuilder fieldInfo = typeFactory.builder(); for (ColumnDesc column : sourceColumns) { RelDataType sqlType = createSqlType(typeFactory, column.getUpgradedType(), column.isNullable()); sqlType = SqlTypeUtil.addCharsetAndCollation(sqlType, typeFactory); fieldInfo.add(column.getName(), sqlType); } return typeFactory.createStructType(fieldInfo); }