diff --git a/src/box/sql/func.c b/src/box/sql/func.c index d5ea0fe6a0ea7c584a38bf4abc930529956baa6b..12a4bee04eb1a12182899846818e99161e0cb2d7 100644 --- a/src/box/sql/func.c +++ b/src/box/sql/func.c @@ -458,6 +458,7 @@ lengthFunc(sql_context * context, int argc, sql_value ** argv) case MP_BIN: case MP_INT: case MP_UINT: + case MP_BOOL: case MP_DOUBLE:{ sql_result_uint(context, sql_value_bytes(argv[0])); break; diff --git a/test/sql/boolean.result b/test/sql/boolean.result index 352649136d37a71d6d6a59c8d66a4d8126e35854..ac9f7fcaf63316764159ced346b0912408c6737b 100644 --- a/test/sql/boolean.result +++ b/test/sql/boolean.result @@ -311,14 +311,15 @@ SELECT quote(a) FROM t0; | - ['NULL'] | - ['NULL'] | ... +-- gh-4462: LENGTH didn't take BOOLEAN arguments. SELECT length(a) FROM t0; | --- | - metadata: | - name: length(a) | type: integer | rows: - | - [null] - | - [null] + | - [5] + | - [4] | - [null] | - [null] | ... diff --git a/test/sql/boolean.test.sql b/test/sql/boolean.test.sql index 9d71139fdd58d3f780b3fee1a242ff2fbacd16c0..68a05852fef0dd26b68f3d0abe828b85ea0ca0ba 100644 --- a/test/sql/boolean.test.sql +++ b/test/sql/boolean.test.sql @@ -82,6 +82,7 @@ SELECT abs(a) FROM t0; SELECT lower(a) FROM t0; SELECT upper(a) FROM t0; SELECT quote(a) FROM t0; +-- gh-4462: LENGTH didn't take BOOLEAN arguments. SELECT length(a) FROM t0; SELECT typeof(a) FROM t0;