I guess my concerns would all be met if we could flag this as “experimental”.

There are more general forms of recursive / deductive queries that I would like 
us to be able to tackle someday. If and when we do, I don’t want to be locked 
into the structures and nomenclature of this change. But until then, this 
change is a huge step forward. If the APIs were labeled “experimental and 
subject to change without notice” then we can evolve as we know more.

By the way, I have personal project where I am experimenting with melding 
functional programming with relational algebra. If you have functions-as-values 
in relational algebra then you can add a fixed-point operator and thereby 
create recursive/deductive queries. You can use higher-order functions such as 
map and filter on nested collections, and exploit the fact that the relational 
operators (project, filter, join) are themselves higher-order functions. Rather 
than adding functional extensions to a relational language, I started digging 
the tunnel from the other end: I started with a small, elegant functional 
language (ML), wrote an interpreter in Java, and am extending the language for 
relational algebra. If all goes well, there would be some extensions in 
Calcite’s algebra for functions-as-values and relational expressions that are 
defined by (possibly recursive) functions.

Julian

[1] https://github.com/julianhyde/smlj <https://github.com/julianhyde/smlj> 


> On Apr 4, 2019, at 9:31 AM, Stamatis Zampetakis <[email protected]> wrote:
> 
> Hello,
> 
> The issue has advanced quite a lot and I guess it will be finalised soon.
> There is some ongoing discussion about a few naming/refactorings in the PR
> [1] but these could be resolved easily.
> 
> Ruben, had made a proposal which LGTM so I am inclined to merge the PR as
> soon as the last changes are made (and no other serious issues appear).
> 
> I guess it is the right time to jump in to the discusion, especially if you
> strongly disagree on the general approach.
> 
> [1] https://github.com/apache/calcite/pull/1020
> 
> Best,
> Stamatis

Reply via email to