From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 2629E6EC55; Tue, 13 Jul 2021 11:52:51 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2629E6EC55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1626166371; bh=SuRZDcdPBR1vjVDQFyFRH8dX2dtG4jaValgkJGdlEhY=; h=To:Cc:References:In-Reply-To:Date:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=mGBv701MYUtF9x0thoJBJyOKrzxUDjnAVLVeDlJ3MxjkVvMQ/odLcULFhWkFHCMku pVuImt0MubLFUKSXWsInV8lJCrdM5t5KIz98mzNdx15CE/iwEVWev/RSMCmtlfDtqD b8HiZEzGIXr3Qygj74QHae4Bugg1uTF+J3dxKouU= Received: from smtp45.i.mail.ru (smtp45.i.mail.ru [94.100.177.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 6399D6EC5A for ; Tue, 13 Jul 2021 11:51:46 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 6399D6EC5A Received: by smtp45.i.mail.ru with esmtpa (envelope-from ) id 1m3E8n-0005ZT-FG; Tue, 13 Jul 2021 11:51:46 +0300 To: Cc: References: <8ca070644eb6f10db748af6801ddaaec3bbef5f8.1626159705.git.imeevma@gmail.com> In-Reply-To: <8ca070644eb6f10db748af6801ddaaec3bbef5f8.1626159705.git.imeevma@gmail.com> Date: Tue, 13 Jul 2021 11:51:39 +0300 Message-ID: <03f901d777c4$4bda6be0$e38f43a0$@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLLBM4G8PxJWct8/19n8ja8ysZxHgF5B3BQqU2sKuA= Content-Language: ru X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD97BB0EF39AD2B33D598226807B8A1E9DC331E3F9997896515182A05F538085040C8160179616480653CF82C6DD4B42BF3EE969A7C678A829C2E79CE439BE3F712 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE710C87672A00505DEEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637E80306D42697F3998638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D861C8176EB9AC0C58DC196BC9C19ABFBC117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCAA867293B0326636D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8BAA867293B0326636D2E47CDBA5A96583BA9C0B312567BB2376E601842F6C81A19E625A9149C048EEC65AC60A1F0286FE1B0CC92B5A49C88ED8FC6C240DEA7642DBF02ECDB25306B2B78CF848AE20165D0A6AB1C7CE11FEE365B78C30F681404D040F9FF01DFDA4A8C4224003CC836476EA7A3FFF5B025636E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F79006373BC478629CBEC79DEFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C1DE0DAB: 0D63561A33F958A53880AC3A665764A2C7A498DF5868371BD71EDC83D47212AAD59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA753753CEE10E4ED4A7410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34103A2CD2CFC42C6774D8B6FB98F59A0A4E0B459099449D918675852038FF225F9851FBF36C6F65F11D7E09C32AA3244C239F590BA25ABDEDACD03B416FDB210530363D8B7DA7DD44729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojAZDAgpmGsvbMoYXV/O8KBw== X-Mailru-Sender: B5B6A6EBBD94DAD8F320B9F0F42A6ED16A5F1059E345509FB1838B0FD522021B0703B78013D12E491EC9E4A2C82A33BC8C24925A86E657CE0C70AEE3C9A96FBAB3D7EE8ED63280BE112434F685709FCF0DA7A0AF5A3A8387 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v2 3/4] sql: use proper type names in error descriptions X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Timur Safin via Tarantool-patches Reply-To: Timur Safin Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Yup, text and real were always confusing before.1 LGTM : From: imeevma@tarantool.org : Subject: [PATCH v2 3/4] sql: use proper type names in error = descriptions :=20 : Prior to this patch, the type mismatch error description and the : inconsistent types error description in some cases displayed type = names : that were different from the default ones. After this patch, all types : in these descriptions are described using the default names. :=20 : Part of #6176 : --- : src/box/sql/func.c | 12 +- : src/box/sql/mem.c | 14 +- : src/box/sql/vdbe.c | 2 +- : test/sql-tap/func.test.lua | 6 +- : test/sql-tap/index1.test.lua | 4 +- : test/sql-tap/position.test.lua | 16 +- : test/sql-tap/select1.test.lua | 2 +- : test/sql-tap/sql-errors.test.lua | 8 +- : test/sql-tap/uuid.test.lua | 28 +- : test/sql/boolean.result | 716 = +++++++++++++++---------------- : test/sql/types.result | 34 +- : 11 files changed, 422 insertions(+), 420 deletions(-) :=20 : diff --git a/src/box/sql/func.c b/src/box/sql/func.c : index f93ae867d..e4832f46d 100644 : --- a/src/box/sql/func.c : +++ b/src/box/sql/func.c : @@ -324,7 +324,7 @@ position_func(struct sql_context *context, int = argc, : struct Mem **argv) : inconsistent_type_arg =3D haystack; : if (inconsistent_type_arg !=3D NULL) { : diag_set(ClientError, ER_INCONSISTENT_TYPES, : - "text or varbinary", : + "string or varbinary", : mem_type_to_str(inconsistent_type_arg)); : context->is_aborted =3D true; : return; : @@ -590,7 +590,7 @@ roundFunc(sql_context * context, int argc, = sql_value ** : argv) : return; : if (!mem_is_num(argv[0]) && !mem_is_str(argv[0])) { : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, : - mem_str(argv[0]), "numeric"); : + mem_str(argv[0]), "number"); : context->is_aborted =3D true; : return; : } : @@ -650,7 +650,7 @@ case_type##ICUFunc(sql_context *context, int argc, : sql_value **argv) \ : UNUSED_PARAMETER(argc); : \ : if (mem_is_bin(argv[0]) || mem_is_map(argv[0]) || : \ : mem_is_array(argv[0])) { : \ : - diag_set(ClientError, ER_INCONSISTENT_TYPES, "text", \ : + diag_set(ClientError, ER_INCONSISTENT_TYPES, "string", \ : "varbinary"); \ : context->is_aborted =3D true; \ : return; \ : @@ -733,7 +733,7 @@ randomBlob(sql_context * context, int argc, = sql_value ** : argv) : if (mem_is_bin(argv[0]) || mem_is_map(argv[0]) || : mem_is_array(argv[0])) { : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, : - mem_str(argv[0]), "numeric"); : + mem_str(argv[0]), "number"); : context->is_aborted =3D true; : return; : } : @@ -987,7 +987,7 @@ likeFunc(sql_context *context, int argc, sql_value : **argv) : char *inconsistent_type =3D rhs_type !=3D MP_STR ? : mem_type_to_str(argv[0]) : : mem_type_to_str(argv[1]); : - diag_set(ClientError, ER_INCONSISTENT_TYPES, "text", : + diag_set(ClientError, ER_INCONSISTENT_TYPES, "string", : inconsistent_type); : context->is_aborted =3D true; : return; : @@ -1624,7 +1624,7 @@ soundexFunc(sql_context * context, int argc, = sql_value : ** argv) : if (mem_is_bin(argv[0]) || mem_is_map(argv[0]) || : mem_is_array(argv[0])) { : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, : - mem_str(argv[0]), "text"); : + mem_str(argv[0]), "string"); : context->is_aborted =3D true; : return; : } : diff --git a/src/box/sql/mem.c b/src/box/sql/mem.c : index 3bbff9897..c4375e1ea 100644 : --- a/src/box/sql/mem.c : +++ b/src/box/sql/mem.c : @@ -1450,12 +1450,12 @@ mem_concat(struct Mem *a, struct Mem *b, = struct Mem : *result) : /* Concatenation operation can be applied only to strings and blobs. : */ : if (((b->type & (MEM_TYPE_STR | MEM_TYPE_BIN)) =3D=3D 0)) { : diag_set(ClientError, ER_INCONSISTENT_TYPES, : - "text or varbinary", mem_type_to_str(b)); : + "string or varbinary", mem_type_to_str(b)); : return -1; : } : if (((a->type & (MEM_TYPE_STR | MEM_TYPE_BIN)) =3D=3D 0)) { : diag_set(ClientError, ER_INCONSISTENT_TYPES, : - "text or varbinary", mem_type_to_str(a)); : + "string or varbinary", mem_type_to_str(a)); : return -1; : } :=20 : @@ -1544,12 +1544,12 @@ arithmetic_prepare(const struct Mem *left, = const : struct Mem *right, : { : if (get_number(right, b) !=3D 0) { : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, mem_str(right), : - "numeric"); : + "number"); : return -1; : } : if (get_number(left, a) !=3D 0) { : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, mem_str(left), : - "numeric"); : + "number"); : return -1; : } : assert(a->type !=3D 0 && b->type !=3D 0); : @@ -2065,15 +2065,17 @@ mem_type_to_str(const struct Mem *p) : case MEM_TYPE_NULL: : return "NULL"; : case MEM_TYPE_STR: : - return "text"; : + return "string"; : case MEM_TYPE_INT: : return "integer"; : case MEM_TYPE_UINT: : return "unsigned"; : case MEM_TYPE_DOUBLE: : - return "real"; : + return "double"; : case MEM_TYPE_ARRAY: : + return "array"; : case MEM_TYPE_MAP: : + return "map"; : case MEM_TYPE_BIN: : return "varbinary"; : case MEM_TYPE_BOOL: : diff --git a/src/box/sql/vdbe.c b/src/box/sql/vdbe.c : index 32d02d96e..03f420bca 100644 : --- a/src/box/sql/vdbe.c : +++ b/src/box/sql/vdbe.c : @@ -1674,7 +1674,7 @@ case OP_Ge: { /* same as TK_GE, = jump, in1, : in3 */ : mem_cast_implicit_old(pIn3, type) !=3D 0 ? : mem_str(pIn3) : mem_str(pIn1); : diag_set(ClientError, ER_SQL_TYPE_MISMATCH, str, : - "numeric"); : + "number"); : goto abort_due_to_error; : } : } else { : diff --git a/test/sql-tap/func.test.lua b/test/sql-tap/func.test.lua : index ae6bc9ddd..66e525871 100755 : --- a/test/sql-tap/func.test.lua : +++ b/test/sql-tap/func.test.lua : @@ -2931,7 +2931,7 @@ test:do_catchsql_test( : SELECT ROUND(X'FF') : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : @@ -2941,7 +2941,7 @@ test:do_catchsql_test( : SELECT RANDOMBLOB(X'FF') : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : @@ -2951,7 +2951,7 @@ test:do_catchsql_test( : SELECT SOUNDEX(X'FF') : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to text" : + 1, "Type mismatch: can not convert x'FF' to string" : -- : }) :=20 : diff --git a/test/sql-tap/index1.test.lua = b/test/sql-tap/index1.test.lua : index e03e284aa..9e57639cc 100755 : --- a/test/sql-tap/index1.test.lua : +++ b/test/sql-tap/index1.test.lua : @@ -778,7 +778,7 @@ test:do_catchsql_test( : SELECT c FROM t6 WHERE a>123; : ]], { : -- : - 1, "Type mismatch: can not convert '' to numeric" : + 1, "Type mismatch: can not convert '' to number" : -- : }) :=20 : @@ -788,7 +788,7 @@ test:do_catchsql_test( : SELECT c FROM t6 WHERE a>=3D123; : ]], { : -- : - 1, "Type mismatch: can not convert '' to numeric" : + 1, "Type mismatch: can not convert '' to number" : -- : }) :=20 : diff --git a/test/sql-tap/position.test.lua = b/test/sql-tap/position.test.lua : index 506efe0f4..dd4fa62d0 100755 : --- a/test/sql-tap/position.test.lua : +++ b/test/sql-tap/position.test.lua : @@ -228,7 +228,7 @@ test:do_test( : return test:catchsql "SELECT position(34, 12345);" : end, { : -- : - 1, "Inconsistent types: expected text or varbinary got = unsigned" : + 1, "Inconsistent types: expected string or varbinary got = unsigned" : -- : }) :=20 : @@ -238,7 +238,7 @@ test:do_test( : return test:catchsql "SELECT position(34, 123456.78);" : end, { : -- : - 1, "Inconsistent types: expected text or varbinary got real" : + 1, "Inconsistent types: expected string or varbinary got = double" : -- : }) :=20 : @@ -248,7 +248,7 @@ test:do_test( : return test:catchsql "SELECT position(x'3334', 123456.78);" : end, { : -- : - 1, "Inconsistent types: expected text or varbinary got real" : + 1, "Inconsistent types: expected string or varbinary got = double" : -- : }) :=20 : @@ -554,7 +554,7 @@ test:do_test( : return test:catchsql("SELECT position('x', = x'78c3a4e282ac79');") : end, { : -- : - 1, "Inconsistent types: expected text got varbinary" : + 1, "Inconsistent types: expected string got varbinary" : -- : }) :=20 : @@ -564,7 +564,7 @@ test:do_test( : return test:catchsql "SELECT position('y', = x'78c3a4e282ac79');" : end, { : -- : - 1, "Inconsistent types: expected text got varbinary" : + 1, "Inconsistent types: expected string got varbinary" : -- : }) :=20 : @@ -614,7 +614,7 @@ test:do_test( : return test:catchsql "SELECT position(x'79', = 'x=C3=A4=E2=82=ACy');" : end, { : -- : - 1, "Inconsistent types: expected varbinary got text" : + 1, "Inconsistent types: expected varbinary got string" : -- : }) :=20 : @@ -624,7 +624,7 @@ test:do_test( : return test:catchsql "SELECT position(x'a4', = 'x=C3=A4=E2=82=ACy');" : end, { : -- : - 1, "Inconsistent types: expected varbinary got text" : + 1, "Inconsistent types: expected varbinary got string" : -- : }) :=20 : @@ -634,7 +634,7 @@ test:do_test( : return test:catchsql "SELECT position('y', = x'78c3a4e282ac79');" : end, { : -- : - 1, "Inconsistent types: expected text got varbinary" : + 1, "Inconsistent types: expected string got varbinary" : -- : }) :=20 : diff --git a/test/sql-tap/select1.test.lua = b/test/sql-tap/select1.test.lua : index 1a7a4ee82..57c5c2cb3 100755 : --- a/test/sql-tap/select1.test.lua : +++ b/test/sql-tap/select1.test.lua : @@ -320,7 +320,7 @@ test:do_catchsql_test( : SELECT count(*),count(a),count(b) FROM t4 WHERE b=3D5 : ]], { : -- : - 1, "Type mismatch: can not convert 'This is a string that is = too : big to fit inside a NBFS buffer' to numeric" : + 1, "Type mismatch: can not convert 'This is a string that is = too : big to fit inside a NBFS buffer' to number" : -- : }) :=20 : diff --git a/test/sql-tap/sql-errors.test.lua b/test/sql-tap/sql- : errors.test.lua : index 52276c27b..66dc77fa1 100755 : --- a/test/sql-tap/sql-errors.test.lua : +++ b/test/sql-tap/sql-errors.test.lua : @@ -696,7 +696,7 @@ test:do_catchsql_test( : SELECT X'ff' + 1; : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : @@ -706,7 +706,7 @@ test:do_catchsql_test( : SELECT X'ff' - 1; : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : @@ -716,7 +716,7 @@ test:do_catchsql_test( : SELECT X'ff' * 1; : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : @@ -726,7 +726,7 @@ test:do_catchsql_test( : SELECT X'ff' / 1; : ]], { : -- : - 1, "Type mismatch: can not convert x'FF' to numeric" : + 1, "Type mismatch: can not convert x'FF' to number" : -- : }) :=20 : diff --git a/test/sql-tap/uuid.test.lua b/test/sql-tap/uuid.test.lua : index 1fc99916a..c9e1b4fcc 100755 : --- a/test/sql-tap/uuid.test.lua : +++ b/test/sql-tap/uuid.test.lua : @@ -337,7 +337,7 @@ test:do_catchsql_test( : [[ : SELECT u LIKE 'a' from t2; : ]], { : - 1, "Inconsistent types: expected text got uuid" : + 1, "Inconsistent types: expected string got uuid" : }) :=20 : test:do_execsql_test( : @@ -395,7 +395,7 @@ test:do_catchsql_test( : [[ : SELECT POSITION(u, '1') from t2; : ]], { : - 1, "Inconsistent types: expected text or varbinary got uuid" : + 1, "Inconsistent types: expected string or varbinary got = uuid" : }) :=20 : test:do_execsql_test( : @@ -421,7 +421,7 @@ test:do_catchsql_test( : [[ : SELECT ROUND(u) from t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_execsql_test( : @@ -505,7 +505,7 @@ test:do_catchsql_test( : [[ : SELECT u || u from t2; : ]], { : - 1, "Inconsistent types: expected text or varbinary got uuid" : + 1, "Inconsistent types: expected string or varbinary got = uuid" : }) :=20 : local func =3D {language =3D 'Lua', body =3D 'function(x) return = type(x) end', : @@ -971,7 +971,7 @@ test:do_catchsql_test( : [[ : SELECT -u FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_catchsql_test( : @@ -979,7 +979,7 @@ test:do_catchsql_test( : [[ : SELECT u + 1 FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_catchsql_test( : @@ -987,7 +987,7 @@ test:do_catchsql_test( : [[ : SELECT u - 1 FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_catchsql_test( : @@ -995,7 +995,7 @@ test:do_catchsql_test( : [[ : SELECT u * 1 FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_catchsql_test( : @@ -1003,7 +1003,7 @@ test:do_catchsql_test( : [[ : SELECT u / 1 FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : test:do_catchsql_test( : @@ -1011,7 +1011,7 @@ test:do_catchsql_test( : [[ : SELECT u % 1 FROM t2; : ]], { : - 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to numeric" : + 1, "Type mismatch: can not convert '11111111-1111-1111-1111- : 111111111111' to number" : }) :=20 : -- Check that bitwise operations work with UUIDs as intended. : @@ -1118,7 +1118,7 @@ test:do_catchsql_test( : [[ : SELECT u > '1' FROM t2; : ]], { : - 1, "Type mismatch: can not convert text to uuid" : + 1, "Type mismatch: can not convert string to uuid" : }) :=20 : test:do_catchsql_test( : @@ -1126,7 +1126,7 @@ test:do_catchsql_test( : [[ : SELECT u > 1.5 FROM t2; : ]], { : - 1, "Type mismatch: can not convert real to uuid" : + 1, "Type mismatch: can not convert double to uuid" : }) :=20 : test:do_catchsql_test( : @@ -1182,7 +1182,7 @@ test:do_catchsql_test( : [[ : SELECT u =3D '1' FROM t2; : ]], { : - 1, "Type mismatch: can not convert text to uuid" : + 1, "Type mismatch: can not convert string to uuid" : }) :=20 : test:do_catchsql_test( : @@ -1190,7 +1190,7 @@ test:do_catchsql_test( : [[ : SELECT u =3D 1.5 FROM t2; : ]], { : - 1, "Type mismatch: can not convert real to uuid" : + 1, "Type mismatch: can not convert double to uuid" : }) :=20 : test:do_catchsql_test( : diff --git a/test/sql/boolean.result b/test/sql/boolean.result : index dbd31fbb5..320525d36 100644 : --- a/test/sql/boolean.result : +++ b/test/sql/boolean.result : @@ -138,12 +138,12 @@ INSERT INTO ts(s) VALUES ('abc'), (12.5); : SELECT s FROM ts WHERE s =3D true; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT s FROM ts WHERE s < true; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT s FROM ts WHERE s IN (true, 1, 'abcd'); : | --- : @@ -1122,245 +1122,245 @@ SELECT a, a1, a OR a1 FROM t, t6; : SELECT -true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT -false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT -a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT true + true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT true + false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT false + true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false + false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true - true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT true - false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT false - true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false - false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true * true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT true * false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT false * true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false * false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true / true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT true / false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT false / true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false / false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true % true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT true % false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT false % true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false % false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a, true + a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, false + a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, true - a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, false - a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, true * a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, false * a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, true / a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, false / a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, true % a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, false % a FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a + true FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a, a + false FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a - true FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a, a - false FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a * true FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a, a * false FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a / true FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a, a / false FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a % true FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a, a % false FROM t; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a, a1, a + a1 FROM t, t6; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a1, a - a1 FROM t, t6; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a1, a * a1 FROM t, t6; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a1, a / a1 FROM t, t6; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a, a1, a % a1 FROM t, t6; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT ~true; : @@ -1560,64 +1560,64 @@ SELECT a, a1, a >> a1 FROM t, t6; : SELECT true || true; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT true || false; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT false || true; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT false || false; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : SELECT a, true || a FROM t; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a, false || a FROM t; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a, a || true FROM t; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a, a || false FROM t; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : SELECT a1, a1 || a1 FROM t6; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a2, a2 || a2 FROM t6; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a1, a2, a1 || a1 FROM t6; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT a1, a2, a2 || a2 FROM t6; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : -- Check comparisons. : @@ -2643,405 +2643,405 @@ SELECT a2, b, b OR a2 FROM t6, t7; : SELECT true + 2; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false + 2; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true - 2; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false - 2; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true * 2; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false * 2; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true / 2; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false / 2; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true % 2; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false % 2; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2 + true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2 + false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2 - true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2 - false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2 * true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2 * false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2 / true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2 / false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2 % true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2 % false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a1, a1 + 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 - 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 * 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 / 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 % 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2 + a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2 - a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2 * a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2 / a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2 % a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a2, a2 + 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 - 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 * 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 / 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 % 2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2 + a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2 - a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2 * a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2 / a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2 % a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... :=20 : SELECT b, true + b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, false + b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, true - b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, false - b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, true * b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, false * b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, true / b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, false / b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, true % b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, false % b FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, b + true FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, b + false FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, b - true FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, b - false FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, b * true FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, b * false FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, b / true FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, b / false FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT b, b % true FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT b, b % false FROM t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a1, b, a1 + b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, a1 - b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, a1 * b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, a1 / b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, a1 % b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, b + a1 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, b - a1 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, b * a1 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, b / a1 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, b, b % a1 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a2, b, a2 + b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, a2 - b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, a2 * b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, a2 / b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, a2 % b FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, b + a2 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, b - a2 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, b * a2 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, b / a2 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, b, b % a2 FROM t6, t7; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... :=20 : SELECT true & 2; : @@ -4112,897 +4112,897 @@ SELECT a2, c, c OR a2 FROM t6, t8; : SELECT true + 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false + 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true - 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false - 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true * 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false * 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true / 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false / 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT true % 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT false % 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2.3 + true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2.3 + false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2.3 - true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2.3 - false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2.3 * true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2.3 * false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2.3 / true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2.3 / false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT 2.3 % true; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT 2.3 % false; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a1, a1 + 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 - 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 * 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 / 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, a1 % 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2.3 + a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2.3 - a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2.3 * a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2.3 / a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, 2.3 % a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a2, a2 + 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 - 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 * 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 / 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, a2 % 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2.3 + a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2.3 - a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2.3 * a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2.3 / a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, 2.3 % a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... :=20 : SELECT c, true + c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, false + c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, true - c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, false - c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, true * c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, false * c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, true / c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, false / c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, true % c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, false % c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, c + true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, c + false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, c - true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, c - false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, c * true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, c * false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, c / true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, c / false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT c, c % true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT c, c % false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... :=20 : SELECT a1, c, a1 + c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, a1 - c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, a1 * c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, a1 / c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, a1 % c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, c + a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, c - a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, c * a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, c / a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a1, c, c % a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert FALSE to numeric' : + | - 'Type mismatch: can not convert FALSE to number' : | ... : SELECT a2, c, a2 + c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, a2 - c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, a2 * c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, a2 / c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, a2 % c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, c + a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, c - a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, c * a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, c / a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... : SELECT a2, c, c % a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert TRUE to numeric' : + | - 'Type mismatch: can not convert TRUE to number' : | ... :=20 : SELECT true > 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false > 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT true < 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false < 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 > true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 > false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 < true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 < false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, a1 > 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, a1 < 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 > a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 < a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 > 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 < 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 > a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 < a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT c, true > c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false > c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, true < c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false < c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c > true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c > false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c < true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c < false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, c, a1 > c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, a1 < c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c > a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c < a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 > c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 < c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c > a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c < a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT true >=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false >=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT true <=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false <=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 >=3D true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 >=3D false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 <=3D true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 <=3D false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, a1 >=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, a1 <=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 >=3D a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 <=3D a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 >=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 <=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 >=3D a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 <=3D a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT c, true >=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false >=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, true <=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false <=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c >=3D true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c >=3D false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c <=3D true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c <=3D false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, c, a1 >=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, a1 <=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c >=3D a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c <=3D a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 >=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 <=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c >=3D a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c <=3D a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT true =3D=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false =3D=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT true !=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false !=3D 2.3; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 =3D=3D true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 =3D=3D false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 !=3D true; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT 2.3 !=3D false; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, a1 =3D=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, a1 !=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 =3D=3D a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, 2.3 !=3D a1 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 =3D=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 !=3D 2.3 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 =3D=3D a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, 2.3 !=3D a2 FROM t6 : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT c, true =3D=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false =3D=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, true !=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, false !=3D c FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c =3D=3D true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c =3D=3D false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c !=3D true FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT c, c !=3D false FROM t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT a1, c, a1 =3D=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, a1 !=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c =3D=3D a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, c, c !=3D a1 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 =3D=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, a2 !=3D c FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c =3D=3D a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, c, c !=3D a2 FROM t6, t8; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : SELECT true IN (0.1, 1.2, 2.3, 3.4); : @@ -5061,22 +5061,22 @@ SELECT a2 IN (SELECT c FROM t8) FROM t6 LIMIT = 1; : SELECT true BETWEEN 0.1 and 9.9; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT false BETWEEN 0.1 and 9.9; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a1, a1 BETWEEN 0.1 and 9.9 FROM t6; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... : SELECT a2, a2 BETWEEN 0.1 and 9.9 FROM t6; : | --- : | - null : - | - 'Type mismatch: can not convert real to boolean' : + | - 'Type mismatch: can not convert double to boolean' : | ... :=20 : -- Check interaction of BOOLEAN and TEXT. : @@ -5272,187 +5272,187 @@ SELECT a2, d, d OR a2 FROM t6, t9; : SELECT true > 'abc'; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT false > 'abc'; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT true < 'abc'; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT false < 'abc'; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT 'abc' > true; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT 'abc' > false; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT 'abc' < true; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT 'abc' < false; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... :=20 : SELECT d, true > d FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, false > d FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, true < d FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, false < d FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, d > true FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, d > false FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, d < true FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT d, d < false FROM t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... :=20 : SELECT a1, d, a1 > d FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a1, d, a1 < d FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a1, d, d > a1 FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a1, d, d < a1 FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a2, d, a2 > d FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a2, d, a2 < d FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a2, d, d > a2 FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... : SELECT a2, d, d < a2 FROM t6, t9; : | --- : | - null : - | - 'Type mismatch: can not convert text to boolean' : + | - 'Type mismatch: can not convert string to boolean' : | ... :=20 : SELECT true || 'abc'; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT false || 'abc'; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT 'abc' || false; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT 'abc' || true; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : SELECT d, true || d FROM t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, false || d FROM t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, d || false FROM t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, d || true FROM t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : SELECT d, a1 || d FROM t6, t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, a2 || d FROM t6, t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, d || a1 FROM t6, t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... : SELECT d, d || a2 FROM t6, t9; : | --- : | - null : - | - 'Inconsistent types: expected text or varbinary got boolean' : + | - 'Inconsistent types: expected string or varbinary got boolean' : | ... :=20 : -- : diff --git a/test/sql/types.result b/test/sql/types.result : index 219559619..a9a5fd536 100644 : --- a/test/sql/types.result : +++ b/test/sql/types.result : @@ -158,39 +158,39 @@ sp:drop() : box.execute("SELECT 'abc' || 1;") : --- : - null : -- 'Inconsistent types: expected text or varbinary got unsigned' : +- 'Inconsistent types: expected string or varbinary got unsigned' : ... : box.execute("SELECT 'abc' || 1.123;") : --- : - null : -- 'Inconsistent types: expected text or varbinary got real' : +- 'Inconsistent types: expected string or varbinary got double' : ... : box.execute("SELECT 1 || 'abc';") : --- : - null : -- 'Inconsistent types: expected text or varbinary got unsigned' : +- 'Inconsistent types: expected string or varbinary got unsigned' : ... : box.execute("SELECT 1.123 || 'abc';") : --- : - null : -- 'Inconsistent types: expected text or varbinary got real' : +- 'Inconsistent types: expected string or varbinary got double' : ... : box.execute("SELECt 'a' || 'b' || 1;") : --- : - null : -- 'Inconsistent types: expected text or varbinary got unsigned' : +- 'Inconsistent types: expected string or varbinary got unsigned' : ... : -- What is more, they must be of the same type. : -- : box.execute("SELECT 'abc' || randomblob(5);") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT randomblob(5) || 'x';") : --- : - null : -- 'Inconsistent types: expected varbinary got text' : +- 'Inconsistent types: expected varbinary got string' : ... : -- Result of BLOBs concatenation must be BLOB. : -- : @@ -215,17 +215,17 @@ box.execute("INSERT INTO t1 VALUES = (randomblob(5));") : box.execute("SELECT * FROM t1 WHERE s LIKE 'blob';") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT * FROM t1 WHERE 'blob' LIKE s;") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT * FROM t1 WHERE 'blob' LIKE x'0000';") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT s LIKE NULL FROM t1;") : --- : @@ -246,12 +246,12 @@ box.execute("INSERT INTO t1 VALUES (1);") : box.execute("SELECT * FROM t1 WHERE s LIKE 'int';") : --- : - null : -- 'Inconsistent types: expected text got unsigned' : +- 'Inconsistent types: expected string got unsigned' : ... : box.execute("SELECT * FROM t1 WHERE 'int' LIKE 4;") : --- : - null : -- 'Inconsistent types: expected text got unsigned' : +- 'Inconsistent types: expected string got unsigned' : ... : box.execute("SELECT NULL LIKE s FROM t1;") : --- : @@ -354,7 +354,7 @@ box.execute("SELECT * FROM tboolean WHERE s1 =3D = 1;") : box.execute("SELECT * FROM tboolean WHERE s1 =3D 1.123;") : --- : - null : -- 'Type mismatch: can not convert real to boolean' : +- 'Type mismatch: can not convert double to boolean' : ... : box.space.TBOOLEAN:drop() : --- : @@ -1245,12 +1245,12 @@ box.execute("SELECT * FROM t WHERE v =3D 1") : box.execute("SELECT * FROM t WHERE v =3D 1.123") : --- : - null : -- 'Type mismatch: can not convert real to varbinary' : +- 'Type mismatch: can not convert double to varbinary' : ... : box.execute("SELECT * FROM t WHERE v =3D 'str'") : --- : - null : -- 'Type mismatch: can not convert text to varbinary' : +- 'Type mismatch: can not convert string to varbinary' : ... : box.execute("SELECT * FROM t WHERE v =3D x'616263'") : --- : @@ -1312,12 +1312,12 @@ box.execute("SELECT group_concat(v) FROM t;") : box.execute("SELECT lower(v) FROM t;") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT upper(v) FROM t;") : --- : - null : -- 'Inconsistent types: expected text got varbinary' : +- 'Inconsistent types: expected string got varbinary' : ... : box.execute("SELECT abs(v) FROM t;") : --- : -- : 2.25.1