Vladimir Sitnikov created CALCITE-601:
-----------------------------------------
Summary: Meta.CursorFactory#deduce should not try to check column
count
Key: CALCITE-601
URL: https://issues.apache.org/jira/browse/CALCITE-601
Project: Calcite
Issue Type: Bug
Affects Versions: 1.0.0-incubating
Reporter: Vladimir Sitnikov
Assignee: Julian Hyde
Current implementation of {{Meta.CursorFactory#deduce}} thinks that Enumerable
with single column cannot be {{Object\[\]}} wrapped.
This sounds like an extreme high coupling.
I think it makes sense if "Bindable" would provide its {{JavaRowFormat}} along
with "ElementType".
I think it makes sense to reject non-typed, non-rowformatproviding Bindables
out of Enumerable/Bindable conventions.
{code:java}
public static CursorFactory deduce(List<ColumnMetaData> columns,
Class resultClazz) {
if (columns.size() == 1) {
return OBJECT; // <-- !! Look here. deduce just assumes single-column
results are always naked
} else if (resultClazz != null && !resultClazz.isArray()) {
return record(resultClazz);
} else {
return ARRAY;
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)