Changeset: e5772ae8a5d6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e5772ae8a5d6
Modified Files:
sql/backends/monet5/sql_cast.c
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
Branch: Jun2016
Log Message:
Use correct type for comparison.
diffs (168 lines):
diff --git a/sql/backends/monet5/sql_cast.c b/sql/backends/monet5/sql_cast.c
--- a/sql/backends/monet5/sql_cast.c
+++ b/sql/backends/monet5/sql_cast.c
@@ -397,7 +397,7 @@ SQLstr_cast_(str *res, mvc *m, int eclas
if ((len > 0 && sz > len) || sz < 0) {
if (r)
GDKfree(r);
- if (ATOMcmp(TYPE_str, ATOMnilptr(TYPE_str), p) != 0) {
+ if (ATOMcmp(tpe, ATOMnilptr(tpe), p) != 0) {
throw(SQL, "str_cast", "22001!value too long for type
(var)char(%d)", len);
} else {
r = GDKstrdup(str_nil);
diff --git
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
--- a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
+++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err
@@ -1380,7 +1380,10 @@ MAPI = (monetdb) /var/tmp/mtest-13167/.
QUERY = SELECT v, convert(v, varchar) from T_dec; -- missing length
specification
ERROR = !CHARACTER VARYING needs a mandatory length specification in: "select
v, convert(v, varchar)"
!syntax error, unexpected FROM in: "from"
-MAPI = (monetdb) /var/tmp/mtest-10564/.s.monetdb.32160
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
+QUERY = SELECT v, convert(v, varchar(16)) from T_dec;
+ERROR = !value too long for type (var)char(16)
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
QUERY = SELECT v, convert(v, longvarchar) from T_dec; -- LONGVARCHAR not valid
data type
ERROR = !type (longvarchar) unknown in: "select v, convert(v, longvarchar)"
!syntax error, unexpected FROM in: "from"
@@ -1441,7 +1444,10 @@ MAPI = (monetdb) /var/tmp/mtest-13167/.
QUERY = SELECT v, cast(v as varchar) from T_dec; -- missing length
specification
ERROR = !CHARACTER VARYING needs a mandatory length specification in: "select
v, cast(v as varchar)"
!syntax error, unexpected FROM in: "from"
-MAPI = (monetdb) /var/tmp/mtest-10564/.s.monetdb.32160
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
+QUERY = SELECT v, cast(v as varchar(16)) from T_dec;
+ERROR = !value too long for type (var)char(16)
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
QUERY = SELECT v, cast(v as longvarchar) from T_dec; -- LONGVARCHAR not valid
data type
ERROR = !type (longvarchar) unknown in: "select v, cast(v as longvarchar)"
!syntax error, unexpected FROM in: "from"
diff --git
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
---
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
+++
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
@@ -1302,7 +1302,10 @@ MAPI = (monetdb) /var/tmp/mtest-13167/.
QUERY = SELECT v, convert(v, varchar) from T_dec; -- missing length
specification
ERROR = !CHARACTER VARYING needs a mandatory length specification in: "select
v, convert(v, varchar)"
!syntax error, unexpected FROM in: "from"
-MAPI = (monetdb) /var/tmp/mtest-10564/.s.monetdb.32160
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
+QUERY = SELECT v, convert(v, varchar(16)) from T_dec;
+ERROR = !value too long for type (var)char(16)
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
QUERY = SELECT v, convert(v, longvarchar) from T_dec; -- LONGVARCHAR not valid
data type
ERROR = !type (longvarchar) unknown in: "select v, convert(v, longvarchar)"
!syntax error, unexpected FROM in: "from"
@@ -1359,7 +1362,10 @@ MAPI = (monetdb) /var/tmp/mtest-13167/.
QUERY = SELECT v, cast(v as varchar) from T_dec; -- missing length
specification
ERROR = !CHARACTER VARYING needs a mandatory length specification in: "select
v, cast(v as varchar)"
!syntax error, unexpected FROM in: "from"
-MAPI = (monetdb) /var/tmp/mtest-10564/.s.monetdb.32160
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
+QUERY = SELECT v, cast(v as varchar(16)) from T_dec;
+ERROR = !value too long for type (var)char(16)
+MAPI = (monetdb) /var/tmp/mtest-26956/.s.monetdb.37342
QUERY = SELECT v, cast(v as longvarchar) from T_dec; -- LONGVARCHAR not valid
data type
ERROR = !type (longvarchar) unknown in: "select v, cast(v as longvarchar)"
!syntax error, unexpected FROM in: "from"
diff --git
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
--- a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
+++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
@@ -5180,23 +5180,6 @@ Ready.
[ 0.1200000, 0.120 ]
[ -3.1415629, -3.142 ]
[ NULL, NULL ]
-#SELECT v, convert(v, varchar(16)) from T_dec;
-% sys.t_dec, sys.L1 # table_name
-% v, L1 # name
-% decimal, varchar # type
-% 19, 14 # length
-[ 1.0000000, "1.0000000" ]
-[ 0.0000000, "0.0000000" ]
-[ -1.0000000, "-1.0000000" ]
-[ -127.0000000, "-127.0000000" ]
-[ 127.0000000, "127.0000000" ]
-[ -32767.0000000, "-32767.0000000" ]
-[ 32767.0000000, "32767.0000000" ]
-[ -2147483647.0000000, NULL ]
-[ 2147483647.0000000, NULL ]
-[ 0.1200000, "0.1200000" ]
-[ -3.1415629, "-3.1415629" ]
-[ NULL, NULL ]
#SELECT v, convert(v, CHARACTER LARGE OBJECT) from T_dec;
% sys.t_dec, sys.L1 # table_name
% v, L1 # name
@@ -5478,23 +5461,6 @@ Ready.
[ 0.1200000, 0.120 ]
[ -3.1415629, -3.142 ]
[ NULL, NULL ]
-#SELECT v, cast(v as varchar(16)) from T_dec;
-% sys.t_dec, sys.L1 # table_name
-% v, L1 # name
-% decimal, varchar # type
-% 19, 14 # length
-[ 1.0000000, "1.0000000" ]
-[ 0.0000000, "0.0000000" ]
-[ -1.0000000, "-1.0000000" ]
-[ -127.0000000, "-127.0000000" ]
-[ 127.0000000, "127.0000000" ]
-[ -32767.0000000, "-32767.0000000" ]
-[ 32767.0000000, "32767.0000000" ]
-[ -2147483647.0000000, NULL ]
-[ 2147483647.0000000, NULL ]
-[ 0.1200000, "0.1200000" ]
-[ -3.1415629, "-3.1415629" ]
-[ NULL, NULL ]
#SELECT v, cast(v as CHARACTER LARGE OBJECT) from T_dec;
% sys.t_dec, sys.L1 # table_name
% v, L1 # name
diff --git
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
---
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
+++
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
@@ -5461,23 +5461,6 @@ Ready.
[ 0.1200000, 0.120 ]
[ -3.1415629, -3.142 ]
[ NULL, NULL ]
-#SELECT v, convert(v, varchar(16)) from T_dec;
-% sys.t_dec, sys.L1 # table_name
-% v, L1 # name
-% decimal, varchar # type
-% 19, 14 # length
-[ 1.0000000, "1.0000000" ]
-[ 0.0000000, "0.0000000" ]
-[ -1.0000000, "-1.0000000" ]
-[ -127.0000000, "-127.0000000" ]
-[ 127.0000000, "127.0000000" ]
-[ -32767.0000000, "-32767.0000000" ]
-[ 32767.0000000, "32767.0000000" ]
-[ -2147483647.0000000, NULL ]
-[ 2147483647.0000000, NULL ]
-[ 0.1200000, "0.1200000" ]
-[ -3.1415629, "-3.1415629" ]
-[ NULL, NULL ]
#SELECT v, convert(v, CHARACTER LARGE OBJECT) from T_dec;
% sys.t_dec, sys.L1 # table_name
% v, L1 # name
@@ -5776,23 +5759,6 @@ Ready.
[ 0.1200000, 0.120 ]
[ -3.1415629, -3.142 ]
[ NULL, NULL ]
-#SELECT v, cast(v as varchar(16)) from T_dec;
-% sys.t_dec, sys.L1 # table_name
-% v, L1 # name
-% decimal, varchar # type
-% 19, 14 # length
-[ 1.0000000, "1.0000000" ]
-[ 0.0000000, "0.0000000" ]
-[ -1.0000000, "-1.0000000" ]
-[ -127.0000000, "-127.0000000" ]
-[ 127.0000000, "127.0000000" ]
-[ -32767.0000000, "-32767.0000000" ]
-[ 32767.0000000, "32767.0000000" ]
-[ -2147483647.0000000, NULL ]
-[ 2147483647.0000000, NULL ]
-[ 0.1200000, "0.1200000" ]
-[ -3.1415629, "-3.1415629" ]
-[ NULL, NULL ]
#SELECT v, cast(v as CHARACTER LARGE OBJECT) from T_dec;
% sys.t_dec, sys.L1 # table_name
% v, L1 # name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list