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 <[email protected]> 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) >
