Changeset: 445de75f570a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=445de75f570a
Added Files:
        sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.sql
        sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.err
        sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.out
Modified Files:
        monetdb5/modules/atoms/uuid.c
        sql/test/BugTracker-2020/Tests/All
Branch: Jun2020
Log Message:

Test and fix for bug 6935.


diffs (123 lines):

diff --git a/monetdb5/modules/atoms/uuid.c b/monetdb5/modules/atoms/uuid.c
--- a/monetdb5/modules/atoms/uuid.c
+++ b/monetdb5/modules/atoms/uuid.c
@@ -181,6 +181,8 @@ UUIDfromString(const char *svalue, size_
                s++;
                j++;
        }
+       if (*s != 0)
+               goto bailout;
        **retval = u;
        return (ssize_t) (s - svalue);
 
diff --git a/sql/test/BugTracker-2020/Tests/All 
b/sql/test/BugTracker-2020/Tests/All
--- a/sql/test/BugTracker-2020/Tests/All
+++ b/sql/test/BugTracker-2020/Tests/All
@@ -13,3 +13,4 @@ HAVE_PYMONETDB?global_table_propagation.
 ilike-matches.Bug-6864
 select-and.Bug-6878
 copy-decimal-with-space.Bug-6917
+isauuid.Bug-6935
diff --git a/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.sql 
b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.sql
@@ -0,0 +1,11 @@
+select sys.isauuid('e31960fb-dc8b-452d-ab30-b342723e7565XYZ') as fals;
+select sys.isauuid('e31960fbdc8b452dab30b342723e7565XYZ') as fals;
+select sys.isauuid('00000000-0000-0000-0000-000000000000XYZ') as fals;
+select sys.isauuid('FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFXYZ') as fals;
+select sys.isauuid('00000000000000000000000000000000XYZ') as fals;
+select sys.isauuid('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFXYZ') as fals;
+select sys.isauuid('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!') as fals;
+
+select cast('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!' as uuid) as uuid_val;
+select convert('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!', uuid) as uuid_val;
+select uuid 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!' as uuid_val;
diff --git a/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.err 
b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.err
@@ -0,0 +1,23 @@
+stderr of test 'isauuid.Bug-6935` in directory 'sql/test/BugTracker-2020` 
itself:
+
+
+# 16:43:52 >  
+# 16:43:52 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-2494954" "--port=32694"
+# 16:43:52 >  
+
+MAPI  = (monetdb) /var/tmp/mtest-2522315/.s.monetdb.36844
+QUERY = select cast('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!' as uuid) as 
uuid_val;
+ERROR = !Not a UUID
+MAPI  = (monetdb) /var/tmp/mtest-2522315/.s.monetdb.36844
+QUERY = select convert('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!', uuid) as 
uuid_val;
+ERROR = !Not a UUID
+MAPI  = (monetdb) /var/tmp/mtest-2584095/.s.monetdb.33520
+QUERY = select uuid 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!' as uuid_val;
+ERROR = !type (uuid) unknown in: "select uuid 
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!' as"
+        !syntax error, unexpected IDENT in: "uuid_val"
+CODE  = 22000
+
+# 16:43:52 >  
+# 16:43:52 >  "Done."
+# 16:43:52 >  
+
diff --git a/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.out 
b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2020/Tests/isauuid.Bug-6935.stable.out
@@ -0,0 +1,54 @@
+stdout of test 'isauuid.Bug-6935` in directory 'sql/test/BugTracker-2020` 
itself:
+
+
+# 16:43:52 >  
+# 16:43:52 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-2494954" "--port=32694"
+# 16:43:52 >  
+
+#select sys.isauuid('e31960fb-dc8b-452d-ab30-b342723e7565XYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('e31960fbdc8b452dab30b342723e7565XYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('00000000-0000-0000-0000-000000000000XYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFXYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('00000000000000000000000000000000XYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFXYZ') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+#select sys.isauuid('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF %$#@!') as fals;
+% . # table_name
+% fals # name
+% boolean # type
+% 5 # length
+[ false        ]
+
+# 16:43:52 >  
+# 16:43:52 >  "Done."
+# 16:43:52 >  
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to