public RelOptTable getTableForMember(
List<String> names,
final String datasetName,
boolean[] usedDataset) {
final RelOptTable table = getTableForMember(names);
RelOptTable datasetTable =
new DelegatingRelOptTable(table) {
public List<String> getQualifiedName() {
final List<String> list =
new ArrayList<>(super.getQualifiedName());
list.set(
list.size() - 1,
list.get(list.size() - 1) + ":" + datasetName);
return ImmutableList.copyOf(list);
}
};
if (usedDataset != null) {
assert usedDataset.length == 1;
usedDataset[0] = true;
}
return datasetTable;
}
|