diff --git a/src/repr/src/relation.rs b/src/repr/src/relation.rs index d18df7f372843..9e7fbf5de6dca 100644 --- a/src/repr/src/relation.rs +++ b/src/repr/src/relation.rs @@ -237,7 +237,7 @@ impl RelationType { if col1.nullable && !col2.nullable { return false; } - if col1.scalar_type != col2.scalar_type { + if !col1.scalar_type.base_eq(&col2.scalar_type) { return false; } } diff --git a/test/sqllogictest/with_mutually_recursive.slt b/test/sqllogictest/with_mutually_recursive.slt index 3c3cc88e644ae..c9881417c2b67 100644 --- a/test/sqllogictest/with_mutually_recursive.slt +++ b/test/sqllogictest/with_mutually_recursive.slt @@ -607,3 +607,14 @@ statement error db error: ERROR: Invalid WITH MUTUALLY RECURSIVE recursion limit WITH MUTUALLY RECURSIVE (RECURSION LIMIT 0) cnt (i int) AS (SELECT 1 AS i UNION SELECT i+1 FROM cnt) SELECT * FROM cnt; + +# Test WMR coercion +statement ok +CREATE TABLE y (a BIGINT); + +query I +WITH MUTUALLY RECURSIVE + bar(x NUMERIC) as (SELECT sum(a) FROM y) +SELECT * FROM bar +---- +NULL