@Override public int compare(ColumnDesc o1, ColumnDesc o2) { return o1.getZeroBasedIndex() - o2.getZeroBasedIndex(); } });
public int getMaxColumnIndex() { if (columns == null) { return -1; } int max = -1; for (ColumnDesc col : columns) { int idx = col.getZeroBasedIndex(); max = Math.max(max, idx); } return max; }
public List<T> scan(String col, List<T> values, String returnCol) { ArrayList<T> result = new ArrayList<T>(); int colIdx = tableDesc.findColumnByName(col).getZeroBasedIndex(); int returnIdx = tableDesc.findColumnByName(returnCol).getZeroBasedIndex(); for (T[] row : data.values()) { if (values.contains(row[colIdx])) result.add(row[returnIdx]); } return result; }
private int[] initDerivedColIdx() { int[] idx = new int[deriveInfo.columns.length]; for (int i = 0; i < idx.length; i++) { idx[i] = deriveInfo.columns[i].getColumnDesc().getZeroBasedIndex(); } return idx; }
public Set<T> mapValues(String col, Set<T> values, String returnCol) { int colIdx = tableDesc.findColumnByName(col).getZeroBasedIndex(); int returnIdx = tableDesc.findColumnByName(returnCol).getZeroBasedIndex(); Set<T> result = Sets.newHashSetWithExpectedSize(values.size()); for (T[] row : data.values()) { if (values.contains(row[colIdx])) { result.add(row[returnIdx]); } } return result; }
@Override public Object getValue(TblColRef col) { return next.get(col.getColumnDesc().getZeroBasedIndex()); } };
private ImmutableBitSet collectColumnsInFilter(TupleFilter filter) { Set<TblColRef> columnsInFilter = new HashSet<>(); TupleFilter.collectColumns(filter, columnsInFilter); BitSet result = new BitSet(); for (TblColRef col : columnsInFilter) result.set(col.getColumnDesc().getZeroBasedIndex()); return new ImmutableBitSet(result); }
@Override public Object getValue(TblColRef col) { return aggrValues[col.getColumnDesc().getZeroBasedIndex()].getState(); }
@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; }
public List<String> getPkValues(ColumnDesc pk) throws IOException { if (existsInStore(pk.getTable()) == false) return null; List<String> r = new ArrayList<>(); BufferedReader in = new BufferedReader( new InputStreamReader(outputStore.getResource(path(pk.getTable())).content(), "UTF-8")); try { String line; while ((line = in.readLine()) != null) { r.add(line.split(",")[pk.getZeroBasedIndex()]); } } finally { IOUtils.closeQuietly(in); } return r; }
public void validateColRef(TblColRef ref) { TblColRef expected = colRef(ref.getColumnDesc().getZeroBasedIndex()); if (!expected.equals(ref)) throw new IllegalArgumentException(); }
public DictionaryInfo(ColumnDesc col, String dataType, TableSignature input) { this(col.getTable().getIdentity(), col.getName(), col.getZeroBasedIndex(), dataType, input); }
public DictionaryInfo(ColumnDesc col, String dataType) { this(col.getTable().getIdentity(), col.getName(), col.getZeroBasedIndex(), dataType, null); }
protected void init() throws IOException { int[] keyIndex = new int[keyColumns.length]; for (int i = 0; i < keyColumns.length; i++) { keyIndex[i] = tableDesc.findColumnByName(keyColumns[i]).getZeroBasedIndex(); } TableReader reader = table.getReader(); try { while (reader.next()) { initRow(reader.getRow(), keyIndex); } } finally { IOUtils.closeQuietly(reader); } }
@Override public Object getValue(TblColRef col) { int idx = col.getColumnDesc().getZeroBasedIndex(); return rtAggrMetrics.get(idx) ? DecimalUtil.toBigDecimal(next.getValue(idx)) : next.get(idx); } };
protected GTScanRange newScanRange(Collection<ColumnRange> andDimRanges) { GTRecord pkStart = new GTRecord(gtInfo); GTRecord pkEnd = new GTRecord(gtInfo); Map<Integer, Set<ByteArray>> fuzzyValues = Maps.newHashMap(); for (ColumnRange range : andDimRanges) { int col = range.column.getColumnDesc().getZeroBasedIndex(); if (!gtInfo.getPrimaryKey().get(col)) continue; pkStart.set(col, range.begin); pkEnd.set(col, range.end); if (range.valueSet != null && !range.valueSet.isEmpty()) { fuzzyValues.put(col, range.valueSet); } } List<GTRecord> fuzzyKeys = buildFuzzyKeys(fuzzyValues); return new GTScanRange(pkStart, pkEnd, fuzzyKeys); }
private CompareTupleFilter eq(ColumnTupleFilter col, int... values) { CompareTupleFilter r = new CompareTupleFilter(FilterOperatorEnum.IN); r.addChild(col); List<ByteArray> list = Lists.newArrayList(); for (int v : values) { int c = col.getColumn().getColumnDesc().getZeroBasedIndex(); int len = info.getCodeSystem().maxCodeLength(c); ByteArray bytes = new ByteArray(len); BytesUtil.writeLong(v, bytes.array(), bytes.offset(), len); list.add(bytes); } r.addChild(new ConstantTupleFilter(list)); return r; }
private CompareTupleFilter eq(ColumnTupleFilter col, int... values) { CompareTupleFilter r = new CompareTupleFilter(FilterOperatorEnum.IN); r.addChild(col); List<ByteArray> list = Lists.newArrayList(); for (int v : values) { int c = col.getColumn().getColumnDesc().getZeroBasedIndex(); int len = info.getCodeSystem().maxCodeLength(c); ByteArray bytes = new ByteArray(len); BytesUtil.writeLong(v, bytes.array(), bytes.offset(), len); list.add(bytes); } r.addChild(new ConstantTupleFilter(list)); return r; }
private CompareTupleFilter gt(ColumnTupleFilter col, int v) { CompareTupleFilter r = new CompareTupleFilter(FilterOperatorEnum.GT); r.addChild(col); int c = col.getColumn().getColumnDesc().getZeroBasedIndex(); int len = info.getCodeSystem().maxCodeLength(c); ByteArray bytes = new ByteArray(len); BytesUtil.writeLong(v, bytes.array(), bytes.offset(), len); r.addChild(new ConstantTupleFilter(bytes)); return r; }
private CompareTupleFilter gt(ColumnTupleFilter col, int v) { CompareTupleFilter r = new CompareTupleFilter(FilterOperatorEnum.GT); r.addChild(col); int c = col.getColumn().getColumnDesc().getZeroBasedIndex(); int len = info.getCodeSystem().maxCodeLength(c); ByteArray bytes = new ByteArray(len); BytesUtil.writeLong(v, bytes.array(), bytes.offset(), len); r.addChild(new ConstantTupleFilter(bytes)); return r; }