Azat Khuzhin
|
308e094d04
|
Fix arrayJoin() capturing in lambda
Fixes the following LOGICAL_ERROR:
$ clickhouse-client -q 'select arrayFilter((a) -> ((a, arrayJoin([[]])) IN (Null, [Null])), [])'
2020.08.16 00:32:01.967102 [ 1744189 ] {b40a5ebd-d710-4f03-bb18-57db67de1181} <Error> : Logical error: 'Lambda captured argument arrayJoin(array(array())) not found in required columns.'.
clickhouse-server: ../src/Common/Exception.cpp:45: DB::Exception::Exception(const string&, int): Assertion `false' failed.
Since there are multiple input columns for arrayJoin():
(gdb) p captured_names_
$6 = std::vector of length 3, capacity 4 = {"arrayJoin(array(array()))", "arrayJoin(array(array()))", "__set"}
While FunctionCaptureOverloadResolver cannot handle non-unique columns.
|
2020-08-25 21:06:21 +03:00 |
|