in rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ReadCommandImpl.java [204:230]
public ResultDescriptor removeResultDescriptor(ResultDescriptor resultDescriptor){
//remove and return only if matched for index, name, type, table name, schema name
//else return null
if(resultDescriptor != null){
ResultDescriptor existing = getResultDescriptor(resultDescriptor.getColumnIndex());
if(existing != null &&
existing.getColumnName().equals(resultDescriptor.getColumnName()) &&
existing.getColumnType().equals(resultDescriptor.getColumnType()) &&
existing.getTableName().equals(resultDescriptor.getTableName()) ) {
if(this.configWrapper.getConfig().isDatabaseSchemaNameSupported()){//multi schema support
if(resultDescriptor.getSchemaName() != null && existing.getSchemaName() != null
&& resultDescriptor.getSchemaName().equals(existing.getSchemaName())){
this.resultDescriptors.remove(existing);
refreshResultSetShape();
return existing;
}
return null;
}
else{
this.resultDescriptors.remove(existing);
refreshResultSetShape();
return existing;
}
}
}
return null;
}