Changeset: 322e6e2db062 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=322e6e2db062
Modified Files:
        sql/backends/monet5/sql_assert.c
Branch: Jul2017
Log Message:

Prettify and deduplicate.


diffs (127 lines):

diff --git a/sql/backends/monet5/sql_assert.c b/sql/backends/monet5/sql_assert.c
--- a/sql/backends/monet5/sql_assert.c
+++ b/sql/backends/monet5/sql_assert.c
@@ -32,87 +32,64 @@
  * raises an exception. An debugger dump is generated upon request
  * to ease debugging.
  */
-str
-SQLassert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+static str
+do_SQLassert(int flg, const char *msg)
 {
-       bit *flg = getArgReference_bit(stk, pci, 1);
-       str *msg = getArgReference_str(stk, pci, 2);
-       (void) cntxt;
-       (void) mb;
-       if (*flg) {
+       if (flg) {
                const char *sqlstate = "M0M29!";
-               /* mdbDump(mb,stk,pci); */
-               if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
-                   (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
-                                                                               
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
+
+               if (strlen(msg) > 6 &&
+                   msg[5] == '!' &&
+                   (('0' <= msg[0] && msg[0] <= '9') ||
+                    ('A' <= msg[0] && msg[0] <= 'Z')) &&
+                   (('0' <= msg[1] && msg[1] <= '9') ||
+                    ('A' <= msg[1] && msg[1] <= 'Z')) &&
+                   (('0' <= msg[2] && msg[2] <= '9') ||
+                    ('A' <= msg[2] && msg[2] <= 'Z')) &&
+                   (('0' <= msg[3] && msg[3] <= '9') ||
+                    ('A' <= msg[3] && msg[3] <= 'Z')) &&
+                   (('0' <= msg[4] && msg[4] <= '9') ||
+                    ('A' <= msg[4] && msg[4] <= 'Z')))
                        sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
+               throw(SQL, "assert", "%s%s", sqlstate, msg);
        }
        return MAL_SUCCEED;
 }
 
 str
-SQLassertInt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+SQLassert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       int *flg = getArgReference_int(stk, pci, 1);
-       str *msg = getArgReference_str(stk, pci, 2);
        (void) cntxt;
        (void) mb;
-       if (*flg) {
-               const char *sqlstate = "M0M29!";
-               /* mdbDump(mb,stk,pci); */
-               if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
-                   (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
-                                                                               
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
-                       sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
-       }
-       return MAL_SUCCEED;
+       return do_SQLassert(*getArgReference_bit(stk, pci, 1) != 0,
+                           *getArgReference_str(stk, pci, 2));
+}
+
+str
+SQLassertInt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+       (void) cntxt;
+       (void) mb;
+       return do_SQLassert(*getArgReference_int(stk, pci, 1) != 0,
+                           *getArgReference_str(stk, pci, 2));
 }
 
 str
 SQLassertLng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       lng *flg = getArgReference_lng(stk, pci, 1);
-       str *msg = getArgReference_str(stk, pci, 2);
        (void) cntxt;
        (void) mb;
-       if (*flg) {
-               const char *sqlstate = "M0M29!";
-               /* mdbDump(mb,stk,pci); */
-               if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
-                   (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
-                                                                               
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
-                       sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
-       }
-       return MAL_SUCCEED;
+       return do_SQLassert(*getArgReference_lng(stk, pci, 1) != 0,
+                           *getArgReference_str(stk, pci, 2));
 }
 
 #ifdef HAVE_HGE
 str
-SQLassertHge(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){
-       hge *flg = getArgReference_hge(stk,pci, 1);
-       str *msg = getArgReference_str(stk,pci, 2);
+SQLassertHge(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
        (void) cntxt;
-       (void)mb;
-       if (*flg){
-               const char *sqlstate = "M0M29!";
-               /* mdbDump(mb,stk,pci);*/
-               if (strlen(*msg) > 6 && (*msg)[5] == '!' &&
-                   (('0' <= (*msg)[0] && (*msg)[0] <= '9') ||
-                    ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) &&
-                   (('0' <= (*msg)[1] && (*msg)[1] <= '9') ||
-                    ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
-                   (('0' <= (*msg)[2] && (*msg)[2] <= '9') ||
-                    ('A' <= (*msg)[2] && (*msg)[2] <= 'Z')) &&
-                   (('0' <= (*msg)[3] && (*msg)[3] <= '9') ||
-                    ('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) &&
-                   (('0' <= (*msg)[4] && (*msg)[4] <= '9') ||
-                    ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
-                       sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
-       }
-       return MAL_SUCCEED;
+       (void) mb;
+       return do_SQLassert(*getArgReference_hge(stk, pci, 1) != 0,
+                           *getArgReference_str(stk, pci, 2));
 }
 #endif
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to