Hello,

Seems that this new kind of JOIN named AS OF is very useful for processing 
time-series data. Here is some example documentation from Snowflake: 
https://docs.snowflake.com/en/sql-reference/constructs/asof-join

The semantics is similar to a traditional join, but the result always contains 
at most one record from the left side, with the last​ matching record on the 
right side (where "time" is any value that can be compared for inequality). 
This can be expressed in SQL, but it looks very cumbersome, using a JOIN, a 
GROUP BY, and then an aggregation to keep the last value.

I haven't seen anything like that in Calcite, although Calcite does seem to 
have support for all sorts of temporal and stream notions.

If one were to implement it, what would be the right way to do it? A subclass 
of Join? A new type of BiRel RelNode?

Thank you,
Mihai

Reply via email to