DuckDB 1.5.6
Substrait consumer: substrait community extension
Run in this repository's CI, 2026-10-24 17:26 UTC · the CI run
Findings
What fails and why, grouped by cause. Each finding lists every case it affects. Upstream issue links are maintained in docs/engine-findings.yaml.
Substrait consumer gaps (495) Failing queries (10) Engine results that differ from the Substrait definition (128) Not tested yet: this repository's tooling (84) Option modes the engine does not claim (158)
Substrait consumer gaps
These cases fail when run as Substrait plans but pass as the engine's own SQL (or were not run as SQL), so the gap is in the engine's Substrait consumer.
The consumer maps these functions to names DuckDB does not have
Not yet reported upstream
The same cases pass as DuckDB SQL, so DuckDB can compute them; the Substrait extension needs a mapping from the Substrait function name to DuckDB's.
Functions: regexp_count_substring (50), regexp_match_substring (48), negate (38), shift_right (37), bitwise_not (33), shift_right_unsigned (31), regexp_string_split (29), add_intervals (25), shift_left (12), and_not (9), is_false (6), is_not_false (6), is_not_true (6), is_true (6), logb (4)
CatalogException: Catalog Error: Scalar Function with name bitwise_not does not exist!
All 340 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic/bitwise_not.test:5 | bitwise_not(0::i8) | -1::i8 | |
| arithmetic/bitwise_not.test:6 | bitwise_not(1::i8) | -2::i8 | |
| arithmetic/bitwise_not.test:7 | bitwise_not(-127::i8) | 126::i8 | |
| arithmetic/bitwise_not.test:8 | bitwise_not(31766::i16) | -31767::i16 | |
| arithmetic/bitwise_not.test:9 | bitwise_not(-31766::i16) | 31765::i16 | |
| arithmetic/bitwise_not.test:10 | bitwise_not(2147483647::i32) | -2147483648::i32 | |
| arithmetic/bitwise_not.test:11 | bitwise_not(9223372036854775807::i64) | -9223372036854775808::i64 | |
| arithmetic/bitwise_not.test:12 | bitwise_not(-9223372036854775807::i64) | 9223372036854775806::i64 | |
| arithmetic/bitwise_not.test:13 | bitwise_not(null::i64?) | null::i64? | |
| arithmetic/negate.test:5 | negate(25::i8) | -25::i8 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:6 | negate(-200::i16) | 200::i16 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:7 | negate(30000::i32) | -30000::i32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:8 | negate(9223372036854775800::i64) | -9223372036854775800::i64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:9 | negate(2.50::fp32) | -2.50::fp32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:10 | negate(2.000002861022949::fp64) | -2.000002861022949::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:11 | negate(inf::fp64) | -inf::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:14 | negate(null::i8?) | null::i8? | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/shift_left.test:5 | shift_left(2::i32, 1::i32) | 4::i32 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:6 | shift_left(511::i32, 8::i32) | 130816::i32 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:7 | shift_left(301989888::i64, 3::i32) | 2415919104::i64 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:8 | shift_left(301989888::i64, 8::i32) | 77309411328::i64 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:13 | shift_left(null::i64?, 2::i32) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:14 | shift_left(127::i64, null::i32?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_right.test:5 | shift_right(2::i32, 1::i32) | 1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:6 | shift_right(1024::i32, 8::i32) | 4::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:7 | shift_right(301989888::i64, 3::i32) | 37748736::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:8 | shift_right(301989888::i64, 16::i32) | 4608::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:9 | shift_right(-3::i32, 1::i32) | -2::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:10 | shift_right(-3::i32, 2::i32) | -1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:11 | shift_right(-3::i64, 1::i32) | -2::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:12 | shift_right(-3::i64, 2::i32) | -1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:13 | shift_right(null::i64?, 2::i32) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:14 | shift_right(127::i64, null::i32?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right_unsigned.test:5 | shift_right_unsigned(2::i32, 1::i32) | 1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:6 | shift_right_unsigned(1024::i32, 8::i32) | 4::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:7 | shift_right_unsigned(301989888::i64, 3::i32) | 37748736::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:8 | shift_right_unsigned(301989888::i64, 16::i32) | 4608::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:9 | shift_right_unsigned(-3::i32, 1::i32) | 2147483646::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:10 | shift_right_unsigned(-3::i32, 2::i32) | 1073741823::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:11 | shift_right_unsigned(-3::i64, 1::i32) | 9223372036854775806::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:12 | shift_right_unsigned(-3::i64, 2::i32) | 4611686018427387903::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:13 | shift_right_unsigned(null::i64?, 2::i32) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:14 | shift_right_unsigned(127::i64, null::i32?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic_decimal/negate.test:5 | negate(25::dec<2, 0>) | -25::dec<2, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:6 | negate(-25::dec<2, 0>) | 25::dec<2, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:7 | negate(1.23::dec<3, 2>) | -1.23::dec<3, 2> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:8 | negate(-0.001::dec<4, 3>) | 0.001::dec<4, 3> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:11 | negate(0::dec<1, 0>) | 0::dec<1, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:12 | negate(0.00::dec<3, 2>) | 0.00::dec<3, 2> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:15 | negate(99999999999999999999999999999999999999::dec<38, 0>) | -99999999999999999999999999999999999999::dec<38, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:16 | negate(-99999999999999999999999999999999999999::dec<38, 0>) | 99999999999999999999999999999999999999::dec<38, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:19 | negate(null::dec?<38, 0>) | null::dec?<38, 0> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic_decimal/negate.test:20 | negate(null::dec?<3, 2>) | null::dec?<3, 2> | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| boolean/and_not.test:5 | and_not(true::bool, false::bool) | true::bool | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:6 | and_not(true::bool, true::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:7 | and_not(false::bool, true::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:8 | and_not(false::bool, false::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:11 | and_not(true::bool, null::bool?) | null::bool? | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:12 | and_not(null::bool?, false::bool) | null::bool? | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:13 | and_not(false::bool, null::bool?) | false::bool? | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:14 | and_not(null::bool?, true::bool) | false::bool? | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| boolean/and_not.test:15 | and_not(null::bool?, null::bool?) | null::bool? | CatalogException: Catalog Error: Scalar Function with name and_not does not exist! |
| comparison/is_false.test:5 | is_false(true::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_false.test:6 | is_false(false::bool) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_false.test:7 | is_false(null::bool?) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_not_false.test:5 | is_not_false(true::bool) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_false.test:6 | is_not_false(false::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_false.test:7 | is_not_false(null::bool?) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_true.test:5 | is_not_true(true::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_not_true.test:6 | is_not_true(false::bool) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_not_true.test:7 | is_not_true(null::bool?) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_true.test:5 | is_true(true::bool) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| comparison/is_true.test:6 | is_true(false::bool) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| comparison/is_true.test:7 | is_true(null::bool?) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| datetime/add_intervals.test:5 | add_intervals(PT10H::iday, PT5H::iday) | P0DT15H0M0S::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:6 | add_intervals(P10D::iday, P5D::iday) | P15D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:7 | add_intervals(P1D::iday, PT10H::iday) | P1DT10H0M0S::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:10 | add_intervals(null::iyear?, P1Y::iyear) | null::iyear? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:11 | add_intervals(null::iday?, P1D::iday) | null::iday? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| logarithmic/logb.test:5 | logb(100000::i64, 10::i64) | 5.0::fp64 | CatalogException: Catalog Error: Scalar Function with name logb does not exist! |
| logarithmic/logb.test:6 | logb(1.0::fp64, 7::fp64) | 0::fp64 | CatalogException: Catalog Error: Scalar Function with name logb does not exist! |
| logarithmic/logb.test:7 | logb(7::fp64, 2::fp64) | 2.8073549220576041::fp64 | CatalogException: Catalog Error: Scalar Function with name logb does not exist! |
| logarithmic/logb.test:10 | logb(inf::fp64, 2.34::fp64) | inf::fp64 | CatalogException: Catalog Error: Scalar Function with name logb does not exist! |
| string/regexp_count_substring.test:5 | regexp_count_substring('foobarboopzoo'::str, 'o{1,}'::str, 1::i64) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:6 | regexp_count_substring('foobarboopzoo'::str, 'o{1}'::str, 1::i64) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:7 | regexp_count_substring('abcabcacb'::str, '[bc]'::str, 1::i64) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:8 | regexp_count_substring('abcdefc'::str, '(.*)c'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:9 | regexp_count_substring('abcdefc'::str, '(.*)c?'::str, 1::i64) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:10 | regexp_count_substring('foobarboopzoo'::vchar<13>, 'o{1,}'::vchar<5>, 1::i64) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:11 | regexp_count_substring('foobarboopzoo'::fchar<13>, 'o{1,}'::fchar<5>, 1::i64) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:12 | regexp_count_substring('foobarboopzoo'::str, 'o{1,}'::str) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:13 | regexp_count_substring('foobarboopzoo'::str, 'o{1}'::str) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:14 | regexp_count_substring('abcabcacb'::str, '[bc]'::str) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:15 | regexp_count_substring('abcdefc'::str, '(.*)c'::str) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:16 | regexp_count_substring('abcdefc'::str, '(.*)c?'::str) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:17 | regexp_count_substring('foobarboopzoo'::vchar<13>, 'o{1,}'::vchar<5>) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:18 | regexp_count_substring('foobarboopzoo'::fchar<13>, 'o{1,}'::fchar<5>) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:21 | regexp_count_substring('Hello'::str, null::str?, 1::i64) | null::i64? | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:22 | regexp_count_substring(null::str?, ' '::str, 1::i64) | null::i64? | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:23 | regexp_count_substring('Hello'::str, null::str?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:24 | regexp_count_substring(null::str?, ' '::str) | null::i64? | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:27 | regexp_count_substring('abc1abc'::str, '\d'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:28 | regexp_count_substring('abc1abc'::str, '\D'::str, 1::i64) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:29 | regexp_count_substring('abc def ghi'::str, '\s'::str, 1::i64) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:30 | regexp_count_substring('abc def ghi'::str, '\S'::str, 1::i64) | 9::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:31 | regexp_count_substring('abc def ghi'::str, '\w'::str, 1::i64) | 9::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:32 | regexp_count_substring('abc def ghi,'::str, '\W'::str, 1::i64) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:33 | regexp_count_substring('abc1abc'::str, '\d'::str) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:34 | regexp_count_substring('abc1abc'::str, '\D'::str) | 6::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:35 | regexp_count_substring('abc def ghi'::str, '\s'::str) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:36 | regexp_count_substring('abc def ghi'::str, '\S'::str) | 9::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:37 | regexp_count_substring('abc def ghi'::str, '\w'::str) | 9::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:38 | regexp_count_substring('abc def ghi,'::str, '\W'::str) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_match_substring.test:5 | regexp_match_substring('foobarboopzoo'::str, 'o{1,}'::str, 1::i64, 1::i64, 0::i64) | 'oo'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:6 | regexp_match_substring('foobarboopzoo'::str, 'o{1}'::str, 1::i64, 1::i64, 0::i64) | 'o'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:7 | regexp_match_substring('abcabcacb'::str, '[bc]'::str, 1::i64, 1::i64, 0::i64) | 'b'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:8 | regexp_match_substring('abcdefghi'::str, '(.*)c'::str, 1::i64, 1::i64, 0::i64) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:9 | regexp_match_substring('abcdefghi'::str, '(.*)c?'::str, 1::i64, 1::i64, 0::i64) | 'abcdefghi'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:10 | regexp_match_substring('foobarboopzoo'::vchar<13>, 'o{1,}'::vchar<5>, 1::i64, 1::i64, 0::i64) | 'oo'::vchar<13> | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:11 | regexp_match_substring('foobarboopzoo'::str, 'o{1,}'::str) | 'oo'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:12 | regexp_match_substring('foobarboopzoo'::str, 'o{1}'::str) | 'o'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:13 | regexp_match_substring('abcabcacb'::str, '[bc]'::str) | 'b'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:14 | regexp_match_substring('abcdefghi'::str, '(.*)c'::str) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:15 | regexp_match_substring('abcdefghi'::str, '(.*)c?'::str) | 'abcdefghi'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:16 | regexp_match_substring('foobarboopzoo'::vchar<13>, 'o{1,}'::vchar<5>) | 'oo'::vchar<13> | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:19 | regexp_match_substring('Hello'::str, null::str?, 1::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:20 | regexp_match_substring(null::str?, ' '::str, 1::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:21 | regexp_match_substring('Hello'::str, null::str?) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:22 | regexp_match_substring(null::str?, ' '::str) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:25 | regexp_match_substring('abc1abc'::str, '\d'::str, 1::i64, 1::i64, 0::i64) | '1'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:26 | regexp_match_substring('abc1abc'::str, '\D'::str, 1::i64, 1::i64, 0::i64) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:27 | regexp_match_substring('abc def ghi'::str, '\s'::str, 1::i64, 1::i64, 0::i64) | ' '::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:28 | regexp_match_substring('abc def ghi'::str, '\S'::str, 1::i64, 1::i64, 0::i64) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:29 | regexp_match_substring('abc def ghi'::str, '\S+'::str, 1::i64, 1::i64, 0::i64) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:30 | regexp_match_substring('abc def ghi'::str, '\w'::str, 1::i64, 1::i64, 0::i64) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:31 | regexp_match_substring('abc def ghi'::str, '\w+'::str, 1::i64, 1::i64, 0::i64) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:32 | regexp_match_substring('abc def ghi,'::str, '\W'::str, 1::i64, 1::i64, 0::i64) | ' '::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:33 | regexp_match_substring('abc1abc'::str, '\d'::str) | '1'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:34 | regexp_match_substring('abc1abc'::str, '\D'::str) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:35 | regexp_match_substring('abc def ghi'::str, '\s'::str) | ' '::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:36 | regexp_match_substring('abc def ghi'::str, '\S'::str) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:37 | regexp_match_substring('abc def ghi'::str, '\S+'::str) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:38 | regexp_match_substring('abc def ghi'::str, '\w'::str) | 'a'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:39 | regexp_match_substring('abc def ghi'::str, '\w+'::str) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:40 | regexp_match_substring('abc def ghi,'::str, '\W'::str) | ' '::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_string_split.test:5 | regexp_string_split('Hello'::str, 'Hel+?'::str) | ['', 'lo']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:6 | regexp_string_split('Hello'::str, 'Hel+'::str) | ['', 'o']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:9 | regexp_string_split('HHHelloooo'::str, 'Hel+'::str) | ['HH', 'oooo']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:12 | regexp_string_split('abcdefg'::str, '\Aabc'::str) | ['', 'defg']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:13 | regexp_string_split('abcdefg'::str, 'efg$'::str) | ['abcd', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:16 | regexp_string_split('abc1abc'::str, '\d'::str) | ['abc', 'abc']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:17 | regexp_string_split('111a111'::str, '\D'::str) | ['111', '111']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:18 | regexp_string_split('abc def'::str, '\s'::str) | ['abc', 'def']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:19 | regexp_string_split('a bcdef'::str, '\S'::str) | ['', ' ', '', '', '', '', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:20 | regexp_string_split(' abcdef'::str, '\w'::str) | [' ', '', '', '', '', '', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:21 | regexp_string_split('a bcdef'::str, '\W'::str) | ['a', 'bcdef']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:24 | regexp_string_split('abc123abc'::str, '[0-9]+'::str) | ['abc', 'abc']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:25 | regexp_string_split('abc123abc'::str, '[bc]'::str) | ['a', '', '123a', '', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:26 | regexp_string_split('abcde'::str, '(.*)c'::str) | ['', 'de']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:27 | regexp_string_split('abbbbc'::str, '[b]{2,3}'::str) | ['a', 'bc']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| arithmetic/bitwise_not.test:5 | bitwise_not(-128::i8) | 127::i8 | |
| arithmetic/bitwise_not.test:6 | bitwise_not(127::i8) | -128::i8 | |
| arithmetic/bitwise_not.test:7 | bitwise_not(-32768::i16) | 32767::i16 | |
| arithmetic/bitwise_not.test:8 | bitwise_not(32767::i16) | -32768::i16 | |
| arithmetic/bitwise_not.test:9 | bitwise_not(-2147483648::i32) | 2147483647::i32 | |
| arithmetic/bitwise_not.test:10 | bitwise_not(-9223372036854775808::i64) | 9223372036854775807::i64 | |
| arithmetic/bitwise_not.test:13 | bitwise_not(null::i8?) | null::i8? | |
| arithmetic/bitwise_not.test:14 | bitwise_not(null::i16?) | null::i16? | |
| arithmetic/bitwise_not.test:15 | bitwise_not(null::i32?) | null::i32? | |
| arithmetic/bitwise_not.test:18 | bitwise_not(0::i16) | -1::i16 | |
| arithmetic/bitwise_not.test:19 | bitwise_not(0::i32) | -1::i32 | |
| arithmetic/bitwise_not.test:20 | bitwise_not(0::i64) | -1::i64 | |
| arithmetic/bitwise_not.test:21 | bitwise_not(-1::i8) | 0::i8 | |
| arithmetic/bitwise_not.test:22 | bitwise_not(-1::i16) | 0::i16 | |
| arithmetic/bitwise_not.test:23 | bitwise_not(-1::i32) | 0::i32 | |
| arithmetic/bitwise_not.test:24 | bitwise_not(-1::i64) | 0::i64 | |
| arithmetic/bitwise_not.test:27 | bitwise_not(42::i8) | -43::i8 | |
| arithmetic/bitwise_not.test:28 | bitwise_not(-42::i8) | 41::i8 | |
| arithmetic/bitwise_not.test:29 | bitwise_not(1000::i16) | -1001::i16 | |
| arithmetic/bitwise_not.test:30 | bitwise_not(-1000::i16) | 999::i16 | |
| arithmetic/bitwise_not.test:31 | bitwise_not(100000::i32) | -100001::i32 | |
| arithmetic/bitwise_not.test:32 | bitwise_not(-100000::i32) | 99999::i32 | |
| arithmetic/bitwise_not.test:35 | bitwise_not(1000000000000::i64) | -1000000000001::i64 | |
| arithmetic/bitwise_not.test:36 | bitwise_not(-1000000000000::i64) | 999999999999::i64 | |
| arithmetic/negate.test:5 | negate(127::i8) | -127::i8 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:6 | negate(32767::i16) | -32767::i16 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:7 | negate(2147483647::i32) | -2147483647::i32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:8 | negate(9223372036854775807::i64) | -9223372036854775807::i64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:22 | negate(-inf::fp32) | inf::fp32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:23 | negate(-inf::fp64) | inf::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:24 | negate(nan::fp32) | nan::fp32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:25 | negate(nan::fp64) | nan::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:28 | negate(0::i8) | 0::i8 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:29 | negate(0::i16) | 0::i16 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:30 | negate(0::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:31 | negate(0::i64) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:32 | negate(0.0::fp32) | -0.0::fp32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:33 | negate(-0.0::fp32) | 0.0::fp32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:34 | negate(0.0::fp64) | -0.0::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:35 | negate(-0.0::fp64) | 0.0::fp64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:38 | negate(-1::i8) | 1::i8 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:39 | negate(-1::i16) | 1::i16 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:40 | negate(-1::i32) | 1::i32 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/negate.test:41 | negate(-1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name negate does not exist! |
| arithmetic/shift_left.test:5 | shift_left(null::i32?, null::i32?) | null::i32? | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:6 | shift_left(null::i64?, null::i32?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:9 | shift_left(0::i32, 5::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:10 | shift_left(1::i32, 0::i32) | 1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:11 | shift_left(0::i64, 10::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_left.test:12 | shift_left(1::i64, 0::i32) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_left does not exist! |
| arithmetic/shift_right.test:5 | shift_right(2147483647::i32, 1::i32) | 1073741823::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:6 | shift_right(-2147483648::i32, 1::i32) | -1073741824::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:7 | shift_right(9223372036854775807::i64, 1::i32) | 4611686018427387903::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:8 | shift_right(-9223372036854775808::i64, 1::i32) | -4611686018427387904::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:9 | shift_right(2147483647::i32, 31::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:10 | shift_right(-2147483648::i32, 31::i32) | -1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:11 | shift_right(-128::i32, 4::i32) | -8::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:12 | shift_right(2147483647::i32, 16::i32) | 32767::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:13 | shift_right(-2147483648::i32, 16::i32) | -32768::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:14 | shift_right(9223372036854775807::i64, 32::i32) | 2147483647::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:15 | shift_right(-9223372036854775808::i64, 32::i32) | -2147483648::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:18 | shift_right(0::i32, 5::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:19 | shift_right(100::i32, 0::i32) | 100::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:20 | shift_right(0::i64, 32::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:21 | shift_right(1::i32, 31::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:22 | shift_right(1::i64, 63::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:23 | shift_right(1024::i32, 32::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:24 | shift_right(1024::i32, 40::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:25 | shift_right(1024::i64, 64::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:26 | shift_right(1024::i64, 100::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:29 | shift_right(-1::i32, 31::i32) | -1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:30 | shift_right(-1::i64, 63::i32) | -1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:31 | shift_right(-1::i32, 1::i32) | -1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:32 | shift_right(-1::i32, 16::i32) | -1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:33 | shift_right(-1::i64, 1::i32) | -1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:34 | shift_right(-1::i64, 32::i32) | -1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right.test:35 | shift_right(-256::i64, 8::i32) | -1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right does not exist! |
| arithmetic/shift_right_unsigned.test:5 | shift_right_unsigned(2147483647::i32, 1::i32) | 1073741823::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:6 | shift_right_unsigned(-2147483648::i32, 1::i32) | 1073741824::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:7 | shift_right_unsigned(9223372036854775807::i64, 1::i32) | 4611686018427387903::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:8 | shift_right_unsigned(-9223372036854775808::i64, 1::i32) | 4611686018427387904::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:9 | shift_right_unsigned(-1::i32, 16::i32) | 65535::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:10 | shift_right_unsigned(-1::i64, 32::i32) | 4294967295::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:11 | shift_right_unsigned(2147483647::i32, 0::i32) | 2147483647::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:12 | shift_right_unsigned(-2147483648::i32, 0::i32) | -2147483648::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:13 | shift_right_unsigned(255::i32, 31::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:14 | shift_right_unsigned(-2147483648::i32, 31::i32) | 1::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:15 | shift_right_unsigned(-9223372036854775808::i64, 63::i32) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:16 | shift_right_unsigned(-1::i32, 1::i32) | 2147483647::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:17 | shift_right_unsigned(-1::i64, 1::i32) | 9223372036854775807::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:20 | shift_right_unsigned(null::i32?, null::i32?) | null::i32? | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:21 | shift_right_unsigned(null::i64?, null::i32?) | null::i64? | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:24 | shift_right_unsigned(8::i32, 0::i32) | 8::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:25 | shift_right_unsigned(123456789::i64, 0::i32) | 123456789::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:26 | shift_right_unsigned(1::i32, 31::i32) | 0::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:27 | shift_right_unsigned(1::i64, 63::i32) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:30 | shift_right_unsigned(-1::i32, 8::i32) | 16777215::i32 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| arithmetic/shift_right_unsigned.test:31 | shift_right_unsigned(-1::i64, 8::i32) | 72057594037927935::i64 | CatalogException: Catalog Error: Scalar Function with name shift_right_unsigned does not exist! |
| comparison/is_false.test:5 | is_false(is_false(null::bool?)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_false.test:8 | is_false(is_false(true::bool)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_false.test:9 | is_false(is_false(false::bool)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_false does not exist! |
| comparison/is_not_false.test:5 | is_not_false(is_not_false(null::bool?)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_false.test:8 | is_not_false(is_not_false(false::bool)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_false.test:9 | is_not_false(is_not_false(true::bool)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_false does not exist! |
| comparison/is_not_true.test:5 | is_not_true(is_not_true(null::bool?)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_not_true.test:8 | is_not_true(is_not_true(true::bool)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_not_true.test:9 | is_not_true(is_not_true(false::bool)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_not_true does not exist! |
| comparison/is_true.test:5 | is_true(is_true(null::bool?)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| comparison/is_true.test:8 | is_true(is_true(true::bool)) | true::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| comparison/is_true.test:9 | is_true(is_true(false::bool)) | false::bool | CatalogException: Catalog Error: Scalar Function with name is_true does not exist! |
| datetime/add_intervals.test:5 | add_intervals(P2147483646D::iday, P1D::iday) | P2147483647D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:6 | add_intervals(PT2147483646S::iday, PT1S::iday) | PT2147483647S::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:9 | add_intervals(P1Y::iyear, null::iyear?) | null::iyear? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:10 | add_intervals(null::iyear?, null::iyear?) | null::iyear? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:11 | add_intervals(P5D::iday, null::iday?) | null::iday? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:12 | add_intervals(null::iday?, null::iday?) | null::iday? | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:15 | add_intervals(PT5H::iday, PT-3H::iday) | PT2H::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:16 | add_intervals(P10D::iday, P-3D::iday) | P7D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:17 | add_intervals(P-1D::iday, P2D::iday) | P1D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:18 | add_intervals(P5Y::iyear, P-2Y::iyear) | P3Y::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:19 | add_intervals(P1Y6M::iyear, P-6M::iyear) | P1Y::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:22 | add_intervals(P0D::iday, PT0H::iday) | P0D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:23 | add_intervals(P5D::iday, P0D::iday) | P5D::iday | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:24 | add_intervals(P0Y::iyear, P0M::iyear) | P0Y::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:25 | add_intervals(P2Y3M::iyear, P0Y::iyear) | P2Y3M::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:26 | add_intervals(P1Y::iyear, P2Y::iyear) | P3Y::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:27 | add_intervals(P1Y2M::iyear, P3M::iyear) | P1Y5M::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:28 | add_intervals(P0Y6M::iyear, P0Y8M::iyear) | P1Y2M::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:29 | add_intervals(P10Y::iyear, P5Y11M::iyear) | P15Y11M::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| datetime/add_intervals.test:30 | add_intervals(P0Y11M::iyear, P0Y3M::iyear) | P1Y2M::iyear | CatalogException: Catalog Error: Scalar Function with name add_intervals does not exist! |
| string/regexp_count_substring.test:5 | regexp_count_substring(''::str, 'a'::str, 1::i64) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:6 | regexp_count_substring(''::str, 'a'::str) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:7 | regexp_count_substring('abcabc'::str, 'a'::str, -1::i64) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:8 | regexp_count_substring('abcabc'::str, 'a'::str, 10::i64) | 0::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:11 | regexp_count_substring('abc'::str, ''::str, 1::i64) | 4::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:12 | regexp_count_substring(''::str, ''::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:13 | regexp_count_substring('abc'::str, ''::str) | 4::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:16 | regexp_count_substring('abcabc'::str, 'a'::str, 4::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:17 | regexp_count_substring('abcabc'::str, 'abc'::str, 2::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:18 | regexp_count_substring('AaBbCc'::str, 'a'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:19 | regexp_count_substring('AaBbCc'::str, 'A'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:20 | regexp_count_substring('HELLO hello HeLLo'::str, 'hello'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:21 | regexp_count_substring('AaBbCc'::str, '[a-z]'::str, 1::i64) | 3::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:22 | regexp_count_substring('aaa'::str, 'aa'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:23 | regexp_count_substring('aaaa'::str, 'aa'::str, 1::i64) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:24 | regexp_count_substring('ababa'::str, 'aba'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:25 | regexp_count_substring('Москва'::str, '[а-я]'::str, 1::i64) | 5::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:28 | regexp_count_substring('café'::str, 'é'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:29 | regexp_count_substring('你好世界'::str, '好'::str, 1::i64) | 1::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_count_substring.test:30 | regexp_count_substring('🎉🎊🎉'::str, '🎉'::str, 1::i64) | 2::i64 | CatalogException: Catalog Error: Scalar Function with name regexp_count_substring does not exist! |
| string/regexp_match_substring.test:5 | regexp_match_substring('abc'::str, 'a'::str, 1::i64, 5::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:6 | regexp_match_substring('abc'::str, 'a'::str, 10::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:7 | regexp_match_substring('hello'::str, 'xyz'::str, 1::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:8 | regexp_match_substring('123'::str, '[a-z]+'::str, 1::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:9 | regexp_match_substring('hello world'::str, '^world'::str, 1::i64, 1::i64, 0::i64) | null::str? | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:12 | regexp_match_substring('foobarboopzoo'::str, 'o{1,}'::str, 1::i64, 2::i64, 0::i64) | 'oo'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:13 | regexp_match_substring('abcabcacb'::str, '[bc]'::str, 1::i64, 2::i64, 0::i64) | 'c'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:14 | regexp_match_substring('abcabcacb'::str, '[bc]'::str, 1::i64, 3::i64, 0::i64) | 'b'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:15 | regexp_match_substring('foobarboopzoo'::str, 'o{1,}'::str, 5::i64, 1::i64, 0::i64) | 'oo'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:16 | regexp_match_substring('abcabcacb'::str, 'abc'::str, 4::i64, 1::i64, 0::i64) | 'abc'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:17 | regexp_match_substring('hello world'::str, 'o'::str, 6::i64, 1::i64, 0::i64) | 'o'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:18 | regexp_match_substring(''::str, 'a*'::str, 1::i64, 1::i64, 0::i64) | ''::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:19 | regexp_match_substring(''::str, '.*'::str, 1::i64, 1::i64, 0::i64) | ''::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:20 | regexp_match_substring('abc'::str, ''::str, 1::i64, 1::i64, 0::i64) | ''::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:21 | regexp_match_substring('hello world'::str, '^hello'::str, 1::i64, 1::i64, 0::i64) | 'hello'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_match_substring.test:22 | regexp_match_substring('hello world'::str, 'world$'::str, 1::i64, 1::i64, 0::i64) | 'world'::str | CatalogException: Catalog Error: Scalar Function with name regexp_match_substring does not exist! |
| string/regexp_string_split.test:5 | regexp_string_split(null::str?, 'pattern'::str) | null::list?<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:7 | regexp_string_split(null::str?, null::str?) | null::list?<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:10 | regexp_string_split(''::str, 'a'::str) | ['']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:11 | regexp_string_split(''::str, ''::str) | ['']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:12 | regexp_string_split('abc'::str, 'abc'::str) | ['', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:13 | regexp_string_split('aaa'::str, 'a'::str) | ['', '', '', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:14 | regexp_string_split('bbbbb'::str, 'b+'::str) | ['', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:15 | regexp_string_split('aaabbbccc'::str, '[abc]'::str) | ['', '', '', '', '', '', '', '', '', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:18 | regexp_string_split('café'::str, 'é'::str) | ['caf', '']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:19 | regexp_string_split('你好世界'::str, '好'::str) | ['你', '世界']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:22 | regexp_string_split('abc'::str, 'xyz'::str) | ['abc']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:23 | regexp_string_split('hello world'::str, 'z+'::str) | ['hello world']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:24 | regexp_string_split('hello🌍world'::str, '🌍'::str) | ['hello', 'world']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
| string/regexp_string_split.test:25 | regexp_string_split('AbCdEf'::str, '(?i)b'::str) | ['A', 'CdEf']::list<str> | CatalogException: Catalog Error: Scalar Function with name regexp_string_split does not exist! |
The engine crashes on these plans
Not yet reported upstream
DuckDB exits with a segmentation fault while running the plan. Each crash fails one case; the run continues in a fresh process.
Functions: variance (41), std_dev (34)
engine crashed on this plan: EngineCrashed: DuckDB crashed (exit code -11) while running run_plan
All 75 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/std_dev.test:5 | ((1.0), (2.0), (3.0), (4.0), (5.0)) std_dev(SAMPLE::enum, col0::fp32) | 1.5811388::fp32? |
| arithmetic/std_dev.test:6 | ((1.0), (2.0), (3.0), (4.0), (5.0)) std_dev(SAMPLE::enum, col0::fp64) | 1.5811388300841898::fp64? |
| arithmetic/std_dev.test:7 | ((1.0), (2.0), (3.0), (4.0), (5.0)) std_dev(POPULATION::enum, col0::fp32) | 1.4142135::fp32? |
| arithmetic/std_dev.test:8 | ((1.0), (2.0), (3.0), (4.0), (5.0)) std_dev(POPULATION::enum, col0::fp64) | 1.4142135623730951::fp64? |
| arithmetic/std_dev.test:11 | ((5.0), (5.0), (5.0), (5.0)) std_dev(SAMPLE::enum, col0::fp32) | 0.0::fp32? |
| arithmetic/std_dev.test:12 | ((5.0), (5.0), (5.0), (5.0)) std_dev(POPULATION::enum, col0::fp64) | 0.0::fp64? |
| arithmetic/std_dev.test:15 | ((42.0)) std_dev(SAMPLE::enum, col0::fp32) | Null::fp32? |
| arithmetic/std_dev.test:16 | ((42.0)) std_dev(POPULATION::enum, col0::fp64) | 0.0::fp64? |
| arithmetic/std_dev.test:19 | ((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0)) std_dev(SAMPLE::enum, col0::fp32) | 3.7416575::fp32? |
| arithmetic/std_dev.test:20 | ((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0)) std_dev(SAMPLE::enum, col0::fp64) | 3.7416573867739413::fp64? |
| arithmetic/std_dev.test:21 | ((-10.0), (-5.0), (0.0), (5.0), (10.0)) std_dev(POPULATION::enum, col0::fp32) | 7.0710678::fp32? |
| arithmetic/std_dev.test:22 | ((-10.0), (-5.0), (0.0), (5.0), (10.0)) std_dev(POPULATION::enum, col0::fp64) | 7.0710678118654755::fp64? |
| arithmetic/std_dev.test:25 | ((1.5), (2.5), (3.5), (4.5), (5.5)) std_dev(SAMPLE::enum, col0::fp32) | 1.5811388::fp32? |
| arithmetic/std_dev.test:26 | ((1.5), (2.5), (3.5), (4.5), (5.5)) std_dev(SAMPLE::enum, col0::fp64) | 1.5811388300841898::fp64? |
| arithmetic/std_dev.test:27 | ((0.1), (0.2), (0.3), (0.4), (0.5)) std_dev(POPULATION::enum, col0::fp64) | 0.14142135623730953::fp64? |
| arithmetic/std_dev.test:30 | ((1000.0), (2000.0), (3000.0), (4000.0), (5000.0)) std_dev(SAMPLE::enum, col0::fp32) | 1581.1388::fp32? |
| arithmetic/std_dev.test:31 | ((1000.0), (2000.0), (3000.0), (4000.0), (5000.0)) std_dev(SAMPLE::enum, col0::fp64) | 1581.1388300841898::fp64? |
| arithmetic/std_dev.test:34 | ((0.001), (0.002), (0.003), (0.004), (0.005)) std_dev(SAMPLE::enum, col0::fp64) | 0.0015811388300841896::fp64? |
| arithmetic/std_dev.test:35 | ((0.001), (0.002), (0.003), (0.004), (0.005)) std_dev(POPULATION::enum, col0::fp64) | 0.0014142135623730951::fp64? |
| arithmetic/std_dev.test:38 | ((Null), (Null), (Null)) std_dev(SAMPLE::enum, col0::fp32?) | Null::fp32? |
| arithmetic/std_dev.test:39 | (()) std_dev(SAMPLE::enum, col0::fp32) | Null::fp32? |
| arithmetic/std_dev.test:40 | ((1.0), (Null), (3.0), (Null), (5.0)) std_dev(SAMPLE::enum, col0::fp32?) | 2.0::fp32? |
| arithmetic/std_dev.test:41 | ((1.0), (Null), (3.0), (Null), (5.0)) std_dev(POPULATION::enum, col0::fp64?) | 1.632993161855452::fp64? |
| arithmetic/std_dev.test:48 | ((10.0), (20.0)) std_dev(SAMPLE::enum, col0::fp32) | 7.071068::fp32? |
| arithmetic/std_dev.test:49 | ((10.0), (20.0)) std_dev(POPULATION::enum, col0::fp64) | 5.0::fp64? |
| arithmetic/std_dev.test:52 | ((0.0), (100.0), (50.0), (25.0), (75.0)) std_dev(SAMPLE::enum, col0::fp32) | 39.52847::fp32? |
| arithmetic/std_dev.test:53 | ((0.0), (100.0), (50.0), (25.0), (75.0)) std_dev(POPULATION::enum, col0::fp64) | 35.35533905932738::fp64? |
| arithmetic/variance.test:5 | ((1.0), (2.0), (3.0), (4.0), (5.0)) variance(SAMPLE::enum, col0::fp32) | 2.5::fp32? |
| arithmetic/variance.test:6 | ((1.0), (2.0), (3.0), (4.0), (5.0)) variance(SAMPLE::enum, col0::fp64) | 2.5::fp64? |
| arithmetic/variance.test:7 | ((1.0), (2.0), (3.0), (4.0), (5.0)) variance(POPULATION::enum, col0::fp32) | 2.0::fp32? |
| arithmetic/variance.test:8 | ((1.0), (2.0), (3.0), (4.0), (5.0)) variance(POPULATION::enum, col0::fp64) | 2.0::fp64? |
| arithmetic/variance.test:11 | ((5.0), (5.0), (5.0), (5.0)) variance(SAMPLE::enum, col0::fp32) | 0.0::fp32? |
| arithmetic/variance.test:12 | ((5.0), (5.0), (5.0), (5.0)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64? |
| arithmetic/variance.test:15 | ((42.0)) variance(SAMPLE::enum, col0::fp32) | Null::fp32? |
| arithmetic/variance.test:16 | ((42.0)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64? |
| arithmetic/variance.test:19 | ((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0)) variance(SAMPLE::enum, col0::fp32) | 14.0::fp32? |
| arithmetic/variance.test:20 | ((-5.0), (-3.0), (-1.0), (1.0), (3.0), (5.0)) variance(SAMPLE::enum, col0::fp64) | 14.0::fp64? |
| arithmetic/variance.test:21 | ((-10.0), (-5.0), (0.0), (5.0), (10.0)) variance(POPULATION::enum, col0::fp32) | 50.0::fp32? |
| arithmetic/variance.test:22 | ((-10.0), (-5.0), (0.0), (5.0), (10.0)) variance(POPULATION::enum, col0::fp64) | 50.0::fp64? |
| arithmetic/variance.test:25 | ((1.5), (2.5), (3.5), (4.5), (5.5)) variance(SAMPLE::enum, col0::fp32) | 2.5::fp32? |
| arithmetic/variance.test:26 | ((1.5), (2.5), (3.5), (4.5), (5.5)) variance(SAMPLE::enum, col0::fp64) | 2.5::fp64? |
| arithmetic/variance.test:27 | ((0.1), (0.2), (0.3), (0.4), (0.5)) variance(POPULATION::enum, col0::fp64) | 0.020000000000000004::fp64? |
| arithmetic/variance.test:30 | ((1000.0), (2000.0), (3000.0), (4000.0), (5000.0)) variance(SAMPLE::enum, col0::fp32) | 2500000.0::fp32? |
| arithmetic/variance.test:31 | ((1000.0), (2000.0), (3000.0), (4000.0), (5000.0)) variance(SAMPLE::enum, col0::fp64) | 2500000.0::fp64? |
| arithmetic/variance.test:34 | ((0.001), (0.002), (0.003), (0.004), (0.005)) variance(SAMPLE::enum, col0::fp64) | 0.0000025::fp64? |
| arithmetic/variance.test:35 | ((0.001), (0.002), (0.003), (0.004), (0.005)) variance(POPULATION::enum, col0::fp64) | 0.000002::fp64? |
| arithmetic/variance.test:38 | ((Null), (Null), (Null)) variance(SAMPLE::enum, col0::fp32?) | Null::fp32? |
| arithmetic/variance.test:39 | (()) variance(SAMPLE::enum, col0::fp32) | Null::fp32? |
| arithmetic/variance.test:40 | ((1.0), (Null), (3.0), (Null), (5.0)) variance(SAMPLE::enum, col0::fp32?) | 4.0::fp32? |
| arithmetic/variance.test:41 | ((1.0), (Null), (3.0), (Null), (5.0)) variance(POPULATION::enum, col0::fp64?) | 2.666666666666667::fp64? |
| arithmetic/variance.test:48 | ((10.0), (20.0)) variance(SAMPLE::enum, col0::fp32) | 50.0::fp32? |
| arithmetic/variance.test:49 | ((10.0), (20.0)) variance(POPULATION::enum, col0::fp64) | 25.0::fp64? |
| arithmetic/variance.test:52 | ((0.0), (100.0), (50.0), (25.0), (75.0)) variance(SAMPLE::enum, col0::fp32) | 1562.5::fp32? |
| arithmetic/variance.test:53 | ((0.0), (100.0), (50.0), (25.0), (75.0)) variance(POPULATION::enum, col0::fp64) | 1250.0::fp64? |
| arithmetic/variance.test:56 | ((-2.0), (-1.0), (0.0), (1.0), (2.0)) variance(SAMPLE::enum, col0::fp32) | 2.5::fp32? |
| arithmetic/variance.test:57 | ((-2.0), (-1.0), (0.0), (1.0), (2.0)) variance(POPULATION::enum, col0::fp64) | 2.0::fp64? |
| arithmetic/variance.test:60 | ((10.0), (20.0), (30.0)) variance(SAMPLE::enum, col0::fp32) | 100.0::fp32? |
| arithmetic/variance.test:61 | ((10.0), (20.0), (30.0)) variance(POPULATION::enum, col0::fp64) | 66.66666666666667::fp64? |
| arithmetic/std_dev.test:5 | ((2.0), (4.0), (6.0), (8.0)) std_dev(POPULATION::enum, col0::fp64) | 2.23606797749979::fp64 |
| arithmetic/std_dev.test:8 | ((10.0), (10.0), (10.0)) std_dev(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/std_dev.test:11 | ((-2.5), (-1.5), (-0.5), (0.5), (1.5), (2.5)) std_dev(POPULATION::enum, col0::fp64) | 1.707825127659933::fp64 |
| arithmetic/std_dev.test:14 | ((3.14)) std_dev(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/std_dev.test:20 | ((0.0), (0.0), (0.0)) std_dev(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/std_dev.test:23 | ((1e-100), (2e-100), (3e-100)) std_dev(POPULATION::enum, col0::fp64) | 8.16496580927726e-101::fp64 |
| arithmetic/std_dev.test:24 | ((1e-50), (2e-50), (3e-50), (4e-50)) std_dev(POPULATION::enum, col0::fp64) | 1.118033988749895e-50::fp64 |
| arithmetic/variance.test:5 | ((2.0), (4.0), (6.0), (8.0)) variance(POPULATION::enum, col0::fp64) | 5.0::fp64 |
| arithmetic/variance.test:8 | ((10.0), (10.0), (10.0)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/variance.test:11 | ((-2.5), (-1.5), (-0.5), (0.5), (1.5), (2.5)) variance(POPULATION::enum, col0::fp64) | 2.9166666666666665::fp64 |
| arithmetic/variance.test:14 | ((3.14)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/variance.test:20 | ((5.0), (15.0)) variance(POPULATION::enum, col0::fp64) | 25.0::fp64 |
| arithmetic/variance.test:21 | ((0.0), (0.0)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/variance.test:22 | ((1e308), (1e308), (1e308)) variance(POPULATION::enum, col0::fp64) | 0.0::fp64 |
| arithmetic/variance.test:25 | ((2.5), (-2.5), (2.5), (-2.5)) variance(POPULATION::enum, col0::fp64) | 6.25::fp64 |
| arithmetic/variance.test:28 | ((1e100), (2e100), (3e100)) variance(POPULATION::enum, col0::fp64) | 6.666666666666667e+199::fp64 |
| arithmetic/variance.test:29 | ((1e100), (-1e100), (1e100), (-1e100)) variance(POPULATION::enum, col0::fp64) | 1e+200::fp64 |
The consumer passes argument types DuckDB has no matching function for
Not yet reported upstream
Functions: regexp_replace (21)
BinderException: Binder Error: No function matches the given name and argument types 'regexp_replace(STRING_LITERAL, STRING_LITERAL, STRING_LITERAL, INTEGER_LITERAL, INTEGER_LITERAL)'. You might need to add explicit t
All 21 cases
| Case | Test | Expected |
|---|---|---|
| string/regexp_replace.test:5 | regexp_replace('test@test.com'::str, '^\S+@\S+$'::str, 'email_found'::str, 1::i64, 0::i64) | 'email_found'::str |
| string/regexp_replace.test:6 | regexp_replace('17:50'::str, '[0-9]?[0-9]:[0-9][0-9]'::str, 'TIME'::str, 1::i64, 0::i64) | 'TIME'::str |
| string/regexp_replace.test:7 | regexp_replace('17:50'::vchar<5>, '[0-9]?[0-9]:[0-9][0-9]'::vchar<22>, 'TIME'::vchar<4>, 1::i64, 0::i64) | 'TIME'::vchar<5> |
| string/regexp_replace.test:13 | regexp_replace('Hello'::str, 'Hel+?'::str, '1'::str, 1::i64, 0::i64) | '1lo'::str |
| string/regexp_replace.test:17 | regexp_replace('Hello'::str, 'Hel+'::str, '1'::str, 1::i64, 0::i64) | '1o'::str |
| string/regexp_replace.test:18 | regexp_replace('Helo'::str, 'Hel+'::str, '1'::str, 1::i64, 0::i64) | '1o'::str |
| string/regexp_replace.test:29 | regexp_replace('abcdefg'::str, '\Aabc'::str, '111'::str, 1::i64, 0::i64) | '111defg'::str |
| string/regexp_replace.test:30 | regexp_replace('abcdefg'::str, 'efg$'::str, '111'::str, 1::i64, 0::i64) | 'abcd111'::str |
| string/regexp_replace.test:31 | regexp_replace('catdogdog'::str, '^cat'::str, 'dog'::str, 1::i64, 0::i64) | 'dogdogdog'::str |
| string/regexp_replace.test:32 | regexp_replace('dogcatdogdog'::str, '^cat'::str, 'dog'::str, 1::i64, 0::i64) | 'dogcatdogdog'::str |
| string/regexp_replace.test:39 | regexp_replace('abc1abc'::str, '\d'::str, ''::str, 1::i64, 0::i64) | 'abcabc'::str |
| string/regexp_replace.test:40 | regexp_replace('111a111'::str, '\D'::str, ''::str, 1::i64, 0::i64) | '111111'::str |
| string/regexp_replace.test:41 | regexp_replace('abc def'::str, '\s'::str, ''::str, 1::i64, 0::i64) | 'abcdef'::str |
| string/regexp_replace.test:42 | regexp_replace('a bcdef'::str, '\S'::str, ','::str, 1::i64, 1::i64) | ', bcdef'::str |
| string/regexp_replace.test:43 | regexp_replace(' abcdef'::str, '\w'::str, '1'::str, 1::i64, 1::i64) | ' 1bcdef'::str |
| string/regexp_replace.test:44 | regexp_replace('a bcdef'::str, '\W'::str, 'a'::str, 1::i64, 0::i64) | 'aabcdef'::str |
| string/regexp_replace.test:53 | regexp_replace('abc123abc'::str, '[0-9]+'::str, 'abc'::str, 1::i64, 0::i64) | 'abcabcabc'::str |
| string/regexp_replace.test:54 | regexp_replace('abcabcabc'::str, '[bc]'::str, 'dd'::str, 1::i64, 1::i64) | 'addcabcabc'::str |
| string/regexp_replace.test:55 | regexp_replace('abc'::str, '(.*)c'::str, '\1e'::str, 1::i64, 0::i64) | 'abe'::str |
| string/regexp_replace.test:56 | regexp_replace('abbbbc'::str, '[b]{2,3}'::str, 'd'::str, 1::i64, 0::i64) | 'adbc'::str |
| string/regexp_replace.test:9 | regexp_replace(''::str, 'a'::str, 'b'::str, 1::i64, 0::i64) | ''::str |
The consumer passes argument types DuckDB has no matching function for
Not yet reported upstream
Functions: xor (8), factorial_decimal (3)
BinderException: Binder Error: No function matches the given name and argument types 'factorial(DECIMAL(1,0))'. You might need to add explicit type casts.
All 11 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic_decimal/factorial_decimal.test:5 | factorial(0::dec<1, 0>) | 1::dec<38, 0> | |
| arithmetic_decimal/factorial_decimal.test:6 | factorial(1::dec<1, 0>) | 1::dec<38, 0> | |
| arithmetic_decimal/factorial_decimal.test:7 | factorial(20::dec<2, 0>) | 2432902008176640000::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types 'factorial(DECIMAL(2,0))'. You might need to add explicit type casts. |
| boolean/xor.test:5 | xor(true::bool, false::bool) | true::bool | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, BOOLEAN)'. You might need to add explicit type casts. |
| boolean/xor.test:6 | xor(true::bool, true::bool) | false::bool | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, BOOLEAN)'. You might need to add explicit type casts. |
| boolean/xor.test:7 | xor(false::bool, false::bool) | false::bool | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, BOOLEAN)'. You might need to add explicit type casts. |
| boolean/xor.test:8 | xor(false::bool, true::bool) | true::bool | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, BOOLEAN)'. You might need to add explicit type casts. |
| boolean/xor.test:11 | xor(true::bool, null::bool?) | null::bool? | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, "NULL")'. You might need to add explicit type casts. |
| boolean/xor.test:12 | xor(null::bool?, true::bool) | null::bool? | BinderException: Binder Error: No function matches the given name and argument types 'xor("NULL", BOOLEAN)'. You might need to add explicit type casts. |
| boolean/xor.test:13 | xor(false::bool, null::bool?) | null::bool? | BinderException: Binder Error: No function matches the given name and argument types 'xor(BOOLEAN, "NULL")'. You might need to add explicit type casts. |
| boolean/xor.test:14 | xor(null::bool?, false::bool) | null::bool? | BinderException: Binder Error: No function matches the given name and argument types 'xor("NULL", BOOLEAN)'. You might need to add explicit type casts. |
ConversionException: Conversion Error: … specifier "…" not recognized
Not yet reported upstream
Functions: extract (11)
ConversionException: Conversion Error: extract specifier "ISO_YEAR" not recognized
All 11 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| datetime/extract.test:6 | extract(ISO_YEAR::enum, 2016-01-01T13:30:15::pts<6>) | 2015::i64 | |
| datetime/extract.test:9 | extract(ISO_WEEK::enum, ONE::enum, 2016-12-31T13:30:15::pts<6>) | 52::i64 | ConversionException: Conversion Error: extract specifier "ISO_WEEK" not recognized |
| datetime/extract.test:11 | extract(SUNDAY_DAY_OF_WEEK::enum, ONE::enum, 2016-12-25T13:30:15::pts<6>) | 1::i64 | ConversionException: Conversion Error: extract specifier "SUNDAY_DAY_OF_WEEK" not recognized |
| datetime/extract.test:12 | extract(MONDAY_DAY_OF_WEEK::enum, ONE::enum, 2016-12-25T13:30:15::pts<6>) | 7::i64 | ConversionException: Conversion Error: extract specifier "MONDAY_DAY_OF_WEEK" not recognized |
| datetime/extract.test:13 | extract(DAY_OF_YEAR::enum, ONE::enum, 2016-12-25T13:30:15::pts<6>) | 360::i64 | ConversionException: Conversion Error: extract specifier "DAY_OF_YEAR" not recognized |
| datetime/extract.test:19 | extract(UNIX_TIME::enum, 2016-12-31T13:30:15::pts<6>) | 1483191015::i64 | ConversionException: Conversion Error: extract specifier "UNIX_TIME" not recognized |
| datetime/extract.test:9 | extract(ISO_YEAR::enum, 2020-01-01T00:00:00::pts<6>) | 2020::i64 | |
| datetime/extract.test:10 | extract(ISO_YEAR::enum, 2021-01-01T00:00:00::pts<6>) | 2020::i64 | |
| datetime/extract.test:22 | extract(DAY_OF_YEAR::enum, ONE::enum, 2020-02-29::date) | 60::i64 | ConversionException: Conversion Error: extract specifier "DAY_OF_YEAR" not recognized |
| datetime/extract.test:23 | extract(DAY_OF_YEAR::enum, ONE::enum, 2020-12-31::date) | 366::i64 | ConversionException: Conversion Error: extract specifier "DAY_OF_YEAR" not recognized |
| datetime/extract.test:25 | extract(DAY_OF_YEAR::enum, ONE::enum, 2019-12-31::date) | 365::i64 | ConversionException: Conversion Error: extract specifier "DAY_OF_YEAR" not recognized |
Wrong result (got …, expected …)
Not yet reported upstream
Functions: extract (4), regexp_replace (3)
got 15000, expected 0
All 7 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| datetime/extract.test:17 | extract(MILLISECOND::enum, 2016-12-31T13:30:15::pts<6>) | 0::i64 | |
| datetime/extract.test:18 | extract(MICROSECOND::enum, 2016-12-31T13:30:15.220000::pts<6>) | 0::i64 | got 15220000, expected 0 |
| datetime/extract.test:30 | extract(MILLISECOND::enum, 01:02:03.155::pt<6>) | 155::i64 | got 3155, expected 155 |
| datetime/extract.test:31 | extract(MICROSECOND::enum, 01:02:03.45::pt<6>) | 0::i64 | got 3450000, expected 0 |
| string/regexp_replace.test:48 | regexp_replace('a bcdef'::str, '\S'::str, ','::str) | ', ,,,,,'::str | got ', bcdef', expected ', ,,,,,' |
| string/regexp_replace.test:49 | regexp_replace(' abcdef'::str, '\w'::str, '1'::str) | ' 111111'::str | got ' 1bcdef', expected ' 111111' |
| string/regexp_replace.test:58 | regexp_replace('abcabcabc'::str, '[bc]'::str, 'dd'::str) | 'addddaddddadddd'::str | got 'addcabcabc', expected 'addddaddddadddd' |
BinderException: Binder Error: Cardinality can only operate on MAPs
Not yet reported upstream
Functions: cardinality (6)
BinderException: Binder Error: Cardinality can only operate on MAPs
All 6 cases
| Case | Test | Expected |
|---|---|---|
| list/cardinality.test:5 | cardinality([1, 2, 3]::list<i32>) | 3::i64 |
| list/cardinality.test:6 | cardinality([1, 2, 3, 4, 5]::list<i32>) | 5::i64 |
| list/cardinality.test:7 | cardinality(['a', 'b']::list<string>) | 2::i64 |
| list/cardinality.test:10 | cardinality([]::list<i32>) | 0::i64 |
| list/cardinality.test:13 | cardinality([1, Null, 3]::list<i32?>) | 3::i64 |
| list/cardinality.test:14 | cardinality([Null, Null]::list<i32?>) | 2::i64 |
BinderException: Binder Error: Could not choose a best candidate function for the function call "…"NULL"…". In order to select one, please add explicit type casts.
Not yet reported upstream
Functions: add_datetime (2), extract (2), subtract_datetime, contains
BinderException: Binder Error: Could not choose a best candidate function for the function call "add("NULL", INTERVAL)". In order to select one, please add explicit type casts.All 6 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| datetime/add_datetime.test:15 | add(null::date?, P5D::iday<6>) | null::pts?<6> | |
| datetime/add_datetime.test:16 | add(null::date?, P5Y::iyear) | null::date? | |
| datetime/subtract_datetime.test:15 | subtract(null::date?, P5D::iday<0>) | null::pts?<0> | BinderException: Binder Error: Could not choose a best candidate function for the function call "subtract("NULL", INTERVAL)". In order to select one, please add |
| datetime/extract.test:5 | extract(YEAR::enum, null::date?) | null::i64? | BinderException: Binder Error: Could not choose a best candidate function for the function call "date_part(STRING_LITERAL, "NULL")". In order to select one, ple |
| datetime/extract.test:6 | extract(MONTH::enum, ONE::enum, null::pts?<6>) | null::i64? | BinderException: Binder Error: Could not choose a best candidate function for the function call "date_part(STRING_LITERAL, "NULL")". In order to select one, ple |
| string/contains.test:6 | contains('abcdefg'::str, null::str?) | null::bool? | BinderException: Binder Error: Could not choose a best candidate function for the function call "contains(STRING_LITERAL, "NULL")". In order to select one, plea |
Expected a runtime error; the consumer rejected the plan instead
Not yet reported upstream
Functions: negate (4), factorial_decimal (2)
expected a runtime error, but the consumer rejected the plan: CatalogException: Catalog Error: Scalar Function with name negate does not exist!
All 6 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic/negate.test:17 | negate(-128::i8) [overflow:ERROR] | <!ERROR> | |
| arithmetic_decimal/factorial_decimal.test:10 | factorial(34::dec<2, 0>) | <!ERROR> | expected a runtime error, but the consumer rejected the plan: BinderException: Binder Error: No function matches the given name and argument types 'factorial(DE |
| arithmetic_decimal/factorial_decimal.test:13 | factorial(-1::dec<1, 0>) | <!ERROR> | expected a runtime error, but the consumer rejected the plan: BinderException: Binder Error: No function matches the given name and argument types 'factorial(DE |
| arithmetic/negate.test:11 | negate(-32768::i16) [overflow:ERROR] | <!ERROR> | |
| arithmetic/negate.test:14 | negate(-2147483648::i32) [overflow:ERROR] | <!ERROR> | |
| arithmetic/negate.test:17 | negate(-9223372036854775808::i64) [overflow:ERROR] | <!ERROR> |
NotImplementedException: Not implemented Error: Unsupported expression type window_function
Not yet reported upstream
Functions: lag (4), row_number (2)
NotImplementedException: Not implemented Error: Unsupported expression type window_function
All 6 cases
| Case | Test | Expected |
|---|---|---|
| window/lag.test:5 | DEFINE f1(i32) | ((1998), (1999), (2000), (2001)) |
| window/lag.test:8 | DEFINE f1(i32) | ((1998), (1999), (2000), (2001)) |
| window/lag.test:11 | DEFINE f1(i32) | ((1998), (1999), (2000), (2001)) |
| window/lag.test:15 | DEFINE f1(i32) | () |
| window/row_number.test:5 | DEFINE f1(i32) | ((1998), (1999), (2000), (2001)) |
| window/row_number.test:9 | DEFINE f1(i32) | () |
The consumer passes argument types DuckDB has no matching function for
Not yet reported upstream
Functions: regexp_replace (3)
BinderException: Binder Error: No function matches the given name and argument types 'regexp_replace(STRING_LITERAL, "NULL", STRING_LITERAL, INTEGER_LITERAL, INTEGER_LITERAL)'. You might need to add explicit type cast
All 3 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| string/regexp_replace.test:23 | regexp_replace('Hello'::str, null::str?, '1'::str, 1::i64, 0::i64) | null::str? | |
| string/regexp_replace.test:24 | regexp_replace(null::str?, ' '::str, '1'::str, 1::i64, 0::i64) | null::str? | BinderException: Binder Error: No function matches the given name and argument types 'regexp_replace("NULL", STRING_LITERAL, STRING_LITERAL, INTEGER_LITERAL, IN |
| string/regexp_replace.test:5 | regexp_replace('test'::str, 'e'::str, null::str?, 1::i64, 0::i64) | null::str? | BinderException: Binder Error: No function matches the given name and argument types 'regexp_replace(STRING_LITERAL, STRING_LITERAL, "NULL", INTEGER_LITERAL, IN |
BinderException: Binder Error: Could not choose a best candidate function for the function call "…"NULL"…". In order to select one, please … explicit type casts.
Not yet reported upstream
Functions: add (2)
BinderException: Binder Error: Could not choose a best candidate function for the function call "add("NULL", INTERVAL)". In order to select one, please add explicit type casts.All 2 cases
| Case | Test | Expected |
|---|---|---|
| datetime/add.test:12 | add(null::date?, P5D::iday) | null::pts?<6> |
| datetime/add.test:21 | add(null::pts?<6>, P5D::iday) | null::pts?<6> |
BinderException: Binder Error: Could not choose a best candidate function for the function call "…"NULL"…"NULL"…". In order to select one, please add explicit type casts.
Not yet reported upstream
Functions: contains
BinderException: Binder Error: Could not choose a best candidate function for the function call "contains("NULL", "NULL")". In order to select one, please add explicit type casts.The case
| Case | Test | Expected |
|---|---|---|
| string/contains.test:7 | contains(null::str?, null::str?) | null::bool? |
Failing queries
Query plans that fail. There is no SQL run to compare with, so the message is the guide.
Subqueries are not supported
Not yet reported upstream
The Substrait extension rejects plans with subquery expressions (IN, EXISTS, scalar subqueries), which these TPC-H queries use.
Queries: q02, q04, q11, q15, q16, q17, q18, q20, q21, q22
DuckDB Substrait execution failed: Not implemented Error: Unsupported expression type subquery
LINE 1: SELECT * FROM from_substrait(?)
^All 10 cases
| Case |
|---|
| q02 |
| q04 |
| q11 |
| q15 |
| q16 |
| q17 |
| q18 |
| q20 |
| q21 |
| q22 |
Engine results that differ from the Substrait definition
These cases fail in the engine's own SQL as well, so they are about the engine itself rather than its Substrait consumer.
BinderException: Binder Error: No function matches the given name and argument types '…'. You might need to add explicit type casts.
Not yet reported upstream
Functions: bitwise_and (14), bitwise_or (14), bitwise_xor (14)
BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(1,0), DECIMAL(1,0))'. You might need to add explicit type casts. [SELECT (CAST('0' AS DECIMAL(1,0)) & CAST('1' AS DECIMAL(1,0)))]All 42 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic_decimal/bitwise_and.test:5 | bitwise_and(0::dec<1, 0>, 1::dec<1, 0>) | 0::dec<1, 0> | |
| arithmetic_decimal/bitwise_and.test:6 | bitwise_and(127::dec<3, 0>, 127::dec<3, 0>) | 127::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(3,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_and.test:7 | bitwise_and(-127::dec<3, 0>, -10::dec<2, 0>) | -128::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(3,0), DECIMAL(2,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_and.test:8 | bitwise_and(31766::dec<5, 0>, 900::dec<3, 0>) | 4::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_and.test:9 | bitwise_and(-31766::dec<5, 0>, 900::dec<3, 0>) | 896::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_and.test:10 | bitwise_and(2147483647::dec<10, 0>, 1234567::dec<7, 0>) | 1234567::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(10,0), DECIMAL(7,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_and.test:11 | bitwise_and(-2147483647::dec<10, 0>, 1234567::dec<7, 0>) | 1::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(10,0), DECIMAL(7,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_and.test:12 | bitwise_and(9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | 127::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_and.test:13 | bitwise_and(-9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | 1::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_and.test:16 | bitwise_and(99999999999999999999999999999999999999::dec<38, 0>, 99999999999999999999999999999999999999::dec<38, 0>) | 99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_and.test:17 | bitwise_and(99999999999999999999999999999999999999::dec<38, 0>, 00000000000000000000000000000000000000::dec<38, 0>) | 0::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_and.test:18 | bitwise_and(-99999999999999999999999999999999999999::dec<38, 0>, -99999999999999999999999999999999999999::dec<38, 0>) | -99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_and.test:21 | bitwise_and(null::dec?<1, 0>, 127::dec<3, 0>) | null::dec?<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '&(DECIMAL(1,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_and.test:22 | bitwise_and(null::dec?<1, 0>, null::dec?<1, 0>) | null::dec?<1, 0> | |
| arithmetic_decimal/bitwise_or.test:5 | bitwise_or(0::dec<1, 0>, 1::dec<1, 0>) | 1::dec<1, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(1,0), DECIMAL(1,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:6 | bitwise_or(127::dec<3, 0>, 127::dec<3, 0>) | 127::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(3,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:7 | bitwise_or(-127::dec<3, 0>, -10::dec<2, 0>) | -9::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(3,0), DECIMAL(2,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:8 | bitwise_or(31766::dec<5, 0>, 900::dec<3, 0>) | 32662::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:9 | bitwise_or(-31766::dec<5, 0>, 900::dec<3, 0>) | -31762::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:10 | bitwise_or(2147483647::dec<10, 0>, 123456789::dec<9, 0>) | 2147483647::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(10,0), DECIMAL(9,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_or.test:11 | bitwise_or(-2147483647::dec<10, 0>, 123456789::dec<9, 0>) | -2024026859::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(10,0), DECIMAL(9,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_or.test:12 | bitwise_or(9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | 9223372036854775807::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_or.test:13 | bitwise_or(-9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | -9223372036854775681::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type casts |
| arithmetic_decimal/bitwise_or.test:16 | bitwise_or(99999999999999999999999999999999999999::dec<38, 0>, 99999999999999999999999999999999999999::dec<38, 0>) | 99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_or.test:17 | bitwise_or(99999999999999999999999999999999999999::dec<38, 0>, 00000000000000000000000000000000000000::dec<38, 0>) | 99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_or.test:18 | bitwise_or(-99999999999999999999999999999999999999::dec<38, 0>, -99999999999999999999999999999999999999::dec<38, 0>) | -99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_or.test:21 | bitwise_or(null::dec?<1, 0>, 127::dec<3, 0>) | null::dec?<3, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(1,0), DECIMAL(3,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_or.test:22 | bitwise_or(null::dec?<1, 0>, null::dec?<1, 0>) | null::dec?<1, 0> | BinderException: Binder Error: No function matches the given name and argument types '|(DECIMAL(1,0), DECIMAL(1,0))'. You might need to add explicit type casts. |
| arithmetic_decimal/bitwise_xor.test:5 | bitwise_xor(0::dec<1, 0>, 1::dec<1, 0>) | 1::dec<1, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(1,0), DECIMAL(1,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:6 | bitwise_xor(127::dec<3, 0>, 127::dec<3, 0>) | 0::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(3,0), DECIMAL(3,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:7 | bitwise_xor(-127::dec<3, 0>, -10::dec<2, 0>) | 119::dec<3, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(3,0), DECIMAL(2,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:8 | bitwise_xor(31766::dec<5, 0>, 900::dec<3, 0>) | 32658::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:9 | bitwise_xor(-31766::dec<5, 0>, 900::dec<3, 0>) | -32658::dec<5, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(5,0), DECIMAL(3,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:10 | bitwise_xor(2147483647::dec<10, 0>, 123456789::dec<9, 0>) | 2024026858::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(10,0), DECIMAL(9,0))'. You might need to add explicit type cas |
| arithmetic_decimal/bitwise_xor.test:11 | bitwise_xor(-2147483647::dec<10, 0>, 123456789::dec<9, 0>) | -2024026860::dec<10, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(10,0), DECIMAL(9,0))'. You might need to add explicit type cas |
| arithmetic_decimal/bitwise_xor.test:12 | bitwise_xor(9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | 9223372036854775680::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type cas |
| arithmetic_decimal/bitwise_xor.test:13 | bitwise_xor(-9223372036854775807::dec<19, 0>, 127::dec<3, 0>) | -9223372036854775682::dec<19, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(19,0), DECIMAL(3,0))'. You might need to add explicit type cas |
| arithmetic_decimal/bitwise_xor.test:16 | bitwise_xor(99999999999999999999999999999999999999::dec<38, 0>, 99999999999999999999999999999999999999::dec<38, 0>) | 0::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type ca |
| arithmetic_decimal/bitwise_xor.test:17 | bitwise_xor(99999999999999999999999999999999999999::dec<38, 0>, 00000000000000000000000000000000000000::dec<38, 0>) | 99999999999999999999999999999999999999::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type ca |
| arithmetic_decimal/bitwise_xor.test:18 | bitwise_xor(-99999999999999999999999999999999999999::dec<38, 0>, -99999999999999999999999999999999999999::dec<38, 0>) | 0::dec<38, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(38,0), DECIMAL(38,0))'. You might need to add explicit type ca |
| arithmetic_decimal/bitwise_xor.test:21 | bitwise_xor(null::dec?<1, 0>, 127::dec<3, 0>) | null::dec?<3, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(1,0), DECIMAL(3,0))'. You might need to add explicit type cast |
| arithmetic_decimal/bitwise_xor.test:22 | bitwise_xor(null::dec?<1, 0>, null::dec?<1, 0>) | null::dec?<1, 0> | BinderException: Binder Error: No function matches the given name and argument types 'xor(DECIMAL(1,0), DECIMAL(1,0))'. You might need to add explicit type cast |
Wrong result (got …, expected …)
Not yet reported upstream
Functions: gte (6), gt (5), lt (4), lte (4), atanh (2), sign (2), between (2), equal (2), not_equal (2), rpad, degrees, regexp_string_split, string_split
got 'abcd', expected 'cdef' [SELECT rpad('abcdef', CAST(4 AS INTEGER), ' ')]All 33 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| string/rpad.test:10 | rpad('abcdef'::str, 4::i32, ' '::str) | 'cdef'::str | |
| arithmetic/atanh.test:5 | atanh(-1.0::fp64) | -inf::fp64 | got inf, expected -inf |
| arithmetic/atanh.test:6 | atanh(-1.0::fp32) | -inf::fp32 | got inf, expected -inf |
| arithmetic/degrees.test:50 | degrees(1.401298464324817e-45::fp32) | 8.029052e-44::fp32 | got 8.028848784397557e-44, expected 7.987401246651457e-44 |
| arithmetic/sign.test:32 | sign(nan::fp64) | nan::fp64 | got 0, expected nan |
| arithmetic/sign.test:51 | sign(nan::fp32) | nan::fp32 | got 0, expected nan |
| comparison/between.test:17 | between(3.0::fp32, 1.0::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/between.test:22 | between(3.0::fp64, 1.0::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/equal.test:16 | equal(nan::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/equal.test:17 | equal(nan::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/gt.test:18 | gt(nan::fp32, 5.0::fp32) | false::bool | got True, expected False |
| comparison/gt.test:21 | gt(nan::fp32, 0.0::fp32) | false::bool | got True, expected False |
| comparison/gt.test:22 | gt(nan::fp32, -inf::fp32) | false::bool | got True, expected False |
| comparison/gt.test:24 | gt(nan::fp64, 5.0::fp64) | false::bool | got True, expected False |
| comparison/gt.test:27 | gt(nan::fp64, inf::fp64) | false::bool | got True, expected False |
| comparison/gte.test:31 | gte(nan::fp32, 1.0::fp32) | false::bool | got True, expected False |
| comparison/gte.test:33 | gte(nan::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/gte.test:34 | gte(nan::fp64, 1.0::fp64) | false::bool | got True, expected False |
| comparison/gte.test:36 | gte(nan::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/gte.test:37 | gte(nan::fp32, 0.0::fp32) | false::bool | got True, expected False |
| comparison/gte.test:38 | gte(nan::fp64, -inf::fp64) | false::bool | got True, expected False |
| comparison/lt.test:17 | lt(1.0::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/lt.test:20 | lt(-1.0::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/lt.test:22 | lt(1.0::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/lt.test:25 | lt(-inf::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/lte.test:25 | lte(5.0::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/lte.test:26 | lte(nan::fp32, nan::fp32) | false::bool | got True, expected False |
| comparison/lte.test:28 | lte(100.0::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/lte.test:29 | lte(nan::fp64, nan::fp64) | false::bool | got True, expected False |
| comparison/not_equal.test:16 | not_equal(nan::fp32, nan::fp32) | true::bool | got False, expected True |
| comparison/not_equal.test:19 | not_equal(nan::fp64, nan::fp64) | true::bool | got False, expected True |
| string/regexp_string_split.test:6 | regexp_string_split('text'::str, null::str?) | null::list?<str> | got ['text'], expected None |
| string/string_split.test:9 | string_split('abc'::str, null::str?) | null::list?<str> | got ['abc'], expected None |
InvalidInputException: Invalid Input Error: invalid perl operator: …
Not yet reported upstream
Functions: regexp_count_substring (8), regexp_match_substring (8), regexp_replace (8), regexp_string_split (4)
InvalidInputException: Invalid Input Error: invalid perl operator: (?= [SELECT len(regexp_extract_all('100 dollars 100 dollars', '\d+(?= dollars)'))]All 28 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| string/regexp_count_substring.test:41 | regexp_count_substring('100 dollars 100 dollars'::str, '\d+(?= dollars)'::str, 1::i64) | 2::i64 | |
| string/regexp_count_substring.test:42 | regexp_count_substring('100 dollars 100 dollars'::str, '\d+(?= dollars)'::str) | 2::i64 | |
| string/regexp_count_substring.test:45 | regexp_count_substring('100 pesos, 99 pesos, 98 pesos'::str, '\d+(?!\d| dollars)'::str, 1::i64) | 3::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_count_substring.test:46 | regexp_count_substring('100 pesos, 99 pesos, 98 pesos'::str, '\d+(?!\d| dollars)'::str) | 3::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_count_substring.test:49 | regexp_count_substring('USD100'::str, '(?<=USD)\d{3}'::str, 1::i64) | 1::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_count_substring.test:50 | regexp_count_substring('USD100'::str, '(?<=USD)\d{3}'::str) | 1::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_count_substring.test:53 | regexp_count_substring('JPY100JPY100'::str, '\d{3}(?<!USD\d{3})'::str, 1::i64) | 2::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_count_substring.test:54 | regexp_count_substring('JPY100JPY100'::str, '\d{3}(?<!USD\d{3})'::str) | 2::i64 | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_match_substring.test:43 | regexp_match_substring('100 dollars'::str, '\d+(?= dollars)'::str, 1::i64, 1::i64, 0::i64) | '100'::str | |
| string/regexp_match_substring.test:44 | regexp_match_substring('100 dollars'::str, '\d+(?= dollars)'::str) | '100'::str | |
| string/regexp_match_substring.test:47 | regexp_match_substring('100 pesos'::str, '\d+(?!\d| dollars)'::str, 1::i64, 1::i64, 0::i64) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_match_substring.test:48 | regexp_match_substring('100 pesos'::str, '\d+(?!\d| dollars)'::str) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_match_substring.test:51 | regexp_match_substring('USD100'::str, '(?<=USD)\d{3}'::str, 1::i64, 1::i64, 0::i64) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_match_substring.test:52 | regexp_match_substring('USD100'::str, '(?<=USD)\d{3}'::str) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_match_substring.test:55 | regexp_match_substring('JPY100'::str, '\d{3}(?<!USD\d{3})'::str, 1::i64, 1::i64, 0::i64) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_match_substring.test:56 | regexp_match_substring('JPY100'::str, '\d{3}(?<!USD\d{3})'::str) | '100'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_replace.test:63 | regexp_replace('100 dollars'::str, '\d+(?= dollars)'::str, 'hundred'::str, 1::i64, 0::i64) | 'hundred dollars'::str | |
| string/regexp_replace.test:64 | regexp_replace('100 dollars'::str, '\d+(?= dollars)'::str, 'hundred'::str) | 'hundred dollars'::str | |
| string/regexp_replace.test:67 | regexp_replace('100 pesos'::str, '\d+(?!\d| dollars)'::str, '999'::str, 1::i64, 0::i64) | '999 pesos'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_replace.test:68 | regexp_replace('100 pesos'::str, '\d+(?!\d| dollars)'::str, '999'::str) | '999 pesos'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_replace.test:71 | regexp_replace('USD100'::str, '(?<=USD)\d{3}'::str, '999'::str, 1::i64, 0::i64) | 'USD999'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_replace.test:72 | regexp_replace('USD100'::str, '(?<=USD)\d{3}'::str, '999'::str) | 'USD999'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_replace.test:75 | regexp_replace('JPY100'::str, '\d{3}(?<!USD\d{3})'::str, '999'::str, 1::i64, 0::i64) | 'JPY999'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_replace.test:76 | regexp_replace('JPY100'::str, '\d{3}(?<!USD\d{3})'::str, '999'::str) | 'JPY999'::str | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_string_split.test:30 | regexp_string_split('100 dollars'::str, '\d+(?= dollars)'::str) | ['', ' dollars']::list<str> | |
| string/regexp_string_split.test:33 | regexp_string_split('100 pesos'::str, '\d+(?!\d| dollars)'::str) | ['', ' pesos']::list<str> | InvalidInputException: Invalid Input Error: invalid perl operator: (?! |
| string/regexp_string_split.test:36 | regexp_string_split('USD100'::str, '(?<=USD)\d{3}'::str) | ['USD', '']::list<str> | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
| string/regexp_string_split.test:39 | regexp_string_split('JPY100'::str, '\d{3}(?<!USD\d{3})'::str) | ['JPY', '']::list<str> | InvalidInputException: Invalid Input Error: invalid perl operator: (?< |
Expected an error, got a result
Not yet reported upstream
Functions: sum (5), factorial (2)
expected an error, got 9223372046854775810 [SELECT sum(x) FROM (SELECT UNNEST(CAST(CAST([CAST(9223372036854775806 AS BIGINT), CAST(1 AS BIGINT), CAST(1 AS BIGINT), CAST(1 AS BIGINT), CAST(1 AS BIGINT), CAST(10000000000 AS BIGINT)] AS BIGINT[]) AS BIGINT[])) AS x)]
All 7 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic/sum.test:11 | sum((9223372036854775806, 1, 1, 1, 1, 10000000000)::i64) [overflow:ERROR] | <!ERROR> | |
| arithmetic_unsigned/sum.test:11 | sum(('18446744073709551614', '1', '1', '1', '1', '10000000000')::u!u64) [overflow:ERROR] | <!ERROR> | expected an error, got 18446744083709551618 |
| arithmetic/factorial.test:5 | factorial(13::i32) [overflow:ERROR] | <!ERROR> | expected an error, got 6227020800 |
| arithmetic/factorial.test:6 | factorial(21::i64) [overflow:ERROR] | <!ERROR> | expected an error, got 51090942171709440000 |
| arithmetic/sum.test:18 | sum((-9223372036854775808, -1)::i64) [overflow:ERROR] | <!ERROR> | expected an error, got -9223372036854775809 |
| arithmetic/sum.test:19 | sum((-9223372036854775807, -2)::i64) [overflow:ERROR] | <!ERROR> | expected an error, got -9223372036854775809 |
| arithmetic/sum.test:20 | sum((-9223372036854775808, -1, -1, -1)::i64) [overflow:ERROR] | <!ERROR> | expected an error, got -9223372036854775811 |
OutOfRangeException: Out of Range Error: input value -inf is out of range for numeric function
Not yet reported upstream
Functions: cos (2), sin (2), tan (2)
OutOfRangeException: Out of Range Error: input value -inf is out of range for numeric function [SELECT cos(CAST('-inf' AS FLOAT))]All 6 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/cos.test:9 | cos(-inf::fp32) | nan::fp32 |
| arithmetic/cos.test:10 | cos(-inf::fp64) | nan::fp64 |
| arithmetic/sin.test:13 | sin(-inf::fp32) | nan::fp32 |
| arithmetic/sin.test:14 | sin(-inf::fp64) | nan::fp64 |
| arithmetic/tan.test:9 | tan(-inf::fp32) | nan::fp32 |
| arithmetic/tan.test:10 | tan(-inf::fp64) | nan::fp64 |
OutOfRangeException: Out of Range Error: input value inf is out of range for numeric function
Not yet reported upstream
Functions: cos (2), sin (2), tan (2)
OutOfRangeException: Out of Range Error: input value inf is out of range for numeric function [SELECT cos(CAST('inf' AS FLOAT))]All 6 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/cos.test:7 | cos(inf::fp32) | nan::fp32 |
| arithmetic/cos.test:8 | cos(inf::fp64) | nan::fp64 |
| arithmetic/sin.test:11 | sin(inf::fp32) | nan::fp32 |
| arithmetic/sin.test:12 | sin(inf::fp64) | nan::fp64 |
| arithmetic/tan.test:7 | tan(inf::fp32) | nan::fp32 |
| arithmetic/tan.test:8 | tan(inf::fp64) | nan::fp64 |
OutOfRangeException: Out of Range Error: Cannot left-shift negative number -N
Not yet reported upstream
Functions: shift_left (4)
OutOfRangeException: Out of Range Error: Cannot left-shift negative number -3 [SELECT (CAST(-3 AS INTEGER) << CAST(1 AS INTEGER))]
All 4 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/shift_left.test:9 | shift_left(-3::i32, 1::i32) | -6::i32 |
| arithmetic/shift_left.test:10 | shift_left(-3::i32, 2::i32) | -12::i32 |
| arithmetic/shift_left.test:11 | shift_left(-3::i64, 1::i32) | -6::i64 |
| arithmetic/shift_left.test:12 | shift_left(-3::i64, 2::i32) | -12::i64 |
OutOfRangeException: Out of Range Error: STDDEV_POP is out of range!
Not yet reported upstream
Functions: std_dev
OutOfRangeException: Out of Range Error: STDDEV_POP is out of range! [SELECT stddev_pop(col0) FROM (VALUES (CAST('1.0' AS DOUBLE)), (CAST('NaN' AS DOUBLE)), (CAST('3.0' AS DOUBLE))) AS t(col0)]The case
| Case | Test | Expected |
|---|---|---|
| arithmetic/std_dev.test:17 | ((1.0), (NaN), (3.0)) std_dev(POPULATION::enum, col0::fp64) | nan::fp64 |
OutOfRangeException: Out of Range Error: VARPOP is out of range!
Not yet reported upstream
Functions: variance
OutOfRangeException: Out of Range Error: VARPOP is out of range! [SELECT var_pop(col0) FROM (VALUES (CAST('NaN' AS DOUBLE)), (CAST('1.0' AS DOUBLE)), (CAST('2.0' AS DOUBLE)), (CAST('3.0' AS DOUBLE))) AS t(col0)]The case
| Case | Test | Expected |
|---|---|---|
| arithmetic/variance.test:17 | ((NaN), (1.0), (2.0), (3.0)) variance(POPULATION::enum, col0::fp64) | nan::fp64 |
Not tested yet: this repository's tooling
Cases this repository cannot run yet. They are skipped and say nothing about the engine.
The plan builder cannot build these types yet
Unsigned integers and some other types are user-defined types in Substrait; building plans with them is not implemented here yet, so these cases say nothing about the engine.
Functions: add (8), multiply (8), subtract (8), divide (6)
plan not built: user-defined type literals (u!...) are not built
All 30 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic_unsigned/add.test:5 | add(('200')::u!u8, ('50')::u!u8) | ('250')::u!u8 |
| arithmetic_unsigned/add.test:6 | add(('50000')::u!u16, ('10000')::u!u16) | ('60000')::u!u16 |
| arithmetic_unsigned/add.test:7 | add(('3000000000')::u!u32, ('1000000000')::u!u32) | ('4000000000')::u!u32 |
| arithmetic_unsigned/add.test:8 | add(('10000000000000000000')::u!u64, ('1000000000000000000')::u!u64) | ('11000000000000000000')::u!u64 |
| arithmetic_unsigned/add.test:11 | add(('200')::u!u8, ('100')::u!u8) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/add.test:12 | add(('60000')::u!u16, ('10000')::u!u16) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/add.test:13 | add(('4000000000')::u!u32, ('1000000000')::u!u32) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/add.test:14 | add(('18446744073709551615')::u!u64, ('1')::u!u64) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/divide.test:5 | divide(('250')::u!u8, ('5')::u!u8) | ('50')::u!u8 |
| arithmetic_unsigned/divide.test:6 | divide(('60000')::u!u16, ('100')::u!u16) | ('600')::u!u16 |
| arithmetic_unsigned/divide.test:7 | divide(('4000000000')::u!u32, ('200')::u!u32) | ('20000000')::u!u32 |
| arithmetic_unsigned/divide.test:8 | divide(('10000000000000000000')::u!u64, ('5000')::u!u64) | ('2000000000000000')::u!u64 |
| arithmetic_unsigned/divide.test:11 | divide(('5')::u!u8, ('0')::u!u8) [on_division_by_zero:NULL] | null::u!u8? |
| arithmetic_unsigned/divide.test:12 | divide(('5')::u!u8, ('0')::u!u8) [on_division_by_zero:ERROR] | <!ERROR> |
| arithmetic_unsigned/multiply.test:5 | multiply(('25')::u!u8, ('5')::u!u8) | ('125')::u!u8 |
| arithmetic_unsigned/multiply.test:6 | multiply(('200')::u!u16, ('100')::u!u16) | ('20000')::u!u16 |
| arithmetic_unsigned/multiply.test:7 | multiply(('300')::u!u32, ('200')::u!u32) | ('60000')::u!u32 |
| arithmetic_unsigned/multiply.test:8 | multiply(('80000')::u!u64, ('5000')::u!u64) | ('400000000')::u!u64 |
| arithmetic_unsigned/multiply.test:11 | multiply(('200')::u!u8, ('2')::u!u8) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/multiply.test:12 | multiply(('40000')::u!u16, ('2')::u!u16) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/multiply.test:13 | multiply(('3000000000')::u!u32, ('2')::u!u32) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/multiply.test:14 | multiply(('10000000000000000000')::u!u64, ('2')::u!u64) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/subtract.test:5 | subtract(('250')::u!u8, ('50')::u!u8) | ('200')::u!u8 |
| arithmetic_unsigned/subtract.test:6 | subtract(('60000')::u!u16, ('10000')::u!u16) | ('50000')::u!u16 |
| arithmetic_unsigned/subtract.test:7 | subtract(('4000000000')::u!u32, ('1000000000')::u!u32) | ('3000000000')::u!u32 |
| arithmetic_unsigned/subtract.test:8 | subtract(('11000000000000000000')::u!u64, ('1000000000000000000')::u!u64) | ('10000000000000000000')::u!u64 |
| arithmetic_unsigned/subtract.test:11 | subtract(('0')::u!u8, ('1')::u!u8) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/subtract.test:12 | subtract(('0')::u!u16, ('1')::u!u16) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/subtract.test:13 | subtract(('0')::u!u32, ('1')::u!u32) [overflow:ERROR] | <!ERROR> |
| arithmetic_unsigned/subtract.test:14 | subtract(('0')::u!u64, ('1')::u!u64) [overflow:ERROR] | <!ERROR> |
The plan builder cannot build lambda arguments yet
Functions: all_match (8), any_match (8), filter (5), transform (4)
plan not built: lambda arguments are not built
All 25 cases
| Case | Test | Expected |
|---|---|---|
| list/all_match.test:6 | all_match([1, 2, 3]::list<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool?>) | true::bool? |
| list/all_match.test:7 | all_match([5, 6, 7]::list<i32>, (x -> gt(x, 4::i32))::func<i32 -> bool?>) | true::bool? |
| list/all_match.test:10 | all_match([1, 2, 3]::list<i32>, (x -> gt(x, 2::i32))::func<i32 -> bool?>) | false::bool? |
| list/all_match.test:11 | all_match([1, 2, 3]::list<i32>, (x -> lt(x, 3::i32))::func<i32 -> bool?>) | false::bool? |
| list/all_match.test:14 | all_match([]::list<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool?>) | true::bool? |
| list/all_match.test:17 | all_match(null::list?<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool?>) | null::bool? |
| list/all_match.test:23 | all_match([1, Null, 2]::list<i32?>, (x -> gt(x, 0::i32))::func<i32? -> bool?>) | Null::bool? |
| list/all_match.test:24 | all_match([1, Null, 0]::list<i32?>, (x -> gt(x, 0::i32))::func<i32? -> bool?>) | false::bool? |
| list/any_match.test:6 | any_match([1, 2, 3]::list<i32>, (x -> gt(x, 2::i32))::func<i32 -> bool?>) | true::bool? |
| list/any_match.test:7 | any_match([1, 2, 3]::list<i32>, (x -> lt(x, 2::i32))::func<i32 -> bool?>) | true::bool? |
| list/any_match.test:8 | any_match([5, 6, 7]::list<i32>, (x -> gt(x, 4::i32))::func<i32 -> bool?>) | true::bool? |
| list/any_match.test:11 | any_match([1, 2, 3]::list<i32>, (x -> gt(x, 5::i32))::func<i32 -> bool?>) | false::bool? |
| list/any_match.test:14 | any_match([]::list<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool?>) | false::bool? |
| list/any_match.test:17 | any_match(null::list?<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool?>) | null::bool? |
| list/any_match.test:23 | any_match([1, Null, 3]::list<i32?>, (x -> gt(x, 2::i32))::func<i32? -> bool?>) | true::bool? |
| list/any_match.test:24 | any_match([1, Null, 2]::list<i32?>, (x -> gt(x, 5::i32))::func<i32? -> bool?>) | Null::bool? |
| list/filter.test:6 | filter([1, 2, 3, 4, 5]::list<i32>, (x -> gt(x, 2::i32))::func<i32 -> bool>) | [3, 4, 5]::list<i32> |
| list/filter.test:7 | filter([1, 2, 3, 4, 5]::list<i32>, (x -> lt(x, 3::i32))::func<i32 -> bool>) | [1, 2]::list<i32> |
| list/filter.test:8 | filter([]::list<i32>, (x -> gt(x, 0::i32))::func<i32 -> bool>) | []::list<i32> |
| list/filter.test:11 | filter([1, null, 3]::list<i32?>, (n -> gt(n, 0::i32))::func<i32 -> bool>) | [1, 3]::list<i32?> |
| list/filter.test:12 | filter([1, null, 3]::list<i32?>, (e -> is_null(e))::func<i32 -> bool>) | [null]::list<i32?> |
| list/transform.test:6 | transform([1, 2, 3]::list<i32>, (x -> multiply(x, 2::i32))::func<i32 -> i32>) | [2, 4, 6]::list<i32> |
| list/transform.test:7 | transform([5, 10, 15]::list<i32>, (x -> add(x, 1::i32))::func<i32 -> i32>) | [6, 11, 16]::list<i32> |
| list/transform.test:8 | transform([]::list<i32>, (x -> multiply(x, 2::i32))::func<i32 -> i32>) | []::list<i32> |
| list/transform.test:11 | transform([1, Null, 3]::list<i32?>, (x -> multiply(x, 2::i32))::func<i32? -> i32?>) | [2, Null, 6]::list<i32?> |
The plan builder cannot build these types yet
Unsigned integers and some other types are user-defined types in Substrait; building plans with them is not implemented here yet, so these cases say nothing about the engine.
Functions: sum (8), max (7), min (7), all_match, any_match, is_null
plan not built: type 'u!u8?' is not built (yet)
All 25 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| arithmetic_unsigned/max.test:5 | max(('20', '3', '1', '10', '0', '5')::u!u8) | ('20')::u!u8? | |
| arithmetic_unsigned/max.test:6 | max(('32768', '32767', '20000', '30000')::u!u16) | ('32768')::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/max.test:7 | max(('214748648', '214748647', '21470048', '4000000')::u!u32) | ('214748648')::u!u32? | plan not built: type 'u!u32?' is not built (yet) |
| arithmetic_unsigned/max.test:8 | max(('2000000000', '3217908979', '629000000', '100000000', '0', '987654321')::u!u64) | ('3217908979')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/max.test:11 | max((Null, Null, Null)::u!u16) | Null::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/max.test:12 | max(()::u!u16) | Null::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/max.test:13 | max(('200', Null, '50', '100', Null, '5')::u!u64) | ('200')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/min.test:5 | min(('20', '3', '1', '10', '0', '5')::u!u8) | ('0')::u!u8? | |
| arithmetic_unsigned/min.test:6 | min(('32768', '32767', '20000', '30000')::u!u16) | ('20000')::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/min.test:7 | min(('214748648', '214748647', '21470048', '4000000')::u!u32) | ('4000000')::u!u32? | plan not built: type 'u!u32?' is not built (yet) |
| arithmetic_unsigned/min.test:8 | min(('2000000000', '3217908979', '629000000', '100000000', '0', '987654321')::u!u64) | ('0')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/min.test:11 | min((Null, Null, Null)::u!u16) | Null::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/min.test:12 | min(()::u!u16) | Null::u!u16? | plan not built: type 'u!u16?' is not built (yet) |
| arithmetic_unsigned/min.test:13 | min(('200', Null, '50', '100', Null, '5')::u!u64) | ('5')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:5 | sum(('0', '1', '2', '20')::u!u8) | ('23')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:6 | sum(('100', '200', '50')::u!u16) | ('350')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:7 | sum(('2000000', '3217908', '629000', '100000', '0', '987654')::u!u32) | ('6934562')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:8 | sum(('1000000000000', '2000000000000', '3000000000000')::u!u64) | ('6000000000000')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:11 | sum(('18446744073709551614', '1', '1', '1', '1', '10000000000')::u!u64) [overflow:ERROR] | <!ERROR> | plan not built: type 'u!u64' is not built (yet) |
| arithmetic_unsigned/sum.test:14 | sum((Null, Null, Null)::u!u16) | Null::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:15 | sum(()::u!u16) | Null::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| arithmetic_unsigned/sum.test:16 | sum(('200', Null, '50', '0', Null, '100')::u!u32) | ('350')::u!u64? | plan not built: type 'u!u64?' is not built (yet) |
| list/all_match.test:20 | all_match([1, 2, 3]::list<i32>, null::func?<i32 -> bool?>) | null::bool? | plan not built: type 'func?<i32->bool?>' is not built (yet) |
| list/any_match.test:20 | any_match([1, 2, 3]::list<i32>, null::func?<i32 -> bool?>) | null::bool? | plan not built: type 'func?<i32->bool?>' is not built (yet) |
| comparison/is_null.test:50 | is_null(null::fixedbinary?<10>) | true::bool | plan not built: type 'fixedbinary?<10>' is not built (yet) |
untranslatable: type '…' has no SQL equivalent here
Functions: all_match, any_match, is_null
untranslatable: type 'func?<i32->bool?>' has no SQL equivalent here
All 3 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| list/all_match.test:20 | all_match([1, 2, 3]::list<i32>, null::func?<i32 -> bool?>) | null::bool? | |
| list/any_match.test:20 | any_match([1, 2, 3]::list<i32>, null::func?<i32 -> bool?>) | null::bool? | |
| comparison/is_null.test:50 | is_null(null::fixedbinary?<10>) | true::bool | untranslatable: type 'fixedbinary?<10>' has no SQL equivalent here |
untranslatable: … result of N characters is too large to materialise
Functions: repeat
untranslatable: repeat result of 9223372036854775807 characters is too large to materialise
The case
| Case | Test | Expected |
|---|---|---|
| string/repeat.test:5 | repeat(''::str, 9223372036854775807::i64) | ''::str |
Option modes the engine does not claim
Cases for an option mode (overflow, rounding, ...) the engine does not implement. They are skipped: engines need to implement only one mode.
Show the 158 cases
unsupported option overflow:SATURATE (engine implements overflow:ERROR)
Functions: subtract (9), multiply (8), abs (4), add (4), negate (4), divide (3)
unsupported option overflow:SATURATE (engine implements overflow:ERROR)
All 32 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/abs.test:17 | abs(-128::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/add.test:15 | add(120::i8, 10::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/add.test:16 | add(-120::i8, -10::i8) [overflow:SATURATE] | -128::i8 |
| arithmetic/divide.test:15 | divide(-128::i8, -1::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/multiply.test:15 | multiply(13::i8, 10::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/multiply.test:16 | multiply(-13::i8, -10::i8) [overflow:SATURATE] | -128::i8 |
| arithmetic/negate.test:18 | negate(-128::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/subtract.test:15 | subtract(-120::i8, 10::i8) [overflow:SATURATE] | -128::i8 |
| arithmetic/subtract.test:16 | subtract(120::i8, -10::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic_unsigned/add.test:15 | add(('200')::u!u8, ('100')::u!u8) [overflow:SATURATE] | ('255')::u!u8 |
| arithmetic_unsigned/multiply.test:15 | multiply(('200')::u!u8, ('2')::u!u8) [overflow:SATURATE] | ('255')::u!u8 |
| arithmetic_unsigned/subtract.test:15 | subtract(('0')::u!u8, ('1')::u!u8) [overflow:SATURATE] | ('0')::u!u8 |
| arithmetic/abs.test:16 | abs(-32768::i16) [overflow:SATURATE] | 32767::i16 |
| arithmetic/abs.test:19 | abs(-2147483648::i32) [overflow:SATURATE] | 2147483647::i32 |
| arithmetic/abs.test:22 | abs(-9223372036854775808::i64) [overflow:SATURATE] | 9223372036854775807::i64 |
| arithmetic/add.test:19 | add(-30000::i16, -10000::i16) [overflow:SATURATE] | -32768::i16 |
| arithmetic/divide.test:6 | divide(-32768::i16, -1::i16) [overflow:SATURATE] | 32767::i16 |
| arithmetic/divide.test:8 | divide(-2147483648::i32, -1::i32) [overflow:SATURATE] | 2147483647::i32 |
| arithmetic/multiply.test:18 | multiply(-128::i8, -1::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/multiply.test:20 | multiply(-32768::i16, -1::i16) [overflow:SATURATE] | 32767::i16 |
| arithmetic/multiply.test:22 | multiply(-2147483648::i32, -1::i32) [overflow:SATURATE] | 2147483647::i32 |
| arithmetic/multiply.test:24 | multiply(-9223372036854775808::i64, -1::i64) [overflow:SATURATE] | 9223372036854775807::i64 |
| arithmetic/multiply.test:25 | multiply(-13::i8, 10::i8) [overflow:SATURATE] | -128::i8 |
| arithmetic/negate.test:12 | negate(-32768::i16) [overflow:SATURATE] | 32767::i16 |
| arithmetic/negate.test:15 | negate(-2147483648::i32) [overflow:SATURATE] | 2147483647::i32 |
| arithmetic/negate.test:18 | negate(-9223372036854775808::i64) [overflow:SATURATE] | 9223372036854775807::i64 |
| arithmetic/subtract.test:20 | subtract(127::i8, -1::i8) [overflow:SATURATE] | 127::i8 |
| arithmetic/subtract.test:21 | subtract(-128::i8, 1::i8) [overflow:SATURATE] | -128::i8 |
| arithmetic/subtract.test:22 | subtract(32767::i16, -1::i16) [overflow:SATURATE] | 32767::i16 |
| arithmetic/subtract.test:23 | subtract(-32768::i16, 1::i16) [overflow:SATURATE] | -32768::i16 |
| arithmetic/subtract.test:24 | subtract(2147483647::i32, -1::i32) [overflow:SATURATE] | 2147483647::i32 |
| arithmetic/subtract.test:25 | subtract(-2147483648::i32, 1::i32) [overflow:SATURATE] | -2147483648::i32 |
option mode not implemented (case_sensitivity:CASE_INSENSITIVE): got False, expected True
Functions: ends_with (7), starts_with (5), contains (3)
option mode not implemented (case_sensitivity:CASE_INSENSITIVE): got False, expected True
All 15 cases
| Case | Test | Expected |
|---|---|---|
| string/contains.test:7 | contains('abcdefg'::str, 'CdE'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/contains.test:15 | contains('😊a😊b😊😊'::str, 'A😊B'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:10 | ends_with('abcd'::str, 'CD'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:16 | ends_with('😊a😊b😊😊'::str, 'B😊😊'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/starts_with.test:10 | starts_with('abcd'::str, 'AB'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/starts_with.test:16 | starts_with('😊a😊b😊😊'::str, '😊A'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/contains.test:22 | contains('abc'::str, 'ABC'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:22 | ends_with('ABCD'::str, 'cd'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:23 | ends_with('MixedCase'::str, 'CASE'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:24 | ends_with('test123'::str, 'TEST123'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:25 | ends_with('Café'::str, 'FÉ'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/ends_with.test:26 | ends_with('HELLO😊'::str, 'hello😊'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/starts_with.test:26 | starts_with('ABC'::str, 'abc'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/starts_with.test:27 | starts_with('aBcD'::str, 'AbCd'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
| string/starts_with.test:31 | starts_with('ÄÖÜ'::str, 'ä'::str) [case_sensitivity:CASE_INSENSITIVE] | true::bool |
unsupported option overflow:SILENT (engine implements overflow:ERROR)
Functions: abs (4), negate (4), add (2), multiply (2), subtract (2)
unsupported option overflow:SILENT (engine implements overflow:ERROR)
All 14 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/abs.test:18 | abs(-128::i8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/add.test:17 | add(120::i8, 10::i8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/multiply.test:17 | multiply(13::i8, 10::i8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/negate.test:19 | negate(-128::i8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/subtract.test:17 | subtract(-120::i8, 10::i8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic_unsigned/add.test:16 | add(('200')::u!u8, ('100')::u!u8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic_unsigned/multiply.test:16 | multiply(('200')::u!u8, ('2')::u!u8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic_unsigned/subtract.test:16 | subtract(('0')::u!u8, ('1')::u!u8) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/abs.test:17 | abs(-32768::i16) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/abs.test:20 | abs(-2147483648::i32) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/abs.test:23 | abs(-9223372036854775808::i64) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/negate.test:13 | negate(-32768::i16) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/negate.test:16 | negate(-2147483648::i32) [overflow:SILENT] | <!UNDEFINED> |
| arithmetic/negate.test:19 | negate(-9223372036854775808::i64) [overflow:SILENT] | <!UNDEFINED> |
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ATANH is undefined outside [-N,N]
Functions: atanh (8)
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ATANH is undefined outside [-1,1]
All 8 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/atanh.test:7 | atanh(1.5::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/atanh.test:8 | atanh(-1.5::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/atanh.test:9 | atanh(2.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/atanh.test:10 | atanh(-2.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/atanh.test:13 | atanh(inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/atanh.test:14 | atanh(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/atanh.test:15 | atanh(inf::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/atanh.test:16 | atanh(-inf::fp32) [on_domain_error:NAN] | nan::fp32 |
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: cannot take logarithm of a negative number
Functions: log10 (4), ln (3), log2
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: cannot take logarithm of a negative number
All 8 cases
| Case | Test | Expected |
|---|---|---|
| logarithmic/ln.test:11 | ln(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| logarithmic/log10.test:11 | log10(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| logarithmic/log2.test:12 | log2(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| logarithmic/ln.test:18 | ln(-1.0::fp64) [on_domain_error:NAN] | nan::fp64 |
| logarithmic/ln.test:30 | ln(-1.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| logarithmic/log10.test:20 | log10(-1.0::fp64) [on_domain_error:NAN] | nan::fp64 |
| logarithmic/log10.test:31 | log10(-1.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| logarithmic/log10.test:34 | log10(-inf::fp32) [on_domain_error:NAN] | nan::fp32 |
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: cannot take square root of a negative number
Functions: sqrt (8)
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: cannot take square root of a negative number
All 8 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/sqrt.test:7 | sqrt(-1::i64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/sqrt.test:8 | sqrt(-9223372036854775800::i64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/sqrt.test:8 | sqrt(-1.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/sqrt.test:9 | sqrt(-1.0::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/sqrt.test:10 | sqrt(-100.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/sqrt.test:11 | sqrt(-2.5::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/sqrt.test:14 | sqrt(-inf::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/sqrt.test:15 | sqrt(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ASIN is undefined outside [-N,N]
Functions: asin (7)
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ASIN is undefined outside [-1,1]
All 7 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/asin.test:5 | asin(1.1::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:6 | asin(1.1::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/asin.test:7 | asin(-1.1::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:8 | asin(-1.1::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/asin.test:9 | asin(2.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:10 | asin(2.0::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/asin.test:11 | asin(-2.0::fp64) [on_domain_error:NAN] | nan::fp64 |
option mode not implemented (on_log_zero:MINUS_INFINITY): OutOfRangeException: Out of Range Error: cannot take logarithm of zero
Functions: ln (4), log10 (2), log2
option mode not implemented (on_log_zero:MINUS_INFINITY): OutOfRangeException: Out of Range Error: cannot take logarithm of zero
All 7 cases
| Case | Test | Expected |
|---|---|---|
| logarithmic/ln.test:18 | ln(0.0::fp64) [on_log_zero:MINUS_INFINITY] | -inf::fp64 |
| logarithmic/log10.test:18 | log10(0.0::fp64) [on_log_zero:MINUS_INFINITY] | -inf::fp64 |
| logarithmic/log2.test:19 | log2(0.0::fp64) [on_log_zero:MINUS_INFINITY] | -inf::fp64 |
| logarithmic/ln.test:29 | ln(0.0::fp32) [on_log_zero:MINUS_INFINITY] | -inf::fp32 |
| logarithmic/ln.test:33 | ln(-0.0::fp64) [on_log_zero:MINUS_INFINITY] | -inf::fp64 |
| logarithmic/ln.test:34 | ln(-0.0::fp32) [on_log_zero:MINUS_INFINITY] | -inf::fp32 |
| logarithmic/log10.test:30 | log10(0.0::fp32) [on_log_zero:MINUS_INFINITY] | -inf::fp32 |
option mode not implemented (direction:ASC_NULLS_LAST): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: sort (6)
option mode not implemented (direction:ASC_NULLS_LAST): CatalogException: Catalog Error: Scalar Function with name sort does not exist!
All 6 cases
| Case | Test | Expected |
|---|---|---|
| list/sort.test:5 | sort([3, 1, 2]::list<i32>) [direction:ASC_NULLS_LAST] | [1, 2, 3]::list<i32> |
| list/sort.test:6 | sort([3, Null, 1]::list<i32?>) [direction:ASC_NULLS_LAST] | [1, 3, Null]::list<i32?> |
| list/sort.test:7 | sort([Null, 2, Null, 1]::list<i32?>) [direction:ASC_NULLS_LAST] | [1, 2, Null, Null]::list<i32?> |
| list/sort.test:21 | sort([]::list<i32>) [direction:ASC_NULLS_LAST] | []::list<i32> |
| list/sort.test:24 | sort([42]::list<i32>) [direction:ASC_NULLS_LAST] | [42]::list<i32> |
| list/sort.test:27 | sort(['c', 'a', 'b']::list<string>) [direction:ASC_NULLS_LAST] | ['a', 'b', 'c']::list<string> |
option mode not implemented (null_handling:ACCEPT_NULLS): got '…', expected None
Functions: concat (5)
option mode not implemented (null_handling:ACCEPT_NULLS): got 'abcd', expected None
All 5 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| string/concat.test:8 | concat('abcd'::str, null::str?) [null_handling:ACCEPT_NULLS] | null::str? | |
| string/concat.test:10 | concat(null::str?, 'abcd'::str) [null_handling:ACCEPT_NULLS] | null::str? | |
| string/concat.test:12 | concat(null::str?, null::str?) [null_handling:ACCEPT_NULLS] | null::str? | option mode not implemented (null_handling:ACCEPT_NULLS): got '', expected None |
| string/concat.test:7 | concat(''::str, null::str?) [null_handling:ACCEPT_NULLS] | null::str? | option mode not implemented (null_handling:ACCEPT_NULLS): got '', expected None |
| string/concat.test:9 | concat('a'::str, null::str?, 'b'::str) [null_handling:ACCEPT_NULLS] | null::str? | option mode not implemented (null_handling:ACCEPT_NULLS): got 'ab', expected None |
option mode not implemented (on_domain_error:ERROR): expected an error, got [nan]
Functions: acosh (5)
option mode not implemented (on_domain_error:ERROR): expected an error, got [nan]
All 5 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/acosh.test:10 | acosh(0.01::fp32) [on_domain_error:ERROR] | <!ERROR> |
| arithmetic/acosh.test:17 | acosh(-1.0::fp64) [on_domain_error:ERROR] | <!ERROR> |
| arithmetic/acosh.test:18 | acosh(-1.0::fp32) [on_domain_error:ERROR] | <!ERROR> |
| arithmetic/acosh.test:19 | acosh(0.99::fp64) [on_domain_error:ERROR] | <!ERROR> |
| arithmetic/acosh.test:20 | acosh(0.99::fp32) [on_domain_error:ERROR] | <!ERROR> |
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ACOS is undefined outside [-N,N]
Functions: acos (4)
option mode not implemented (on_domain_error:NAN): InvalidInputException: Invalid Input Error: ACOS is undefined outside [-1,1]
All 4 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/acos.test:5 | acos(1.1::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/acos.test:6 | acos(-1.1::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/acos.test:7 | acos(2.0::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/acos.test:8 | acos(-2.0::fp32) [on_domain_error:NAN] | nan::fp32 |
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: input value inf is out of range for numeric function
Functions: acos (2), asin (2)
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: input value inf is out of range for numeric function
All 4 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/acos.test:11 | acos(inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/acos.test:13 | acos(inf::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:14 | asin(inf::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:15 | asin(inf::fp64) [on_domain_error:NAN] | nan::fp64 |
option mode not implemented (direction:DESC_NULLS_LAST): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: sort (3)
option mode not implemented (direction:DESC_NULLS_LAST): CatalogException: Catalog Error: Scalar Function with name sort does not exist!
All 3 cases
| Case | Test | Expected |
|---|---|---|
| list/sort.test:14 | sort([3, 1, 2]::list<i32>) [direction:DESC_NULLS_LAST] | [3, 2, 1]::list<i32> |
| list/sort.test:15 | sort([3, Null, 1]::list<i32?>) [direction:DESC_NULLS_LAST] | [3, 1, Null]::list<i32?> |
| list/sort.test:28 | sort(['c', 'a', 'b']::list<string>) [direction:DESC_NULLS_LAST] | ['c', 'b', 'a']::list<string> |
option mode not implemented (negative_start:LEFT_OF_BEGINNING): got '…', expected '…'
Functions: substring (3)
option mode not implemented (negative_start:LEFT_OF_BEGINNING): got 'g', expected ''
All 3 cases
| Case | Test | Expected | Message, where it differs |
|---|---|---|---|
| string/substring.test:16 | substring('abcdefg'::str, -1::i32, 2::i32) [negative_start:LEFT_OF_BEGINNING] | ''::str | |
| string/substring.test:17 | substring('abcdefg'::str, -1::i32, 3::i32) [negative_start:LEFT_OF_BEGINNING] | 'a'::str | option mode not implemented (negative_start:LEFT_OF_BEGINNING): got 'g', expected 'a' |
| string/substring.test:18 | substring('abcdefg'::str, -10::i32, 5::i32) [negative_start:LEFT_OF_BEGINNING] | ''::str | option mode not implemented (negative_start:LEFT_OF_BEGINNING): got 'ab', expected '' |
option mode not implemented (on_division_by_zero:ERROR): expected an error, got [None]
Functions: divide (3)
option mode not implemented (on_division_by_zero:ERROR): expected an error, got [None]
All 3 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/divide.test:11 | divide(5::i8, 0::i8) [on_division_by_zero:ERROR] | <!ERROR> |
| arithmetic/divide.test:30 | divide(100::i32, 0::i32) [on_division_by_zero:ERROR] | <!ERROR> |
| arithmetic/divide.test:31 | divide(-50::i16, 0::i16) [on_division_by_zero:ERROR] | <!ERROR> |
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: input value -inf is out of range for numeric function
Functions: asin (2), acos
option mode not implemented (on_domain_error:NAN): OutOfRangeException: Out of Range Error: input value -inf is out of range for numeric function
All 3 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/acos.test:12 | acos(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
| arithmetic/asin.test:16 | asin(-inf::fp32) [on_domain_error:NAN] | nan::fp32 |
| arithmetic/asin.test:17 | asin(-inf::fp64) [on_domain_error:NAN] | nan::fp64 |
option mode not implemented (on_domain_error:NULL): OutOfRangeException: Out of Range Error: cannot take logarithm of a negative number
Functions: ln, log10, log2
option mode not implemented (on_domain_error:NULL): OutOfRangeException: Out of Range Error: cannot take logarithm of a negative number
All 3 cases
| Case | Test | Expected |
|---|---|---|
| logarithmic/ln.test:12 | ln(-inf::fp64) [on_domain_error:NULL] | null::fp64? |
| logarithmic/log10.test:12 | log10(-inf::fp64) [on_domain_error:NULL] | null::fp64? |
| logarithmic/log2.test:13 | log2(-inf::fp64) [on_domain_error:NULL] | null::fp64? |
option mode not implemented (on_log_zero:NAN): OutOfRangeException: Out of Range Error: cannot take logarithm of zero
Functions: ln, log10, log2
option mode not implemented (on_log_zero:NAN): OutOfRangeException: Out of Range Error: cannot take logarithm of zero
All 3 cases
| Case | Test | Expected |
|---|---|---|
| logarithmic/ln.test:17 | ln(0.0::fp64) [on_log_zero:NAN] | nan::fp64 |
| logarithmic/log10.test:17 | log10(0.0::fp64) [on_log_zero:NAN] | nan::fp64 |
| logarithmic/log2.test:18 | log2(0.0::fp64) [on_log_zero:NAN] | nan::fp64 |
option mode not implemented (complex_number_result:ERROR): expected an error, got [nan]
Functions: power, power_decimal
option mode not implemented (complex_number_result:ERROR): expected an error, got [nan]
All 2 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic_decimal/power.test:19 | power(-1::dec<1, 0>, 0.5::dec<38, 1>) [complex_number_result:ERROR] | <!ERROR> |
| arithmetic_decimal/power_decimal.test:19 | power(-1::dec<1, 0>, 0.5::dec<38, 1>) [complex_number_result:ERROR] | <!ERROR> |
option mode not implemented (direction:ASC_NULLS_FIRST): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: sort (2)
option mode not implemented (direction:ASC_NULLS_FIRST): CatalogException: Catalog Error: Scalar Function with name sort does not exist!
All 2 cases
| Case | Test | Expected |
|---|---|---|
| list/sort.test:10 | sort([3, Null, 1]::list<i32?>) [direction:ASC_NULLS_FIRST] | [Null, 1, 3]::list<i32?> |
| list/sort.test:11 | sort([Null, 2, Null, 1]::list<i32?>) [direction:ASC_NULLS_FIRST] | [Null, Null, 1, 2]::list<i32?> |
option mode not implemented (rounding:TIE_TO_EVEN): engine crashed on this plan: EngineCrashed: DuckDB crashed (exit code -N) while running run_plan
Functions: std_dev, variance
option mode not implemented (rounding:TIE_TO_EVEN): engine crashed on this plan: EngineCrashed: DuckDB crashed (exit code -11) while running run_plan
All 2 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/std_dev.test:44 | ((1.1), (2.2), (3.3), (4.4), (5.5)) std_dev(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] | 1.7392527::fp32? |
| arithmetic/variance.test:44 | ((1.1), (2.2), (3.3), (4.4), (5.5)) variance(SAMPLE::enum, col0::fp32) [rounding:TIE_TO_EVEN] | 3.025::fp32? |
option mode not implemented (rounding:TRUNCATE): engine crashed on this plan: EngineCrashed: DuckDB crashed (exit code -N) while running run_plan
Functions: std_dev, variance
option mode not implemented (rounding:TRUNCATE): engine crashed on this plan: EngineCrashed: DuckDB crashed (exit code -11) while running run_plan
All 2 cases
| Case | Test | Expected |
|---|---|---|
| arithmetic/std_dev.test:45 | ((1.1), (2.2), (3.3), (4.4), (5.5)) std_dev(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] | 1.7392527130926085::fp64? |
| arithmetic/variance.test:45 | ((1.1), (2.2), (3.3), (4.4), (5.5)) variance(SAMPLE::enum, col0::fp64) [rounding:TRUNCATE] | 3.025::fp64? |
option mode not implemented (direction:DESC_NULLS_FIRST): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: sort
option mode not implemented (direction:DESC_NULLS_FIRST): CatalogException: Catalog Error: Scalar Function with name sort does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| list/sort.test:18 | sort([3, Null, 1]::list<i32?>) [direction:DESC_NULLS_FIRST] | [Null, 3, 1]::list<i32?> |
option mode not implemented (on_domain_error:ERROR): expected a runtime error, but the consumer rejected the plan: CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_domain_error:ERROR): expected a runtime error, but the consumer rejected the plan: CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:11 | logb(-inf::fp64, 10::fp64) [on_domain_error:ERROR] | <!ERROR> |
option mode not implemented (on_domain_error:ERROR): expected an error, got [None]
Functions: modulus
option mode not implemented (on_domain_error:ERROR): expected an error, got [None]
The case
| Case | Test | Expected |
|---|---|---|
| arithmetic/modulus.test:16 | modulus(5::i8, 0::i8) [on_domain_error:ERROR] | <!ERROR> |
option mode not implemented (on_domain_error:NAN): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_domain_error:NAN): CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:12 | logb(-inf::fp64, 10::fp64) [on_domain_error:NAN] | nan::fp64 |
option mode not implemented (on_domain_error:NULL): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_domain_error:NULL): CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:13 | logb(-inf::fp64, 10::fp64) [on_domain_error:NULL] | null::fp64? |
option mode not implemented (on_log_zero:ERROR): expected a runtime error, but the consumer rejected the plan: CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_log_zero:ERROR): expected a runtime error, but the consumer rejected the plan: CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:16 | logb(0.0::fp64, 2.0::fp64) [on_log_zero:ERROR] | <!ERROR> |
option mode not implemented (on_log_zero:MINUS_INFINITY): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_log_zero:MINUS_INFINITY): CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:18 | logb(0.0::fp64, 2.0::fp64) [on_log_zero:MINUS_INFINITY] | -inf::fp64 |
option mode not implemented (on_log_zero:NAN): CatalogException: Catalog Error: Scalar Function with name … does not exist!
Functions: logb
option mode not implemented (on_log_zero:NAN): CatalogException: Catalog Error: Scalar Function with name logb does not exist!
The case
| Case | Test | Expected |
|---|---|---|
| logarithmic/logb.test:17 | logb(0.0::fp64, 2.0::fp64) [on_log_zero:NAN] | nan::fp64 |
unsupported option division_type:FLOOR (engine implements division_type:TRUNCATE)
Functions: modulus
unsupported option division_type:FLOOR (engine implements division_type:TRUNCATE)
The case
| Case | Test | Expected |
|---|---|---|
| arithmetic/modulus.test:20 | modulus(8::i8, -3::i8) [division_type:FLOOR] | -1::i8 |
Detail
Functions
| Run | Upstream cases | Extended cases |
|---|---|---|
| As Substrait plans | 69.5% (808/1163) | 88.0% (1928/2192) |
| As the engine's own SQL | 93.9% (1189/1266) | 97.7% (2151/2202) |
| Consumer gap (plans − SQL) | −24.4 pts | −9.7 pts |
Upstream cases are the Substrait project's own function tests and are scored; extended cases are converted from the legacy suite and shown for detail. Consumer gap = plans − SQL: what the engine can do in SQL but not through its Substrait consumer.
Queries
| Suite | Passed | Pass rate |
|---|---|---|
| TPC-H (scored) | 12/22 | 54.5% |
| TPC-H, 0.81 encoding | 3/22 | 13.6% |
Only the current plan encoding is scored; other encodings show whether plans from older producers still run.
Functions by extension
Upstream cases by extension. A low plan rate next to a high SQL rate points at the consumer.
| Extension | As plans | As SQL |
|---|---|---|
| aggregate_approx | 100.0% | 100.0% |
| aggregate_generic | 100.0% | 100.0% |
| arithmetic | 65.9% | 98.4% |
| arithmetic_decimal | 57.1% | 66.7% |
| arithmetic_unsigned | all skipped | 98.0% |
| boolean | 68.5% | 100.0% |
| comparison | 93.4% | 100.0% |
| datetime | 82.9% | 100.0% |
| list | 0.0% | 100.0% |
| logarithmic | 82.6% | 100.0% |
| rounding | 100.0% | 100.0% |
| rounding_decimal | 100.0% | 100.0% |
| string | 57.9% | 90.9% |
| window | 0.0% | 100.0% |
Other results (not scored)
| Suite | Pass rate | Passed / executed | Skipped |
|---|---|---|---|
functions-legacy | 87.7% | 3237/3692 | 1345 |
Engine crashes during plan runs (each fails one case): functions-substrait-0.107: 62; functions-substrait-0.107-extended: 19.
Reports
Every case's result is in the reports of its run (GitHub keeps them for a limited time). This page's data: duckdb.json.
How scoring works How the pass rate is calculated Suites at a glance Add your engine Data (JSON)