@Nullable @Override public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } else { return baseFactory.getColumnCapabilities(columnName); } } }
@Override @Nullable public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } return index.getCapabilities(columnName); } }
@Override @Nullable public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } return QueryableIndexStorageAdapter.getColumnCapabilities(index, columnName); } }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, baseFactory); } else { return baseFactory.makeColumnValueSelector(columnName); } }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, baseFactory); } else { return baseFactory.makeDimensionSelector(dimensionSpec); } }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, this); } return dimensionSpec.decorate(makeDimensionSelectorUndecorated(dimensionSpec)); }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, this); } return dimensionSpec.decorate(makeDimensionSelectorUndecorated(dimensionSpec)); }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, this); } if (columnName.equals(ColumnHolder.TIME_COLUMN_NAME)) { return rowHolder; } final Integer dimIndex = index.getDimensionIndex(columnName); if (dimIndex != null) { final IncrementalIndex.DimensionDesc dimensionDesc = index.getDimension(columnName); final DimensionIndexer indexer = dimensionDesc.getIndexer(); return indexer.makeColumnValueSelector(rowHolder, dimensionDesc); } return index.makeMetricColumnValueSelector(columnName, rowHolder); }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, this); } BaseColumn column = columnCache.computeIfAbsent(columnName, name -> { ColumnHolder holder = index.getColumnHolder(name); if (holder != null) { return closer.register(holder.getColumn()); } else { return null; } }); if (column != null) { return column.makeColumnValueSelector(offset); } else { return NilColumnValueSelector.instance(); } }
@Override @Nullable public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } return QueryableIndexStorageAdapter.getColumnCapabilities(index, columnName); } }
@Nullable @Override public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } else { return baseFactory.getColumnCapabilities(columnName); } } }
@Override @Nullable public ColumnCapabilities getColumnCapabilities(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.getColumnCapabilities(columnName); } return index.getCapabilities(columnName); } }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, baseFactory); } else { return baseFactory.makeColumnValueSelector(columnName); } }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, baseFactory); } else { return baseFactory.makeDimensionSelector(dimensionSpec); } }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, this); } return dimensionSpec.decorate(makeDimensionSelectorUndecorated(dimensionSpec)); }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec) { if (virtualColumns.exists(dimensionSpec.getDimension())) { return virtualColumns.makeDimensionSelector(dimensionSpec, this); } return dimensionSpec.decorate(makeDimensionSelectorUndecorated(dimensionSpec)); }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, this); } if (columnName.equals(ColumnHolder.TIME_COLUMN_NAME)) { return rowHolder; } final Integer dimIndex = index.getDimensionIndex(columnName); if (dimIndex != null) { final IncrementalIndex.DimensionDesc dimensionDesc = index.getDimension(columnName); final DimensionIndexer indexer = dimensionDesc.getIndexer(); return indexer.makeColumnValueSelector(rowHolder, dimensionDesc); } return index.makeMetricColumnValueSelector(columnName, rowHolder); }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName) { if (virtualColumns.exists(columnName)) { return virtualColumns.makeColumnValueSelector(columnName, this); } BaseColumn column = columnCache.computeIfAbsent(columnName, name -> { ColumnHolder holder = index.getColumnHolder(name); if (holder != null) { return closer.register(holder.getColumn()); } else { return null; } }); if (column != null) { return column.makeColumnValueSelector(offset); } else { return NilColumnValueSelector.instance(); } }