[
https://issues.apache.org/jira/browse/CALCITE-5490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
TJ Banghart reassigned CALCITE-5490:
------------------------------------
Assignee: TJ Banghart
> Add a 'naiveMeasures' connection property to allow regular aggregate
> functions (e.g. SUM, MIN) to be used instead of AGGREGATE
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-5490
> URL: https://issues.apache.org/jira/browse/CALCITE-5490
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: TJ Banghart
> Priority: Major
>
> When we introduce measures to SQL (see CALCITE-4496) a particular can arise
> that users know about measures (have added measure columns to their tables
> and views, and want to use those measures in queries) but their querying
> tools to not (therefore require an aggregate function when a measure is used
> in a {{GROUP BY}} query but do not know about the new {{AGGREGATE}} aggregate
> function (added in CALCITE-5105)).
> This feature would add a new [connection
> property|https://calcite.apache.org/javadocAggregate/org/apache/calcite/config/CalciteConnectionProperty.html],
> {{{}naiveMeasures{}}}. Measures and the {{AGGREGATE}} aggregate function are
> enabled regardless of its setting. If {{{}naiveMeasures=true{}}}, a call to
> one of the core aggregate functions ({{{}MAX{}}}, {{{}MIN{}}}, {{{}SUM{}}},
> {{{}AVG{}}}) whose argument is a measure is deemed to be a call to
> {{{}AGGREGATE{}}}. If the argument is not a measure, the calls are unchanged.
> For example, if {{naiveMeasures=true}} then
> {code:java}
> SELECT deptno, MAX(avg_sal), MAX(age)
> FROM Emp
> GROUP BY deptno
> {code}
> is translated as if the user had written
> {code:java}
> SELECT deptno, AGGREGATE(avg_sal), MAX(age)
> FROM Emp
> GROUP BY deptno
> {code}
> (The {{avg_sal}} column is a measure, {{age}} is a regular column.)
> If {{{}naiveMeasures=false{}}}, the default, calls to {{{}MAX{}}},
> {{{}MIN{}}}, {{{}SUM{}}}, {{AVG}} are unchanged even if their argument is a
> measure.
> (The semantics of {{MAX(avg_sal)}} are not yet finalized, but one semantics
> under consideration is that the {{avg_sal}} measure is evaluated - converted
> from a measure to a value - for each row (employee) and the {{MAX}} aggregate
> function is then applied to those values.)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)