From e3fc7662c1247e9e6c22b1847cfbddd190fca984 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Thu, 9 Feb 2023 04:51:01 +0100 Subject: [PATCH] Add test --- .../0_stateless/02560_count_digits.reference | 19 ++++++++++++++++ .../0_stateless/02560_count_digits.sql | 22 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/queries/0_stateless/02560_count_digits.reference create mode 100644 tests/queries/0_stateless/02560_count_digits.sql diff --git a/tests/queries/0_stateless/02560_count_digits.reference b/tests/queries/0_stateless/02560_count_digits.reference new file mode 100644 index 00000000000..836975f7db4 --- /dev/null +++ b/tests/queries/0_stateless/02560_count_digits.reference @@ -0,0 +1,19 @@ +1 +1 +1 +5 +5 +20 +19 +39 +78 +39 +77 +8 +9 +10 +11 +8 +9 +10 +11 diff --git a/tests/queries/0_stateless/02560_count_digits.sql b/tests/queries/0_stateless/02560_count_digits.sql new file mode 100644 index 00000000000..19f5403bdf5 --- /dev/null +++ b/tests/queries/0_stateless/02560_count_digits.sql @@ -0,0 +1,22 @@ +SELECT countDigits(0); +SELECT countDigits(1); +SELECT countDigits(-1); +SELECT countDigits(12345); +SELECT countDigits(-12345); +SELECT countDigits(0xFFFFFFFFFFFFFFFF); +SELECT countDigits(CAST(0x8000000000000000 AS Int64)); +SELECT countDigits(CAST(-1 AS UInt128)); +SELECT countDigits(CAST(-1 AS UInt256)); +SELECT countDigits(CAST(CAST(-1 AS UInt128) DIV 2 + 1 AS Int128)); +SELECT countDigits(CAST(CAST(-1 AS UInt256) DIV 2 + 1 AS Int256)); + +SELECT countDigits(-123.45678::Decimal32(5)); +SELECT countDigits(-123.456789::Decimal64(6)); +SELECT countDigits(-123.4567890::Decimal128(7)); +SELECT countDigits(-123.45678901::Decimal256(8)); + +-- this behavior can be surprising, but actually reasonable: +SELECT countDigits(-123.456::Decimal32(5)); +SELECT countDigits(-123.4567::Decimal64(6)); +SELECT countDigits(-123.45678::Decimal128(7)); +SELECT countDigits(-123.456789::Decimal256(8));