Changeset: 7c2d2c4f3b9d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7c2d2c4f3b9d
Modified Files:
        debian/control
        gdk/gdk_align.c
        gdk/gdk_batop.c
        gdk/gdk_calc_private.h
        gdk/gdk_logger.c
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_string.c
        gdk/gdk_utils.c
        monetdb5/modules/atoms/str.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/include/sql_relation.h
        sql/server/rel_updates.c
        sql/server/sql_parser.y
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
Branch: default
Log Message:

merged with default


diffs (truncated from 338 to 300 lines):

diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,8 @@ X-Python-Version: >= 2.6
 
 Package: libmonetdb25
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-stream25 (= ${source:Version})
 Conflicts: libmonetdb5-server-geom (<< ${source:Version})
 Description: MonetDB core library
  MonetDB is a database management system that is developed from a
@@ -34,7 +35,8 @@ Description: MonetDB core library
 Package: libmonetdb-dev
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
- libmonetdb25, libmonetdb-stream-dev
+ libmonetdb25 (= ${source:Version}),
+ libmonetdb-stream-dev (= ${source:Version})
 Description: MonetDB development files
  MonetDB is a database management system that is developed from a
  main-memory perspective with use of a fully decomposed storage model,
@@ -71,7 +73,8 @@ Description: MonetDB stream library deve
 
 Package: libmonetdb-client25
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-stream25 (= ${source:Version})
 Description: MonetDB client/server interface library
  MonetDB is a database management system that is developed from a
  main-memory perspective with use of a fully decomposed storage model,
@@ -96,7 +99,9 @@ Description: MonetDB client/server inter
 
 Package: monetdb-client
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-client25 (= ${source:Version}),
+ libmonetdb-stream25 (= ${source:Version})
 Recommends: monetdb5-sql (= ${source:Version}),
  monetdb5-server (= ${source:Version})
 Description: MonetDB database client
@@ -112,7 +117,8 @@ Description: MonetDB database client
 
 Package: libmonetdb-client-odbc
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, odbcinst
+Depends: ${shlibs:Depends}, ${misc:Depends}, odbcinst,
+ libmonetdb-client25 (= ${source:Version})
 Description: MonetDB ODBC driver
  MonetDB is a database management system that is developed from a
  main-memory perspective with use of a fully decomposed storage model,
@@ -124,6 +130,9 @@ Description: MonetDB ODBC driver
 Package: monetdb-client-testing
 Architecture: any
 Depends: ${shlibs:Depends}, libmonetdb-client-odbc (= ${source:Version}),
+ libmonetdb-client25 (= ${source:Version}),
+ libmonetdb-stream25 (= ${source:Version}),
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version}),
  libdbd-monetdb-perl (>= 1.0),
  php-monetdb (>= 1.0),
@@ -143,6 +152,8 @@ Package: libmonetdb5-server-geom
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-stream25 (= ${source:Version}),
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version})
 Description: MonetDB5 SQL GIS support module
  MonetDB is a database management system that is developed from a
@@ -157,6 +168,7 @@ Package: libmonetdb5-server-cfitsio
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version})
 Description: MonetDB5 add on module for FITS files
  MonetDB is a database management system that is developed from a
@@ -169,7 +181,10 @@ Description: MonetDB5 add on module for 
 
 Package: monetdb5-server
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, adduser
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser,
+ libmonetdb-client25 (= ${source:Version}),
+ libmonetdb-stream25 (= ${source:Version}),
+ libmonetdb25 (= ${source:Version}),
 Recommends: monetdb5-sql (= ${source:Version})
 Suggests: monetdb-client (= ${source:Version})
 Conflicts: monetdb5-server-hugeint (<< 11.38.0),
@@ -202,6 +217,8 @@ Description: MonetDB database server ver
 Package: monetdb5-sql
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-client25 (= ${source:Version}),
+ libmonetdb-stream25 (= ${source:Version}),
  monetdb5-server (= ${source:Version})
 Conflicts: monetdb5-sql-hugeint (<< 11.38.0)
 Replaces: monetdb5-sql-hugeint (<< 11.38.0)
@@ -231,6 +248,7 @@ Description: MonetDB SQL support for mon
 Package: monetdb-python3
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version}), python3-numpy
 Description: Integration of MonetDB and Python, allowing use of Python from 
within SQL
  MonetDB is a database management system that is developed from a
@@ -248,6 +266,7 @@ Description: Integration of MonetDB and 
 Package: monetdb-r
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version}), r-base-core
 Description: Integration of MonetDB and R, allowing use of R from within SQL
  MonetDB is a database management system that is developed from a
@@ -264,7 +283,9 @@ Description: Integration of MonetDB and 
 
 Package: libmonetdbe25
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libmonetdb-stream25 (= ${source:Version}),
+ libmonetdb25 (= ${source:Version}),
  monetdb5-server (= ${source:Version})
 Description: MonetDB as an embedded library
  MonetDB is a database management system that is developed from a
@@ -292,6 +313,7 @@ Description: MonetDB development files
 Package: monetdb-embedded-testing
 Architecture: any
 Depends: ${shlibs:Depends},
+ libmonetdbe25 (= ${source:Version}),
  libmonetdbe (= ${source:Version})
 Description: MonetDB embedded testing tools
  MonetDB is a database management system that is developed from a
diff --git a/gdk/gdk_calc_private.h b/gdk/gdk_calc_private.h
--- a/gdk/gdk_calc_private.h
+++ b/gdk/gdk_calc_private.h
@@ -155,7 +155,7 @@
 #define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow)                  \
        MULI4_WITH_CHECK(lft, rgt, lng, dst, max, hge, on_overflow)
 #else
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_M_AMD64)
 #include <intrin.h>
 #pragma intrinsic(_mul128)
 #define LNGMUL_CHECK(lft, rgt, dst, max, on_overflow)                  \
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -4263,13 +4263,11 @@ rel2bin_insert(backend *be, sql_rel *rel
        mvc *sql = be->mvc;
        list *l;
        stmt *inserts = NULL, *insert = NULL, *ddl = NULL, *pin = NULL, 
**updates, *ret = NULL, *cnt = NULL, *pos = NULL;
-       int idx_ins = 0, constraint = 1, len = 0;
+       int idx_ins = 0, len = 0;
        node *n, *m, *idx_m = NULL;
        sql_rel *tr = rel->l, *prel = rel->r;
        sql_table *t = NULL;
 
-       if ((rel->flag&UPD_NO_CONSTRAINT))
-               constraint = 0;
        if ((rel->flag&UPD_COMP)) {  /* special case ! */
                idx_ins = 1;
                prel = rel->l;
@@ -4297,7 +4295,7 @@ rel2bin_insert(backend *be, sql_rel *rel
        if (idx_ins)
                pin = refs_find_rel(refs, prel);
 
-       if (constraint && !sql_insert_check_null(be, t, inserts->op4.lval))
+       if (!sql_insert_check_null(be, t, inserts->op4.lval))
                return NULL;
 
        l = sa_list(sql->sa);
@@ -4331,7 +4329,7 @@ rel2bin_insert(backend *be, sql_rel *rel
                                continue;
                        if (hash_index(i->type) && list_length(i->columns) <= 1)
                                is = NULL;
-                       if (i->key && constraint) {
+                       if (i->key) {
                                stmt *ckeys = sql_insert_key(be, 
inserts->op4.lval, i->key, is, pin);
 
                                list_append(l, ckeys);
diff --git a/sql/include/sql_relation.h b/sql/include/sql_relation.h
--- a/sql/include/sql_relation.h
+++ b/sql/include/sql_relation.h
@@ -74,7 +74,6 @@ typedef struct expression {
 
 /* or-ed with the above TABLE_PROD_FUNC */
 #define UPD_COMP               2
-#define UPD_NO_CONSTRAINT      4
 
 #define LEFT_JOIN              4
 #define REL_PARTITION          8
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -1543,7 +1543,7 @@ rel_import(mvc *sql, sql_table *t, const
 }
 
 static sql_rel *
-copyfrom(sql_query *query, dlist *qname, dlist *columns, dlist *files, dlist 
*headers, dlist *seps, dlist *nr_offset, str null_string, int best_effort, int 
constraint, dlist *fwf_widths, int onclient, int escape)
+copyfrom(sql_query *query, dlist *qname, dlist *columns, dlist *files, dlist 
*headers, dlist *seps, dlist *nr_offset, str null_string, int best_effort, 
dlist *fwf_widths, int onclient, int escape)
 {
        mvc *sql = query->sql;
        sql_rel *rel = NULL;
@@ -1727,13 +1727,11 @@ copyfrom(sql_query *query, dlist *qname,
                        return NULL;
        }
        rel = rel_insert_table(query, t, tname, rel);
-       if (rel && !constraint)
-               rel->flag |= UPD_NO_CONSTRAINT;
        return rel;
 }
 
 static sql_rel *
-bincopyfrom(sql_query *query, dlist *qname, dlist *columns, dlist *files, int 
constraint, int onclient, endianness endian)
+bincopyfrom(sql_query *query, dlist *qname, dlist *columns, dlist *files, int 
onclient, endianness endian)
 {
        mvc *sql = query->sql;
        char *sname = qname_schema(qname);
@@ -1809,8 +1807,6 @@ bincopyfrom(sql_query *query, dlist *qna
        }
        res = rel_table_func(sql->sa, NULL, import, exps, TABLE_PROD_FUNC);
        res = rel_insert_table(query, t, t->base.name, res);
-       if (res && !constraint)
-               res->flag |= UPD_NO_CONSTRAINT;
        return res;
 }
 
@@ -2028,10 +2024,9 @@ rel_updates(sql_query *query, symbol *s)
                                l->h->next->next->next->next->next->data.lval,
                                
l->h->next->next->next->next->next->next->data.sval,
                                
l->h->next->next->next->next->next->next->next->data.i_val,
-                               
l->h->next->next->next->next->next->next->next->next->data.i_val,
-                               
l->h->next->next->next->next->next->next->next->next->next->data.lval,
-                               
l->h->next->next->next->next->next->next->next->next->next->next->data.i_val,
-                               
l->h->next->next->next->next->next->next->next->next->next->next->next->data.i_val);
+                               
l->h->next->next->next->next->next->next->next->next->data.lval,
+                               
l->h->next->next->next->next->next->next->next->next->next->data.i_val,
+                               
l->h->next->next->next->next->next->next->next->next->next->next->data.i_val);
                sql->type = Q_UPDATE;
        }
                break;
@@ -2039,7 +2034,7 @@ rel_updates(sql_query *query, symbol *s)
        {
                dlist *l = s->data.lval;
 
-               ret = bincopyfrom(query, l->h->data.lval, 
l->h->next->data.lval, l->h->next->next->data.lval, 
l->h->next->next->next->data.i_val, l->h->next->next->next->next->data.i_val, 
(endianness) l->h->next->next->next->next->next->data.i_val);
+               ret = bincopyfrom(query, l->h->data.lval, 
l->h->next->data.lval, l->h->next->next->data.lval, 
l->h->next->next->next->data.i_val, (endianness) 
l->h->next->next->next->next->data.i_val);
                sql->type = Q_UPDATE;
        }
                break;
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -594,7 +594,6 @@ int yydebug=1;
        opt_best_effort
        opt_brackets
        opt_chain
-       opt_constraint
        opt_distinct
        opt_escape
        opt_grant_for
@@ -2747,7 +2746,7 @@ opt_on_location:
   ;
 
 copyfrom_stmt:
-    COPY opt_nr INTO qname opt_column_list FROM string_commalist 
opt_header_list opt_on_location opt_seps opt_escape opt_null_string 
opt_best_effort opt_constraint opt_fwf_widths
+    COPY opt_nr INTO qname opt_column_list FROM string_commalist 
opt_header_list opt_on_location opt_seps opt_escape opt_null_string 
opt_best_effort opt_fwf_widths
        { dlist *l = L();
          append_list(l, $4);
          append_list(l, $5);
@@ -2757,12 +2756,11 @@ copyfrom_stmt:
          append_list(l, $2);
          append_string(l, $12);
          append_int(l, $13);
-         append_int(l, $14);
-         append_list(l, $15);
+         append_list(l, $14);
          append_int(l, $9);
          append_int(l, $11);
          $$ = _symbol_create_list( SQL_COPYFROM, l ); }
-  | COPY opt_nr INTO qname opt_column_list FROM STDIN  opt_header_list 
opt_seps opt_escape opt_null_string opt_best_effort opt_constraint
+  | COPY opt_nr INTO qname opt_column_list FROM STDIN  opt_header_list 
opt_seps opt_escape opt_null_string opt_best_effort 
        { dlist *l = L();
          append_list(l, $4);
          append_list(l, $5);
@@ -2772,7 +2770,6 @@ copyfrom_stmt:
          append_list(l, $2);
          append_string(l, $11);
          append_int(l, $12);
-         append_int(l, $13);
          append_list(l, NULL);
          append_int(l, 0);
          append_int(l, $10);
@@ -2782,12 +2779,11 @@ copyfrom_stmt:
          append_list(l, $4);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to