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)

Reply via email to