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
