Changeset: f79b80dcf069 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f79b80dcf069
Modified Files:
        monetdb5/mal/mal_exception.c
        sql/test/miscellaneous/Tests/simple_selects.sql
Branch: Oct2020
Log Message:

When creating a MAL exception, the first instruction may not exist yet. Also 
SQL identifiers may be too long for MAL identifiers :(


diffs (28 lines):

diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c
--- a/monetdb5/mal/mal_exception.c
+++ b/monetdb5/mal/mal_exception.c
@@ -163,8 +163,8 @@ static str __attribute__((__format__(__p
 createMalExceptionInternal(MalBlkPtr mb, int pc, enum malexception type, char 
*prev, const char *format, va_list ap)
 {
        bool addnl = false;
-       const char *s = mb ? getModName(mb) : "unknown";
-       const char *fcn = mb ? getFcnName(mb) : "unknown";
+       const char *s = mb && getInstrPtr(mb,0) ? getModName(mb) : "unknown";
+       const char *fcn = mb && getInstrPtr(mb,0) ? getFcnName(mb) : "unknown";
        size_t msglen;
 
        if (prev) {
diff --git a/sql/test/miscellaneous/Tests/simple_selects.sql 
b/sql/test/miscellaneous/Tests/simple_selects.sql
--- a/sql/test/miscellaneous/Tests/simple_selects.sql
+++ b/sql/test/miscellaneous/Tests/simple_selects.sql
@@ -232,4 +232,10 @@ start transaction;
 create function "😀"() returns int return 1;
 select "😀"();
        -- 1
+create function 
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"() returns 
int return 2;
+select "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"();
+       -- 2
+create function "😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀"() returns int return 3;
+select "😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀"();
+       -- 3
 rollback;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to