quickstep-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Hyde <jh...@apache.org>
Subject Re: [jira] [Commented] (QUICKSTEP-20) Add parser support for SQL window aggregation function
Date Tue, 14 Jun 2016 19:32:57 GMT
The prerequisite for integrating a SQL parsing and/or planning front-end would be to have a
lower-level interface than SQL. Imagine a text representation (in say JSON or XML) of a queries
in logical or physical relational algebra. (Logical would have the logical operators, e.g.
Join, and physical would have, say, QuickstepHashJoin and QuickstepSortMergeJoin).

Having that representation reduces coupling in your architecture, so is useful even if you
don’t decide to use a library for SQL parsing/planning. But I think once you have it you
will realize that all of the interesting problems for the project happen after the query has
been converted to algebra.

Julian

> On Jun 14, 2016, at 12:22 PM, Jignesh Patel <jipatel@pivotal.io> wrote:
> 
> Great point Julian and something that I have been thinking about too. 
> 
> I’d love to kick off a discussion to see how we can find a way to make this work. I’d
love to give a talk to the Calcite team sometime later on this summer (July?) on Quickstep
and explore this very synergy. 
> 
> Some of the ORCA guys have also been thinking about this. But, in the end it boils down
to two things: a) Synergy and b) Some commitment from the two projects to make this work.
> 
> For Quickstep, the goal is quite clear: we want to focus on the key aspects of our platform
that relate to fast query execution and flexible scheduling. But, need to do this in a way
that is trivially easy for users to use. 
> 
> Cheers,
> Jignesh  
> 
>> Julian Hyde commented on QUICKSTEP-20:
>> --------------------------------------
>> 
>> It sounds as if Quickstep is going down the route of building a full SQL parser,
validator, planner. This is fine, but it is a huge amount of work to produce something that
is high quality. Have you considered using Apache Calcite? Calcite is written in Java but
that shouldn't be too much of an issue because Calcite can work as a pre-processor, producing
a physical plan that can be run without any Java in the runtime.
>> 
>>> Add parser support for SQL window aggregation function
>>> ------------------------------------------------------
>>> 
>>>               Key: QUICKSTEP-20
>>>               URL: https://issues.apache.org/jira/browse/QUICKSTEP-20
>>>           Project: Apache Quickstep
>>>        Issue Type: New Feature
>>>        Components: Parser
>>>          Reporter: Shixuan Fan
>>>            Labels: features, newbie
>>> 
>>> The first part of window aggregation function. There will be new grammar introduced
to the parser so that the parser could understand a window aggregation query.
>> 
>> 
>> 
>> --
>> This message was sent by Atlassian JIRA
>> (v6.3.4#6332)
> 


Mime
View raw message