[ 
https://issues.apache.org/jira/browse/CALCITE-1257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15301064#comment-15301064
 ] 

Jesse Yates commented on CALCITE-1257:
--------------------------------------

Feels like a lot of this is covered by the "EXTENDS" syntax, which covers both 
the expected field name and expected type. Only case that sits outside this 
seems to be {{SELECT *}}. What are you thinking for how this would look 
otherwise?

I'd also be interested in some way to late-bind field projection - i.e. user 
queries {{col1}}, but under the hood we transform that to {{column1, col1, c1}} 
based on how the table is functionally structured.

> Late-binding schema
> -------------------
>
>                 Key: CALCITE-1257
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1257
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>
> Calcite should support late-binding schema, similar to what Drill does. 
> Currently if we query a schema-less database such as MongoDB or Elasticsearch 
> the best practice is to create a view that calls {{_MAP['fieldName']}} then 
> casts the result to the desired data type. Creating that view is a 
> significant effort. Certain tables should be flagged as having "late schema", 
> and when validating queries against those tables, users should be able to 
> reference any columns they like.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to