Changeset: 32f47f6685cb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=32f47f6685cb
Removed Files:
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.sql
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.err
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
Modified Files:
        monetdb5/mal/mal.c
        monetdb5/modules/atoms/inet.c
        sql/test/BugTracker-2009/Tests/All
Branch: default
Log Message:

Merge with Dec2016 branch.


diffs (truncated from 515 to 300 lines):

diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -151,6 +151,7 @@ void mserver_reset(int exit)
        GDKfree(mal_clients->prompt);
        GDKfree(mal_clients->username);
        freeStack(mal_clients->glb);
+       freeSymbol(mal_clients->curprg);
        mal_client_reset();
        mal_linker_reset();
        mal_resource_reset();
diff --git a/monetdb5/modules/atoms/inet.c b/monetdb5/modules/atoms/inet.c
--- a/monetdb5/modules/atoms/inet.c
+++ b/monetdb5/modules/atoms/inet.c
@@ -34,15 +34,30 @@
  *
  */
 typedef struct _inet {
-       unsigned char q1;
-       unsigned char q2;
-       unsigned char q3;
-       unsigned char q4;
-       unsigned char mask;
-       unsigned char filler1;
-       unsigned char filler2;
-       unsigned char isnil;
+       /* use a union to force alignment compatible with lng */
+       union {
+               struct {
+                       unsigned char _q1;
+                       unsigned char _q2;
+                       unsigned char _q3;
+                       unsigned char _q4;
+                       unsigned char _mask;
+                       unsigned char _filler1;
+                       unsigned char _filler2;
+                       unsigned char _isnil;
+               } s;
+               lng alignment;
+       } u;
 } inet;
+#define q1     u.s._q1
+#define q2     u.s._q2
+#define q3     u.s._q3
+#define q4     u.s._q4
+#define mask   u.s._mask
+#define filler1        u.s._filler1
+#define filler2        u.s._filler2
+#define isnil  u.s._isnil
+
 #ifdef WORDS_BIGENDIAN
 /* HACK ALERT: once upon a time, lng_nil was used as inet_nil, but on
  * big endian hardware, the byte that is not zero is on the other end;
@@ -72,7 +87,7 @@ mal_export str INET_comp_CSE(bit *retval
 mal_export str INETbroadcast(inet *retval, const inet *val);
 mal_export str INEThost(str *retval, const inet *val);
 mal_export str INETmasklen(int *retval, const inet *val);
-mal_export str INETsetmasklen(inet *retval, const inet *val, const int *mask);
+mal_export str INETsetmasklen(inet *retval, const inet *val, const int *msk);
 mal_export str INETnetmask(inet *retval, const inet *val);
 mal_export str INEThostmask(inet *retval, const inet *val);
 mal_export str INETnetwork(inet *retval, const inet *val);
@@ -82,7 +97,7 @@ mal_export str INET_inet(inet *d, const 
 mal_export str INET_fromstr(inet *ret, str *s);
 mal_export inet *INETnull(void);
 
-static inet inet_nil = {0,0,0,0,0,0,0,1};
+static inet inet_nil = {{{0,0,0,0,0,0,0,1}}};
 
 /**
  * Creates a new inet from the given string.
@@ -399,18 +414,18 @@ INET_comp_CW(bit *retval, const inet *va
                 * be contained within */
                *retval = 0;
        } else {
-               unsigned int mask;
+               unsigned int msk;
                unsigned char m[4];
 
                if (val2->mask > 0)
-                       mask = ~0U << (32 - val2->mask);
+                       msk = ~0U << (32 - val2->mask);
                else
-                       mask = 0;
+                       msk = 0;
 
-               m[0] = (mask >> 24) & 0xFF;
-               m[1] = (mask >> 16) & 0xFF;
-               m[2] = (mask >> 8) & 0xFF;
-               m[3] = mask & 0xFF;
+               m[0] = (msk >> 24) & 0xFF;
+               m[1] = (msk >> 16) & 0xFF;
+               m[2] = (msk >> 8) & 0xFF;
+               m[3] = msk & 0xFF;
 
                /* all operations here are done byte based, to avoid byte sex
                 * problems */
@@ -491,19 +506,19 @@ INETbroadcast(inet *retval, const inet *
 {
        *retval = *val;
        if (!in_isnil(val) && val->mask != 32) {
-               unsigned int mask;
+               unsigned int msk;
                unsigned char m[4];
 
                if (val->mask > 0)
-                       mask = ~0U << (32 - val->mask);
+                       msk = ~0U << (32 - val->mask);
                else
-                       mask = 0;
+                       msk = 0;
 
-               mask = ~mask;                   /* invert the mask */
-               m[0] = (mask >> 24) & 0xFF;
-               m[1] = (mask >> 16) & 0xFF;
-               m[2] = (mask >> 8) & 0xFF;
-               m[3] = mask & 0xFF;
+               msk = ~msk;                     /* invert the mask */
+               m[0] = (msk >> 24) & 0xFF;
+               m[1] = (msk >> 16) & 0xFF;
+               m[2] = (msk >> 8) & 0xFF;
+               m[3] = msk & 0xFF;
 
                /* if you want to see some bytes, remove this comment
                   fprintf(stderr, "%x %x %x %x => %x %x %x %x\n",
@@ -564,14 +579,14 @@ INETmasklen(int *retval, const inet *val
  * Set netmask length for inet value.
  */
 str
-INETsetmasklen(inet *retval, const inet *val, const int *mask)
+INETsetmasklen(inet *retval, const inet *val, const int *msk)
 {
-       if (*mask < 0 || *mask > 32)
-               throw(ILLARG, "inet.setmask", "Illegal netmask length value: 
%d", *mask);
+       if (*msk < 0 || *msk > 32)
+               throw(ILLARG, "inet.setmask", "Illegal netmask length value: 
%d", *msk);
 
        *retval = *val;
        if (!in_isnil(val))
-               retval->mask = *mask;
+               retval->mask = *msk;
 
        return (MAL_SUCCEED);
 }
@@ -583,18 +598,18 @@ INETnetmask(inet *retval, const inet *va
 {
        *retval = *val;
        if (!in_isnil(val)) {
-               unsigned int mask;
+               unsigned int msk;
                unsigned char m[4];
 
                if (val->mask > 0)
-                       mask = ~0U << (32 - val->mask);
+                       msk = ~0U << (32 - val->mask);
                else
-                       mask = 0;
+                       msk = 0;
 
-               m[0] = (mask >> 24) & 0xFF;
-               m[1] = (mask >> 16) & 0xFF;
-               m[2] = (mask >> 8) & 0xFF;
-               m[3] = mask & 0xFF;
+               m[0] = (msk >> 24) & 0xFF;
+               m[1] = (msk >> 16) & 0xFF;
+               m[2] = (msk >> 8) & 0xFF;
+               m[3] = msk & 0xFF;
 
                retval->q1 = m[0];
                retval->q2 = m[1];
@@ -644,18 +659,18 @@ INETnetwork(inet *retval, const inet *va
 {
        *retval = *val;
        if (!in_isnil(val)) {
-               unsigned int mask;
+               unsigned int msk;
                unsigned char m[4];
 
                if (val->mask > 0)
-                       mask = ~0U << (32 - val->mask);
+                       msk = ~0U << (32 - val->mask);
                else
-                       mask = 0;
+                       msk = 0;
 
-               m[0] = (mask >> 24) & 0xFF;
-               m[1] = (mask >> 16) & 0xFF;
-               m[2] = (mask >> 8) & 0xFF;
-               m[3] = mask & 0xFF;
+               m[0] = (msk >> 24) & 0xFF;
+               m[1] = (msk >> 16) & 0xFF;
+               m[2] = (msk >> 8) & 0xFF;
+               m[3] = msk & 0xFF;
 
                retval->q1 &= m[0];
                retval->q2 &= m[1];
@@ -707,27 +722,27 @@ INETabbrev(str *retval, const inet *val)
        if (in_isnil(val)) {
                *retval = GDKstrdup(str_nil);
        } else {
-               unsigned int mask;
+               unsigned int msk;
                unsigned char m[4];
 
                if (val->mask > 0)
-                       mask = ~0U << (32 - val->mask);
+                       msk = ~0U << (32 - val->mask);
                else
-                       mask = 0;
-               mask = ~mask;                   /* invert the mask */
+                       msk = 0;
+               msk = ~msk;                     /* invert the mask */
 
-               m[0] = (mask >> 24) & 0xFF;
-               m[1] = (mask >> 16) & 0xFF;
-               m[2] = (mask >> 8) & 0xFF;
-               m[3] = mask & 0xFF;
+               m[0] = (msk >> 24) & 0xFF;
+               m[1] = (msk >> 16) & 0xFF;
+               m[2] = (msk >> 8) & 0xFF;
+               m[3] = msk & 0xFF;
 
                if ((val->q1 & m[0]) != 0 ||
                        (val->q2 & m[1]) != 0 ||
                        (val->q3 & m[2]) != 0 ||
                        (val->q4 & m[3]) != 0) {
-                       mask = 32;
+                       msk = 32;
                } else {
-                       mask = val->mask;
+                       msk = val->mask;
                }
 
                /* example: (hex notation)
@@ -740,16 +755,16 @@ INETabbrev(str *retval, const inet *val)
 
                ip = GDKmalloc(sizeof(char) * 19);
 
-               if (mask > 24) {
+               if (msk > 24) {
                        snprintf(ip, sizeof(char) * 19, "%d.%d.%d.%d/%d",
                                         val->q1, val->q2, val->q3, val->q4, 
val->mask);
-               } else if (mask > 16) {
+               } else if (msk > 16) {
                        snprintf(ip, sizeof(char) * 19, "%d.%d.%d/%d",
                                         val->q1, val->q2, val->q3, val->mask);
-               } else if (mask > 8) {
+               } else if (msk > 8) {
                        snprintf(ip, sizeof(char) * 19, "%d.%d/%d",
                                         val->q1, val->q2, val->mask);
-               } else if (mask > 0) {
+               } else if (msk > 0) {
                        snprintf(ip, sizeof(char) * 19, "%d/%d", val->q1, 
val->mask);
                } else {
                        snprintf(ip, sizeof(char) * 19, "/0");
diff --git a/sql/test/BugTracker-2009/Tests/All 
b/sql/test/BugTracker-2009/Tests/All
--- a/sql/test/BugTracker-2009/Tests/All
+++ b/sql/test/BugTracker-2009/Tests/All
@@ -46,7 +46,6 @@ insert_order_by.SF-2658243
 not_equal.SF-2678502
 TribooleanFailureWithSubquery.SF-2679434
 nullstr.SF-2704016
-POWER_vs_prod.SF-2596114
 parallel_bulk-load.SF-2771052.unpack_csv
 parallel_bulk-load.SF-2771052.test
 parallel_bulk-load.SF-2771052.clean
diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.sql 
b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.sql
deleted file mode 100644
--- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.sql
+++ /dev/null
@@ -1,6 +0,0 @@
--- disable parallelism (mitosis & dataflow) to avoid ambiguous results 
-set optimizer='sequential_pipe';
-create table SF_2596114 (x double);
-explain select power(x,2) from SF_2596114;
-explain select x*x from SF_2596114;
-drop table SF_2596114;
diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.err 
b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.err
deleted file mode 100644
--- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.err
+++ /dev/null
@@ -1,85 +0,0 @@
-stderr of test 'POWER_vs_prod.SF-2596114` in directory 
'sql/test/BugTracker-2009` itself:
-
-
-# 23:02:29 >  
-# 23:02:29 >   mserver5 
"--config=/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/etc/monetdb5.conf"
 --debug=10 --set gdk_nr_threads=0 --set 
"monet_mod_path=/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/lib64/MonetDB5:/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/lib64/MonetDB5/lib:/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/lib64/MonetDB5/bin"
 --set 
"gdk_dbfarm=/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/var/MonetDB5/dbfarm"
 --set 
"sql_logdir=/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/var/MonetDB5/sql_logs"
   --set mapi_open=true --set xrpc_open=t
 rue --set mapi_port=33742 --set xrpc_port=44239 --set monet_prompt= --trace  
"--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit= 
include sql;" ; echo ; echo Over..
-# 23:02:29 >  
-
-# builtin opt  gdk_arch = 64bitx86_64-unknown-linux-gnu
-# builtin opt  gdk_version = 1.28.0
-# builtin opt  monet_pid = 5087
-# builtin opt  prefix = 
/ufs/manegold/_/scratch0/Monet/Testing/Stable/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert
-# builtin opt  exec_prefix = ${prefix}
-# builtin opt  gdk_dbname = tst
-# builtin opt  gdk_dbfarm = ${prefix}/var/MonetDB
-# builtin opt  gdk_debug = 8
-# builtin opt  gdk_mem_bigsize = 262144
-# builtin opt  gdk_alloc_map = yes
-# builtin opt  gdk_mem_pagebits = 14
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to