diff --git a/tests/queries/0_stateless/00700_to_decimal_or_something_1.reference.j2 b/tests/queries/0_stateless/00700_to_decimal_or_something_1.reference.j2 new file mode 100644 index 00000000000..fdc7dafa24e --- /dev/null +++ b/tests/queries/0_stateless/00700_to_decimal_or_something_1.reference.j2 @@ -0,0 +1,120 @@ +---- toDecimal32 ---- +54.1234 +1.1111 +---- toDecimal64 ---- +54.1234 +1.1111 +---- toDecimal128 ---- +54.1234 +1.1111 +---- toDecimal256 ---- +54.1234 +1.1111 +---- toDecimal32OrDefault ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal32OrNull ---- +54.1234 +1.1111 +\N +\N +\N +\N +\N +\N +---- toDecimal32OrZero ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal64OrDefault ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal64OrZero ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal64OrNull ---- +54.1234 +1.1111 +\N +\N +\N +\N +\N +\N +---- toDecimal128OrDefault ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal128OrNull ---- +54.1234 +1.1111 +\N +\N +\N +\N +\N +\N +---- toDecimal128OrZero ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal256OrDefault ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 +---- toDecimal256OrNull ---- +54.1234 +1.1111 +\N +\N +\N +\N +\N +\N +---- toDecimal256OrZero ---- +54.1234 +1.1111 +0 +0 +0 +0 +0 +0 diff --git a/tests/queries/0_stateless/00700_to_decimal_or_something_1.sql.j2 b/tests/queries/0_stateless/00700_to_decimal_or_something_1.sql.j2 new file mode 100644 index 00000000000..03ae16778bc --- /dev/null +++ b/tests/queries/0_stateless/00700_to_decimal_or_something_1.sql.j2 @@ -0,0 +1,32 @@ +{% for func in [ "toDecimal32", "toDecimal64", "toDecimal128", "toDecimal256" ] -%} + +SELECT '---- {{ func }} ----'; +SELECT {{ func }} ('54.1234567', 4); +SELECT {{ func }} ('1.1111111111111111111111111111111111111', 4); +SELECT {{ func }} ('x123', 4); -- { serverError CANNOT_PARSE_TEXT } +SELECT {{ func }} ('', 4); -- { serverError ATTEMPT_TO_READ_AFTER_EOF } +SELECT {{ func }} ('\0', 4); -- { serverError CANNOT_PARSE_TEXT } +SELECT {{ func }} ('\0\0\0\0\0', 4); -- { serverError CANNOT_PARSE_TEXT } +SELECT {{ func }} ('\n\t\r', 4); -- { serverError CANNOT_PARSE_TEXT } +SELECT {{ func }} ('\'', 4); -- { serverError CANNOT_PARSE_TEXT } + +{% endfor -%} + +{% for func in [ "toDecimal32OrDefault", "toDecimal32OrNull", "toDecimal32OrZero", + "toDecimal64OrDefault", "toDecimal64OrZero", "toDecimal64OrNull", + "toDecimal128OrDefault", "toDecimal128OrNull", "toDecimal128OrZero", + "toDecimal256OrDefault", "toDecimal256OrNull", "toDecimal256OrZero" ] -%} + +SELECT '---- {{ func }} ----'; +SELECT {{ func }} ('54.1234567', 4); +SELECT {{ func }} ('1.1111111111111111111111111111111111111', 4); +SELECT {{ func }} ('x123', 4); +SELECT {{ func }} ('', 4); +SELECT {{ func }} ('\0', 4); +SELECT {{ func }} ('\0\0\0\0\0', 4); +SELECT {{ func }} ('\n\t\r', 4); +SELECT {{ func }} ('\'', 4); + +{% endfor -%} + +