Mihai Budiu created CALCITE-6641:
------------------------------------

             Summary: Compiling programs with ASOF joins can report obscure 
errors
                 Key: CALCITE-6641
                 URL: https://issues.apache.org/jira/browse/CALCITE-6641
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.38.0
            Reporter: Mihai Budiu
            Assignee: Mihai Budiu


A program like the following:

{code:sql}
SELECT * 
FROM B
LEFT ASOF JOIN S
MATCH_CONDITION B.p_time >= S.date_time
ON B.mod = S.key
{code}

can report an error such as:

{code}
Error in SQL statement: ASOF JOIN condition must be a conjunction of equality 
comparisons
ON B.mod = S.key;
   ^^^^^^^^^^^^^
{code}

This looks like a conjunction of equality comparisons, so the error is very 
strange; internally the program represents this expression as (CAST B.mod as 
BIGINT) = S.key.

This situation should be improved by either 
- giving an error message that explains why the compiler does not like this 
expression, or, better, 
- having the ASOF join actually accept expressions that involve casts.

This is yet another problem caused by the new TypeCoercion improvements. When 
the ASOF join was merged there were no casts at this point in the validation. 

As was discussed briefly in [CALCITE-6639], the ASOF joins look rather brittle.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to