From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp16.mail.ru (smtp16.mail.ru [94.100.176.153]) (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 C24E742EF62 for ; Thu, 11 Jun 2020 15:54:19 +0300 (MSK) From: imeevma@tarantool.org Date: Thu, 11 Jun 2020 15:54:18 +0300 Message-Id: <338034a2577e902a1295db12650fee26a8bcdbf2.1591878044.git.imeevma@gmail.com> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v2 7/7] sql: use type instead of value in type mismatch error List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org, tsafin@tarantool.org, tarantool-patches@dev.tarantool.org Follow-up #3809 Follow-up #4230 --- src/box/sql/vdbe.c | 28 +- test/sql-tap/autoinc.test.lua | 2 +- test/sql-tap/cast.test.lua | 16 +- .../gh-4230-del-impl-cast-str-to-num.test.lua | 24 +- ...-4766-wrong-cast-from-blob-to-int.test.lua | 9 +- test/sql-tap/identifier_case.test.lua | 6 +- test/sql-tap/in1.test.lua | 2 +- test/sql-tap/index1.test.lua | 4 +- test/sql-tap/intpkey.test.lua | 4 +- test/sql-tap/join.test.lua | 2 +- test/sql-tap/misc1.test.lua | 2 +- test/sql-tap/numcast.test.lua | 2 +- test/sql-tap/select1.test.lua | 4 +- test/sql/boolean.result | 1012 ++++++++--------- test/sql/integer-overflow.result | 4 +- test/sql/types.result | 20 +- 16 files changed, 567 insertions(+), 574 deletions(-) diff --git a/src/box/sql/vdbe.c b/src/box/sql/vdbe.c index e22ed98cf..cf0ae8a06 100644 --- a/src/box/sql/vdbe.c +++ b/src/box/sql/vdbe.c @@ -1748,12 +1748,12 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ } else { if (sqlVdbeRealValue(pIn1, &rA) != 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "numeric"); + mem_type_to_str(pIn1), "numeric"); goto abort_due_to_error; } if (sqlVdbeRealValue(pIn2, &rB) != 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn2), "numeric"); + mem_type_to_str(pIn2), "numeric"); goto abort_due_to_error; } assert(((type1 | type2) & MEM_Real) != 0); @@ -2030,12 +2030,12 @@ case OP_ShiftRight: { /* same as TK_RSHIFT, in1, in2, out3 */ bool unused; if (sqlVdbeIntValue(pIn2, (int64_t *) &iA, &unused) != 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn2), "integer"); + mem_type_to_str(pIn2), "integer"); goto abort_due_to_error; } if (sqlVdbeIntValue(pIn1, (int64_t *) &iB, &unused) != 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "integer"); + mem_type_to_str(pIn1), "integer"); goto abort_due_to_error; } op = pOp->opcode; @@ -2100,7 +2100,7 @@ case OP_MustBeInt: { /* jump, in1 */ if ((pIn1->flags & (MEM_Int | MEM_UInt)) == 0) { if (pOp->p2==0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "integer"); + mem_type_to_str(pIn1), "integer"); goto abort_due_to_error; } else { goto jump_to_p2; @@ -2157,7 +2157,7 @@ case OP_Cast: { /* in1 */ UPDATE_MAX_BLOBSIZE(pIn1); if (rc == 0) break; - diag_set(ClientError, ER_SQL_TYPE_MISMATCH, sql_value_to_diag_str(pIn1), + diag_set(ClientError, ER_SQL_TYPE_MISMATCH, mem_type_to_str(pIn1), field_type_strs[pOp->p2]); goto abort_due_to_error; } @@ -2320,13 +2320,13 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ if (sql_type_is_numeric(type)) { if ((flags1 & MEM_Str) == MEM_Str) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), + mem_type_to_str(pIn1), "numeric"); goto abort_due_to_error; } if ((flags3 & MEM_Str) == MEM_Str) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn3), + mem_type_to_str(pIn3), "numeric"); goto abort_due_to_error; } @@ -2576,7 +2576,7 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ v1 = pIn1->u.b; } else { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "boolean"); + mem_type_to_str(pIn1), "boolean"); goto abort_due_to_error; } pIn2 = &aMem[pOp->p2]; @@ -2586,7 +2586,7 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ v2 = pIn2->u.b; } else { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn2), "boolean"); + mem_type_to_str(pIn2), "boolean"); goto abort_due_to_error; } if (pOp->opcode==OP_And) { @@ -2616,7 +2616,7 @@ case OP_Not: { /* same as TK_NOT, in1, out2 */ if ((pIn1->flags & MEM_Null)==0) { if ((pIn1->flags & MEM_Bool) == 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "boolean"); + mem_type_to_str(pIn1), "boolean"); goto abort_due_to_error; } mem_set_bool(pOut, ! pIn1->u.b); @@ -2641,7 +2641,7 @@ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */ bool is_neg; if (sqlVdbeIntValue(pIn1, &i, &is_neg) != 0) { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "integer"); + mem_type_to_str(pIn1), "integer"); goto abort_due_to_error; } mem_set_i64(pOut, ~i); @@ -2687,7 +2687,7 @@ case OP_IfNot: { /* jump, in1 */ c = pOp->opcode == OP_IfNot ? ! pIn1->u.b : pIn1->u.b; } else { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn1), "boolean"); + mem_type_to_str(pIn1), "boolean"); goto abort_due_to_error; } VdbeBranchTaken(c!=0, 2); @@ -3464,7 +3464,7 @@ case OP_SeekGT: { /* jump, in3 */ is_neg = i < 0; } else { diag_set(ClientError, ER_SQL_TYPE_MISMATCH, - sql_value_to_diag_str(pIn3), "integer"); + mem_type_to_str(pIn3), "integer"); goto abort_due_to_error; } iKey = i; diff --git a/test/sql-tap/autoinc.test.lua b/test/sql-tap/autoinc.test.lua index ec8dfeab1..4fbefa0c1 100755 --- a/test/sql-tap/autoinc.test.lua +++ b/test/sql-tap/autoinc.test.lua @@ -811,7 +811,7 @@ test:do_catchsql_test( INSERT INTO t1 SELECT s2, s2 FROM t1; ]], { -- - 1, "Type mismatch: can not convert a to integer" + 1, "Type mismatch: can not convert text to integer" -- }) diff --git a/test/sql-tap/cast.test.lua b/test/sql-tap/cast.test.lua index fb0790d04..cb07c27c8 100755 --- a/test/sql-tap/cast.test.lua +++ b/test/sql-tap/cast.test.lua @@ -450,7 +450,7 @@ test:do_catchsql_test( SELECT CAST('123abc' AS NUMBER) ]], { -- - 1, 'Type mismatch: can not convert 123abc to number' + 1, 'Type mismatch: can not convert text to number' -- }) @@ -470,7 +470,7 @@ test:do_catchsql_test( SELECT CAST('123abc' AS integer) ]], { -- - 1, 'Type mismatch: can not convert 123abc to integer' + 1, 'Type mismatch: can not convert text to integer' -- }) @@ -480,7 +480,7 @@ test:do_catchsql_test( SELECT CAST('123.5abc' AS NUMBER) ]], { -- - 1, 'Type mismatch: can not convert 123.5abc to number' + 1, 'Type mismatch: can not convert text to number' -- }) @@ -490,7 +490,7 @@ test:do_catchsql_test( SELECT CAST('123.5abc' AS integer) ]], { -- - 1, 'Type mismatch: can not convert 123.5abc to integer' + 1, 'Type mismatch: can not convert text to integer' -- }) @@ -561,7 +561,7 @@ test:do_catchsql_test( SELECT CAST('abc' AS NUMBER) ]], { -- - 1, 'Type mismatch: can not convert abc to number' + 1, 'Type mismatch: can not convert text to number' -- }) @@ -829,7 +829,7 @@ test:do_test( ]] end, { -- - 1, 'Type mismatch: can not convert abc to integer' + 1, 'Type mismatch: can not convert text to integer' -- }) @@ -841,7 +841,7 @@ test:do_test( ]] end, { -- - 1, 'Type mismatch: can not convert abc to integer' + 1, 'Type mismatch: can not convert text to integer' -- }) @@ -853,7 +853,7 @@ test:do_test( ]] end, { -- - 1, 'Type mismatch: can not convert abc to number' + 1, 'Type mismatch: can not convert text to number' -- }) diff --git a/test/sql-tap/gh-4230-del-impl-cast-str-to-num.test.lua b/test/sql-tap/gh-4230-del-impl-cast-str-to-num.test.lua index b405a11b6..cbc771125 100755 --- a/test/sql-tap/gh-4230-del-impl-cast-str-to-num.test.lua +++ b/test/sql-tap/gh-4230-del-impl-cast-str-to-num.test.lua @@ -11,7 +11,7 @@ test:do_catchsql_test( [[ SELECT '1' > 0; ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -19,7 +19,7 @@ test:do_catchsql_test( [[ SELECT 0 > '1'; ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:execsql([[ @@ -32,7 +32,7 @@ test:do_catchsql_test( [[ SELECT * from t where i > s; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -40,7 +40,7 @@ test:do_catchsql_test( [[ SELECT * from t WHERE s > i; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -48,7 +48,7 @@ test:do_catchsql_test( [[ SELECT * from t WHERE d > s; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -56,7 +56,7 @@ test:do_catchsql_test( [[ SELECT * from t WHERE s > d; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -64,7 +64,7 @@ test:do_catchsql_test( [[ SELECT * from t WHERE i = 1 and n > s; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -72,7 +72,7 @@ test:do_catchsql_test( [[ SELECT * from t WHERE i = 2 and s > n; ]], { - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:execsql([[ @@ -89,7 +89,7 @@ test:do_catchsql_test( [[ SELECT x FROM t1 WHERE x IN (1); ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) @@ -98,7 +98,7 @@ test:do_catchsql_test( [[ SELECT x FROM t1 WHERE x IN (1.0); ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_execsql_test( @@ -121,7 +121,7 @@ test:do_catchsql_test( [[ SELECT x FROM t1 WHERE 1 IN (x); ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_catchsql_test( @@ -129,7 +129,7 @@ test:do_catchsql_test( [[ SELECT x FROM t1 WHERE 1.0 IN (x); ]], { - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" }) test:do_execsql_test( diff --git a/test/sql-tap/gh-4766-wrong-cast-from-blob-to-int.test.lua b/test/sql-tap/gh-4766-wrong-cast-from-blob-to-int.test.lua index 929870d27..aef7330d5 100755 --- a/test/sql-tap/gh-4766-wrong-cast-from-blob-to-int.test.lua +++ b/test/sql-tap/gh-4766-wrong-cast-from-blob-to-int.test.lua @@ -32,14 +32,7 @@ test:do_execsql_test( test:do_catchsql_test( "gh-4766-3", "SELECT CAST('" .. long_str .. "1234'" .. " AS INTEGER);", { - 1, "Type mismatch: can not convert 000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "0000000000000000000000000000000000000000000000000000000000000000000" .. - "000000000000000000000000000000000000000000000" + 1, "Type mismatch: can not convert text to integer" }) test:finish_test() diff --git a/test/sql-tap/identifier_case.test.lua b/test/sql-tap/identifier_case.test.lua index 1d56ffb44..80d224e9e 100755 --- a/test/sql-tap/identifier_case.test.lua +++ b/test/sql-tap/identifier_case.test.lua @@ -242,11 +242,11 @@ data = { { 2, [[ 'a' < 'b' collate "binary" ]], {0, {true}}}, { 3, [[ 'a' < 'b' collate 'binary' ]], {1, [[Syntax error at line 1 near ''binary'']]}}, { 4, [[ 'a' < 'b' collate "unicode" ]], {0, {true}}}, - { 5, [[ 5 < 'b' collate "unicode" ]], {1, "Type mismatch: can not convert b to numeric"}}, + { 5, [[ 5 < 'b' collate "unicode" ]], {1, "Type mismatch: can not convert text to numeric"}}, { 6, [[ 5 < 'b' collate unicode ]], {1,"Collation 'UNICODE' does not exist"}}, - { 7, [[ 5 < 'b' collate "unicode_ci" ]], {1, "Type mismatch: can not convert b to numeric"}}, + { 7, [[ 5 < 'b' collate "unicode_ci" ]], {1, "Type mismatch: can not convert text to numeric"}}, { 8, [[ 5 < 'b' collate NONE ]], {1, "Collation 'NONE' does not exist"}}, - { 9, [[ 5 < 'b' collate "none" ]], {1, "Type mismatch: can not convert b to numeric"}}, + { 9, [[ 5 < 'b' collate "none" ]], {1, "Type mismatch: can not convert text to numeric"}}, } for _, row in ipairs(data) do diff --git a/test/sql-tap/in1.test.lua b/test/sql-tap/in1.test.lua index e2f498889..856e9e009 100755 --- a/test/sql-tap/in1.test.lua +++ b/test/sql-tap/in1.test.lua @@ -642,7 +642,7 @@ test:do_test( ]] end, { -- - 1, "Type mismatch: can not convert 2 to numeric" + 1, "Type mismatch: can not convert text to numeric" -- }) diff --git a/test/sql-tap/index1.test.lua b/test/sql-tap/index1.test.lua index ce66b7c1e..31c276318 100755 --- a/test/sql-tap/index1.test.lua +++ b/test/sql-tap/index1.test.lua @@ -777,7 +777,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 text to numeric" -- }) @@ -787,7 +787,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 text to numeric" -- }) diff --git a/test/sql-tap/intpkey.test.lua b/test/sql-tap/intpkey.test.lua index bc3d701a7..3fd65da5a 100755 --- a/test/sql-tap/intpkey.test.lua +++ b/test/sql-tap/intpkey.test.lua @@ -870,7 +870,7 @@ test:do_catchsql_test( SELECT * FROM t3 WHERE a - 1, "Type mismatch: can not convert one to numeric" + 1, "Type mismatch: can not convert text to numeric" -- }) @@ -880,7 +880,7 @@ test:do_catchsql_test( SELECT * FROM t3 WHERE a=c; ]], { -- - 1, "Type mismatch: can not convert one to numeric" + 1, "Type mismatch: can not convert text to numeric" -- }) diff --git a/test/sql-tap/join.test.lua b/test/sql-tap/join.test.lua index 792302ab5..f0875e28d 100755 --- a/test/sql-tap/join.test.lua +++ b/test/sql-tap/join.test.lua @@ -1044,7 +1044,7 @@ test:do_catchsql_test( SELECT * FROM t2 NATURAL JOIN t1 ]], { -- - 1, "Type mismatch: can not convert 1 to numeric" + 1, "Type mismatch: can not convert text to numeric" -- }) diff --git a/test/sql-tap/misc1.test.lua b/test/sql-tap/misc1.test.lua index 3cef617f4..2038edc82 100755 --- a/test/sql-tap/misc1.test.lua +++ b/test/sql-tap/misc1.test.lua @@ -625,7 +625,7 @@ test:do_catchsql_test( SELECT '0'==0.0 ]], { -- - 1, "Type mismatch: can not convert 0 to numeric" + 1, "Type mismatch: can not convert text to numeric" -- }) diff --git a/test/sql-tap/numcast.test.lua b/test/sql-tap/numcast.test.lua index 9bbae5ca4..d8bf6cca3 100755 --- a/test/sql-tap/numcast.test.lua +++ b/test/sql-tap/numcast.test.lua @@ -107,7 +107,7 @@ test:do_catchsql_test( [[ SELECT CAST((20000000000000000000.) AS UNSIGNED); ]], { - 1,"Type mismatch: can not convert 2.0e+19 to unsigned" + 1,"Type mismatch: can not convert real to unsigned" }) test:do_execsql_test( diff --git a/test/sql-tap/select1.test.lua b/test/sql-tap/select1.test.lua index f5a9b63fe..42cdad366 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=5 ]], { -- - 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 text to numeric" -- }) @@ -1483,7 +1483,7 @@ test:do_catchsql_test( SELECT f1 FROM test1 WHERE 4.3+2.4 OR 1 ORDER BY f1 ]], { -- - 1, 'Type mismatch: can not convert 6.7 to boolean' + 1, 'Type mismatch: can not convert real to boolean' -- }) diff --git a/test/sql/boolean.result b/test/sql/boolean.result index c74713c34..76439c7f4 100644 --- a/test/sql/boolean.result +++ b/test/sql/boolean.result @@ -1120,438 +1120,438 @@ 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 boolean to numeric' | ... SELECT -false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT -a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true + true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true + false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false + true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false + false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true - true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true - false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false - true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false - false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true * true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true * false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false * true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false * false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true / true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true / false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false / true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false / false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true % true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true % false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false % true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false % false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, true + a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, false + a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, true - a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, false - a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, true * a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, false * a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, true / a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, false / a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, true % a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, false % a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a + true FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a + false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a - true FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a - false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a * true FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a * false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a / true FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a / false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a % true FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a % false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a1, a + a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a1, a - a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a1, a * a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a1, a / a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a, a1, a % a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT ~true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT ~false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true & true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true & false; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false & true; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false & false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true | true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true | false; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false | true; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false | false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true << true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true << false; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false << true; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false << false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true >> true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true >> false; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false >> true; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false >> false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, true & a FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, false & a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, true | a FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, false | a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, true << a FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, false << a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, true >> a FROM t; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, false >> a FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a & true FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a & false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a | true FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a | false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a << true FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a << false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a >> true FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a >> false FROM t; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a1, a & a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a1, a | a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a1, a << a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a, a1, a >> a1 FROM t, t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... -- Check concatenate. @@ -2461,7 +2461,7 @@ INSERT INTO t7 VALUES (123); SELECT true AND 2; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT false AND 2; | --- @@ -2474,17 +2474,17 @@ SELECT false AND 2; SELECT true OR 2; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT false OR 2; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT 2 AND true; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT 2 AND false; | --- @@ -2497,59 +2497,59 @@ SELECT 2 AND false; SELECT 2 OR true; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT 2 OR false; | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, a1 AND 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, a1 OR 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, 2 AND a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, 2 OR a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, a2 AND 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, a2 OR 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, 2 AND a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, 2 OR a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, true AND b FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, false AND b FROM t7; | --- @@ -2564,17 +2564,17 @@ SELECT b, false AND b FROM t7; SELECT b, true OR b FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, false OR b FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, b AND true FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, b AND false FROM t7; | --- @@ -2589,781 +2589,781 @@ SELECT b, b AND false FROM t7; SELECT b, b OR true FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT b, b OR false FROM t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, b, a1 AND b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, b, a1 OR b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, b, b AND a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a1, b, b OR a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, b, a2 AND b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, b, a2 OR b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, b, b AND a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT a2, b, b OR a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert 123 to boolean' + | - 'Type mismatch: can not convert unsigned to boolean' | ... SELECT true + 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false + 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true - 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false - 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true * 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false * 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true / 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false / 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true % 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false % 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 + true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 + false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 - true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 - false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 * true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 * false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 / true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 / false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 % true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2 % false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 + 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 - 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 * 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 / 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 % 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2 + a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2 - a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2 * a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2 / a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2 % a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 + 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 - 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 * 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 / 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 % 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2 + a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2 - a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2 * a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2 / a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2 % a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, true + b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, false + b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, true - b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, false - b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, true * b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, false * b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, true / b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, false / b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, true % b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, false % b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b + true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b + false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b - true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b - false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b * true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b * false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b / true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b / false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b % true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT b, b % false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, a1 + b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, a1 - b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, a1 * b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, a1 / b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, a1 % b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, b + a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, b - a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, b * a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, b / a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, b, b % a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, a2 + b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, a2 - b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, a2 * b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, a2 / b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, a2 % b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, b + a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, b - a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, b * a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, b / a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, b, b % a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true & 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false & 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true | 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false | 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true << 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false << 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true >> 2; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT false >> 2; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 & true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 & false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 | true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 | false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 << true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 << false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 >> true; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT 2 >> false; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, a1 & 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, a1 | 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, a1 << 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, a1 >> 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, 2 & a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, 2 | a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, 2 << a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, 2 >> a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, a2 & 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, a2 | 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, a2 << 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, a2 >> 2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, 2 & a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, 2 | a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, 2 << a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, 2 >> a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, true & b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, false & b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, true | b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, false | b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, true << b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, false << b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, true >> b FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, false >> b FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b & true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b & false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b | true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b | false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b << true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b << false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b >> true FROM t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT b, b >> false FROM t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, a1 & b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, a1 | b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, a1 << b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, a1 >> b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, b & a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, b | a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, b << a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a1, b, b >> a1 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert FALSE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, a2 & b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, a2 | b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, a2 << b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, a2 >> b FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, b & a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, b | a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, b << a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT a2, b, b >> a2 FROM t6, t7; | --- | - null - | - 'Type mismatch: can not convert TRUE to integer' + | - 'Type mismatch: can not convert boolean to integer' | ... SELECT true > 2; @@ -3930,7 +3930,7 @@ INSERT INTO t8 VALUES (4.56); SELECT true AND 2.3; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT false AND 2.3; | --- @@ -3943,17 +3943,17 @@ SELECT false AND 2.3; SELECT true OR 2.3; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT false OR 2.3; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT 2.3 AND true; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT 2.3 AND false; | --- @@ -3966,59 +3966,59 @@ SELECT 2.3 AND false; SELECT 2.3 OR true; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT 2.3 OR false; | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, a1 AND 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, a1 OR 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, 2.3 AND a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, 2.3 OR a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, a2 AND 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, a2 OR 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, 2.3 AND a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, 2.3 OR a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert 2.3 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, true AND c FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, false AND c FROM t8; | --- @@ -4033,17 +4033,17 @@ SELECT c, false AND c FROM t8; SELECT c, true OR c FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, false OR c FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, c AND true FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, c AND false FROM t8; | --- @@ -4058,457 +4058,457 @@ SELECT c, c AND false FROM t8; SELECT c, c OR true FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT c, c OR false FROM t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, c, a1 AND c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, c, a1 OR c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, c, c AND a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a1, c, c OR a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, c, a2 AND c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, c, a2 OR c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, c, c AND a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT a2, c, c OR a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert 4.56 to boolean' + | - 'Type mismatch: can not convert real to boolean' | ... SELECT true + 2.3; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false + 2.3; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true - 2.3; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false - 2.3; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true * 2.3; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false * 2.3; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true / 2.3; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false / 2.3; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true % 2.3; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT false % 2.3; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 + true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 + false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 - true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 - false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 * true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 * false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 / true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 / false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 % true; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT 2.3 % false; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 + 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 - 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 * 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 / 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, a1 % 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2.3 + a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2.3 - a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2.3 * a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2.3 / a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, 2.3 % a1 FROM t6 | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 + 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 - 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 * 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 / 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, a2 % 2.3 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2.3 + a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2.3 - a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2.3 * a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2.3 / a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, 2.3 % a2 FROM t6 | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, true + c FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, false + c FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, true - c FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, false - c FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, true * c FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, false * c FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, true / c FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, false / c FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, true % c FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, false % c FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c + true FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c + false FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c - true FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c - false FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c * true FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c * false FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c / true FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c / false FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c % true FROM t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT c, c % false FROM t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, a1 + c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, a1 - c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, a1 * c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, a1 / c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, a1 % c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, c + a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, c - a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, c * a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, c / a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a1, c, c % a1 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert FALSE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, a2 + c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, a2 - c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, a2 * c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, a2 / c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, a2 % c FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, c + a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, c - a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, c * a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, c / a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT a2, c, c % a2 FROM t6, t8; | --- | - null - | - 'Type mismatch: can not convert TRUE to numeric' + | - 'Type mismatch: can not convert boolean to numeric' | ... SELECT true > 2.3; @@ -5090,7 +5090,7 @@ INSERT INTO t9 VALUES ('AsdF'); SELECT true AND 'abc'; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false AND 'abc'; | --- @@ -5103,17 +5103,17 @@ SELECT false AND 'abc'; SELECT true OR 'abc'; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false OR 'abc'; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'abc' AND true; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'abc' AND false; | --- @@ -5126,59 +5126,59 @@ SELECT 'abc' AND false; SELECT 'abc' OR true; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'abc' OR false; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 AND 'abc' FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 OR 'abc' FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'abc' AND a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'abc' OR a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 AND 'abc' FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 OR 'abc' FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'abc' AND a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'abc' OR a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert abc to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, true AND d FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false AND d FROM t9; | --- @@ -5193,17 +5193,17 @@ SELECT d, false AND d FROM t9; SELECT d, true OR d FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false OR d FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND true FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND false FROM t9; | --- @@ -5218,53 +5218,53 @@ SELECT d, d AND false FROM t9; SELECT d, d OR true FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d OR false FROM t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 AND d FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 OR d FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d AND a1 FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d OR a1 FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 AND d FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 OR d FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d AND a2 FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d OR a2 FROM t6, t9; | --- | - null - | - 'Type mismatch: can not convert AsdF to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT true > 'abc'; @@ -5465,7 +5465,7 @@ INSERT INTO t9 VALUES ('TRUE'), ('true'), ('FALSE'), ('false'); SELECT true AND 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false AND 'TRUE'; | --- @@ -5478,17 +5478,17 @@ SELECT false AND 'TRUE'; SELECT true OR 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false OR 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'TRUE' AND true; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'TRUE' AND false; | --- @@ -5501,59 +5501,59 @@ SELECT 'TRUE' AND false; SELECT 'TRUE' OR true; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'TRUE' OR false; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 AND 'TRUE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 OR 'TRUE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'TRUE' AND a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'TRUE' OR a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 AND 'TRUE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 OR 'TRUE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'TRUE' AND a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'TRUE' OR a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, true AND d FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false AND d FROM t9 WHERE d = 'TRUE'; | --- @@ -5568,17 +5568,17 @@ SELECT d, false AND d FROM t9 WHERE d = 'TRUE'; SELECT d, true OR d FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false OR d FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND true FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND false FROM t9 WHERE d = 'TRUE'; | --- @@ -5593,59 +5593,59 @@ SELECT d, d AND false FROM t9 WHERE d = 'TRUE'; SELECT d, d OR true FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d OR false FROM t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 AND d FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 OR d FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d AND a1 FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d OR a1 FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 AND d FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 OR d FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d AND a2 FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d OR a2 FROM t6, t9 WHERE d = 'TRUE'; | --- | - null - | - 'Type mismatch: can not convert TRUE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT true AND 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false AND 'true'; | --- @@ -5658,17 +5658,17 @@ SELECT false AND 'true'; SELECT true OR 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false OR 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'true' AND true; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'true' AND false; | --- @@ -5681,59 +5681,59 @@ SELECT 'true' AND false; SELECT 'true' OR true; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'true' OR false; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 AND 'true' FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 OR 'true' FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'true' AND a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'true' OR a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 AND 'true' FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 OR 'true' FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'true' AND a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'true' OR a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, true AND d FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false AND d FROM t9 WHERE d = 'true'; | --- @@ -5748,17 +5748,17 @@ SELECT d, false AND d FROM t9 WHERE d = 'true'; SELECT d, true OR d FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false OR d FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND true FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND false FROM t9 WHERE d = 'true'; | --- @@ -5773,59 +5773,59 @@ SELECT d, d AND false FROM t9 WHERE d = 'true'; SELECT d, d OR true FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d OR false FROM t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 AND d FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 OR d FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d AND a1 FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d OR a1 FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 AND d FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 OR d FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d AND a2 FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d OR a2 FROM t6, t9 WHERE d = 'true'; | --- | - null - | - 'Type mismatch: can not convert true to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT true AND 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false AND 'FALSE'; | --- @@ -5838,17 +5838,17 @@ SELECT false AND 'FALSE'; SELECT true OR 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false OR 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'FALSE' AND true; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'FALSE' AND false; | --- @@ -5861,59 +5861,59 @@ SELECT 'FALSE' AND false; SELECT 'FALSE' OR true; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'FALSE' OR false; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 AND 'FALSE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 OR 'FALSE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'FALSE' AND a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'FALSE' OR a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 AND 'FALSE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 OR 'FALSE' FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'FALSE' AND a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'FALSE' OR a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, true AND d FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false AND d FROM t9 WHERE d = 'FALSE'; | --- @@ -5928,17 +5928,17 @@ SELECT d, false AND d FROM t9 WHERE d = 'FALSE'; SELECT d, true OR d FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false OR d FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND true FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND false FROM t9 WHERE d = 'FALSE'; | --- @@ -5953,59 +5953,59 @@ SELECT d, d AND false FROM t9 WHERE d = 'FALSE'; SELECT d, d OR true FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d OR false FROM t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 AND d FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 OR d FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d AND a1 FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d OR a1 FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 AND d FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 OR d FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d AND a2 FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d OR a2 FROM t6, t9 WHERE d = 'FALSE'; | --- | - null - | - 'Type mismatch: can not convert FALSE to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT true AND 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false AND 'false'; | --- @@ -6018,17 +6018,17 @@ SELECT false AND 'false'; SELECT true OR 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT false OR 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'false' AND true; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'false' AND false; | --- @@ -6041,59 +6041,59 @@ SELECT 'false' AND false; SELECT 'false' OR true; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT 'false' OR false; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 AND 'false' FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, a1 OR 'false' FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'false' AND a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, 'false' OR a1 FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 AND 'false' FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, a2 OR 'false' FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'false' AND a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, 'false' OR a2 FROM t6; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, true AND d FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false AND d FROM t9 WHERE d = 'false'; | --- @@ -6108,17 +6108,17 @@ SELECT d, false AND d FROM t9 WHERE d = 'false'; SELECT d, true OR d FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, false OR d FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND true FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d AND false FROM t9 WHERE d = 'false'; | --- @@ -6133,53 +6133,53 @@ SELECT d, d AND false FROM t9 WHERE d = 'false'; SELECT d, d OR true FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT d, d OR false FROM t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 AND d FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, a1 OR d FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d AND a1 FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a1, d, d OR a1 FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 AND d FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, a2 OR d FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d AND a2 FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... SELECT a2, d, d OR a2 FROM t6, t9 WHERE d = 'false'; | --- | - null - | - 'Type mismatch: can not convert false to boolean' + | - 'Type mismatch: can not convert text to boolean' | ... -- Cleaning. diff --git a/test/sql/integer-overflow.result b/test/sql/integer-overflow.result index 6269cb547..f5b5a4156 100644 --- a/test/sql/integer-overflow.result +++ b/test/sql/integer-overflow.result @@ -106,7 +106,7 @@ box.execute('SELECT CAST(\'9223372036854775808\' AS INTEGER);') box.execute('SELECT CAST(\'18446744073709551616\' AS INTEGER);') --- - null -- 'Type mismatch: can not convert 18446744073709551616 to integer' +- 'Type mismatch: can not convert text to integer' ... -- Due to inexact represantation of large integers in terms of -- floating point numbers, numerics with value < UINT64_MAX @@ -117,7 +117,7 @@ box.execute('SELECT CAST(\'18446744073709551616\' AS INTEGER);') box.execute('SELECT CAST(18446744073709551600. AS INTEGER);') --- - null -- 'Type mismatch: can not convert 1.84467440737096e+19 to integer' +- 'Type mismatch: can not convert real to integer' ... -- gh-3810: make sure that if space contains integers in range -- [INT64_MAX, UINT64_MAX], they are handled inside SQL in a diff --git a/test/sql/types.result b/test/sql/types.result index 9099bcea4..53700bbad 100644 --- a/test/sql/types.result +++ b/test/sql/types.result @@ -270,7 +270,7 @@ box.space.T1:drop() box.execute("SELECT CAST('1.123' AS INTEGER);") --- - null -- 'Type mismatch: can not convert 1.123 to integer' +- 'Type mismatch: can not convert text to integer' ... box.execute("CREATE TABLE t1 (f TEXT PRIMARY KEY);") --- @@ -283,7 +283,7 @@ box.execute("INSERT INTO t1 VALUES('0.0'), ('1.5'), ('3.9312453');") box.execute("SELECT CAST(f AS INTEGER) FROM t1;") --- - null -- 'Type mismatch: can not convert 0.0 to integer' +- 'Type mismatch: can not convert text to integer' ... box.space.T1:drop() --- @@ -624,7 +624,7 @@ box.execute("SELECT 1 LIMIT 1 OFFSET 18446744073709551614;") box.execute("SELECT CAST('18446744073' || '709551616' AS INTEGER);") --- - null -- 'Type mismatch: can not convert 18446744073709551616 to integer' +- 'Type mismatch: can not convert text to integer' ... box.execute("SELECT CAST('18446744073' || '709551615' AS INTEGER);") --- @@ -1077,7 +1077,7 @@ box.execute("SELECT CAST(123 AS UNSIGNED);") box.execute("SELECT CAST(-123 AS UNSIGNED);") --- - null -- 'Type mismatch: can not convert -123 to unsigned' +- 'Type mismatch: can not convert integer to unsigned' ... box.execute("SELECT CAST(1.5 AS UNSIGNED);") --- @@ -1114,7 +1114,7 @@ box.execute("SELECT CAST('123' AS UNSIGNED);") box.execute("SELECT CAST('-123' AS UNSIGNED);") --- - null -- 'Type mismatch: can not convert -123 to unsigned' +- 'Type mismatch: can not convert text to unsigned' ... box.space.T1:drop() --- @@ -1444,17 +1444,17 @@ box.space.T1:drop() box.execute("SELECT CAST(1 AS VARBINARY);") --- - null -- 'Type mismatch: can not convert 1 to varbinary' +- 'Type mismatch: can not convert unsigned to varbinary' ... box.execute("SELECT CAST(1.123 AS VARBINARY);") --- - null -- 'Type mismatch: can not convert 1.123 to varbinary' +- 'Type mismatch: can not convert real to varbinary' ... box.execute("SELECT CAST(true AS VARBINARY);") --- - null -- 'Type mismatch: can not convert TRUE to varbinary' +- 'Type mismatch: can not convert boolean to varbinary' ... box.execute("SELECT CAST('asd' AS VARBINARY);") --- @@ -1710,12 +1710,12 @@ box.execute("SELECT CAST(1.123 AS DOUBLE);") box.execute("SELECT CAST(true AS DOUBLE);") --- - null -- 'Type mismatch: can not convert TRUE to double' +- 'Type mismatch: can not convert boolean to double' ... box.execute("SELECT CAST('asd' AS DOUBLE);") --- - null -- 'Type mismatch: can not convert asd to double' +- 'Type mismatch: can not convert text to double' ... box.execute("SELECT CAST('1' AS DOUBLE);") --- -- 2.25.1