Stream joins are used to relate information from different streams or stream and relation combinations. Calcite lacks (proper) support for stream-to-relation joins and stream-to-stream joins.
stream-to-relation join like below fails at the SQL validation stage.
select stream orders.orderId, orders.productId, products.name from orders join products on orders.productId = products.id
But if 'products' is a stream, the query is valid according to Calcite, even though the stream-to-stream join in above query is not valid due to unbounded nature of streams.