From 3ce470c57f4632030890cdabfd7f5eef3c5eba14 Mon Sep 17 00:00:00 2001 From: slvrtrn Date: Fri, 5 Jul 2024 14:42:43 +0200 Subject: [PATCH 1/2] Update AVRO submodule with the array block size fix --- contrib/avro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/avro b/contrib/avro index d43acc84d3d..545e7002683 160000 --- a/contrib/avro +++ b/contrib/avro @@ -1 +1 @@ -Subproject commit d43acc84d3d455b016f847d6666fbc3cd27f16a9 +Subproject commit 545e7002683cbc2198164d93088ac8e4955b4628 From d745a66c7e17196bc7dd70fced3b086059ad05d5 Mon Sep 17 00:00:00 2001 From: slvrtrn Date: Fri, 5 Jul 2024 18:49:04 +0200 Subject: [PATCH 2/2] Add a test for Avro negative block size arrays --- ...01_avro_negative_block_size_arrays.reference | 11 +++++++++++ .../03201_avro_negative_block_size_arrays.sh | 14 ++++++++++++++ .../data_avro/negative_block_size_arrays.avro | Bin 0 -> 37115 bytes 3 files changed, 25 insertions(+) create mode 100644 tests/queries/0_stateless/03201_avro_negative_block_size_arrays.reference create mode 100755 tests/queries/0_stateless/03201_avro_negative_block_size_arrays.sh create mode 100644 tests/queries/0_stateless/data_avro/negative_block_size_arrays.avro diff --git a/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.reference b/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.reference new file mode 100644 index 00000000000..912bff45da5 --- /dev/null +++ b/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.reference @@ -0,0 +1,11 @@ +str_array Array(String) +1318 +5779 +1715 +6422 +5875 +1887 +3763 +4245 +4270 +758 diff --git a/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.sh b/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.sh new file mode 100755 index 00000000000..dcecd7b3bea --- /dev/null +++ b/tests/queries/0_stateless/03201_avro_negative_block_size_arrays.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Tags: no-parallel, no-fasttest + +set -e + +CUR_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +# shellcheck source=../shell_config.sh +. "$CUR_DIR"/../shell_config.sh + +DATA_DIR=$CUR_DIR/data_avro + +# See https://github.com/ClickHouse/ClickHouse/issues/60438 +$CLICKHOUSE_LOCAL -q "DESC file('$DATA_DIR/negative_block_size_arrays.avro')" +$CLICKHOUSE_LOCAL -q "SELECT arraySum(arrayMap(x -> length(x), str_array)) AS res FROM file('$DATA_DIR/negative_block_size_arrays.avro')" diff --git a/tests/queries/0_stateless/data_avro/negative_block_size_arrays.avro b/tests/queries/0_stateless/data_avro/negative_block_size_arrays.avro new file mode 100644 index 0000000000000000000000000000000000000000..ec785a885dc84d85043d7ae60e174ae2b8756e32 GIT binary patch literal 37115 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 b|M|cD&E`M+%fWB|^mm2oU;oGd