Changeset: ae9757d08db4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ae9757d08db4
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python3/setup.py
        configure.ag
        debian/changelog
        gdk/ChangeLog-Archive
        gdk/ChangeLog.Feb2013
        gdk/libbat.rc
        java/ChangeLog-Archive
        java/ChangeLog.Feb2013
        libversions
        monetdb5/modules/mal/tablet.c
        monetdb5/tools/libmonetdb5.rc
        sql/backends/monet5/rel_bin.c
        sql/include/sql_relation.h
        sql/server/rel_updates.c
        sql/server/sql_parser.y
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_storage.h
        vertoo.data
Branch: default
Log Message:

merge with default


diffs (truncated from 519 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -523,3 +523,5 @@ df2cbb7845660d94dc484bab860b6893344be92a
 cb55e859a50e0d06a50cc9e4f6e377ddea7cc3aa Feb2013_7
 df2cbb7845660d94dc484bab860b6893344be92a Feb2013_SP2_release
 e0139450d66e4fc02c7f5d1d9e6f92fc22d862df Feb2013_SP2_release
+651ab160f8f9b591c0311d56e7a66e560390d2eb Feb2013_9
+b9ccba3754cda87e79cac9e5348e46f35a883845 Feb2013_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -27,7 +27,7 @@ Vendor: MonetDB BV <i...@monetdb.org>
 Group: Applications/Databases
 License: MPL - http://www.monetdb.org/Legal/MonetDBLicense
 URL: http://www.monetdb.org/
-Source: 
http://dev.monetdb.org/downloads/sources/Feb2013-SP2/%{name}-%{version}.tar.bz2
+Source: 
http://dev.monetdb.org/downloads/sources/Feb2013-SP3/%{name}-%{version}.tar.bz2
 
 BuildRequires: bison
 BuildRequires: bzip2-devel
@@ -722,6 +722,24 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libmonet
 rm -fr $RPM_BUILD_ROOT
 
 %changelog
+* Wed Jun 19 2013 Hannes Muehleisen <han...@cwi.nl> - 11.15.9-20130619
+- Rebuilt.
+
+* Sun Jun  9 2013 Fabian Groffen <fab...@monetdb.org> - 11.15.9-20130619
+- java: Further improved setBigDecimal() method, based on patch by Ben Reilly
+  in bug #3290
+
+* Thu May 23 2013 Fabian Groffen <fab...@monetdb.org> - 11.15.9-20130619
+- java: Fixed bug where PreparedStatement.setBigDecimal() wouldn't format its
+  input well enough for the server causing odd errors.
+- java: Allow PreparedStatement.setXXX() methods to be called with null
+  arguments, bug #3288
+
+* Tue May  7 2013 Sjoerd Mullender <sjo...@acm.org> - 11.15.9-20130619
+- gdk: System calls to flush files to disks were added.  This may cause
+  some slowdown, but it should provide better durability, especially
+  in the face of power failures.
+
 * Fri Apr 26 2013 Sjoerd Mullender <sjo...@acm.org> - 11.15.7-20130426
 - Rebuilt.
 
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,33 @@
+monetdb (11.15.9-20130619) unstable; urgency=low
+
+  * Rebuilt.
+
+ -- Hannes Muehleisen <han...@cwi.nl>  Wed, 19 Jun 2013 15:21:39 +0200
+
+monetdb (11.15.9-20130619) unstable; urgency=low
+
+  * java: Further improved setBigDecimal() method, based on patch by Ben Reilly
+    in bug #3290
+
+ -- Fabian Groffen <fab...@monetdb.org>  Sun, 9 Jun 2013 15:21:38 +0200
+
+monetdb (11.15.9-20130619) unstable; urgency=low
+
+  * java: Fixed bug where PreparedStatement.setBigDecimal() wouldn't format its
+    input well enough for the server causing odd errors.
+  * java: Allow PreparedStatement.setXXX() methods to be called with null
+    arguments, bug #3288
+
+ -- Fabian Groffen <fab...@monetdb.org>  Thu, 23 May 2013 15:21:38 +0200
+
+monetdb (11.15.9-20130619) unstable; urgency=low
+
+  * gdk: System calls to flush files to disks were added.  This may cause
+    some slowdown, but it should provide better durability, especially
+    in the face of power failures.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Tue, 7 May 2013 15:21:38 +0200
+
 monetdb (11.15.7-20130426) unstable; urgency=low
 
   * Rebuilt.
diff --git a/gdk/ChangeLog-Archive b/gdk/ChangeLog-Archive
--- a/gdk/ChangeLog-Archive
+++ b/gdk/ChangeLog-Archive
@@ -1,6 +1,11 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Tue May  7 2013 Sjoerd Mullender <sjo...@acm.org> - 11.15.9-20130619
+- System calls to flush files to disks were added.  This may cause
+  some slowdown, but it should provide better durability, especially
+  in the face of power failures.
+
 * Mon Apr  8 2013 Sjoerd Mullender <sjo...@acm.org> - 11.15.5-20130412
 - Fixed a bug in case the candidate list is dense and completely
   outside the range of the bat being worked upon.
diff --git a/gdk/ChangeLog.Feb2013 b/gdk/ChangeLog.Feb2013
--- a/gdk/ChangeLog.Feb2013
+++ b/gdk/ChangeLog.Feb2013
@@ -1,8 +1,3 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
-* Tue May  7 2013 Sjoerd Mullender <sjo...@acm.org>
-- System calls to flush files to disks were added.  This may cause
-  some slowdown, but it should provide better durability, especially
-  in the face of power failures.
-
diff --git a/java/ChangeLog-Archive b/java/ChangeLog-Archive
--- a/java/ChangeLog-Archive
+++ b/java/ChangeLog-Archive
@@ -1,6 +1,16 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Sun Jun  9 2013 Fabian Groffen <fab...@monetdb.org> - 11.15.9-20130619
+- Further improved setBigDecimal() method, based on patch by Ben Reilly
+  in bug #3290
+
+* Thu May 23 2013 Fabian Groffen <fab...@monetdb.org> - 11.15.9-20130619
+- Fixed bug where PreparedStatement.setBigDecimal() wouldn't format its
+  input well enough for the server causing odd errors.
+- Allow PreparedStatement.setXXX() methods to be called with null
+  arguments, bug #3288
+
 * Thu Apr 11 2013 Sjoerd Mullender <sjo...@acm.org> - 11.15.5-20130412
 - The pre-compiled .jar files are now created using Java 7 instead of
   Java 6.
diff --git a/java/ChangeLog.Feb2013 b/java/ChangeLog.Feb2013
--- a/java/ChangeLog.Feb2013
+++ b/java/ChangeLog.Feb2013
@@ -1,13 +1,3 @@
 # ChangeLog file for java
 # This file is updated with Maddlog
 
-* Sun Jun  9 2013 Fabian Groffen <fab...@monetdb.org>
-- Further improved setBigDecimal() method, based on patch by Ben Reilly
-  in bug #3290
-
-* Thu May 23 2013 Fabian Groffen <fab...@monetdb.org>
-- Fixed bug where PreparedStatement.setBigDecimal() wouldn't format its
-  input well enough for the server causing odd errors.
-- Allow PreparedStatement.setXXX() methods to be called with null
-  arguments, bug #3288
-
diff --git a/libversions b/libversions
--- a/libversions
+++ b/libversions
@@ -36,13 +36,13 @@
 
 # version of the GDK library (subdirectory gdk; also includes
 # common/options and common/utils)
-GDK_VERSION=9:3:0
+GDK_VERSION=9:4:0
 
 # version of the MAPI library (subdirectory clients/mapilib)
 MAPI_VERSION=6:5:0
 
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras)
-MONETDB5_VERSION=14:3:0
+MONETDB5_VERSION=14:4:0
 
 # version of the STREAM library (subdirectory common/stream)
-STREAM_VERSION=4:5:1
+STREAM_VERSION=4:6:1
diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c
--- a/monetdb5/modules/mal/tablet.c
+++ b/monetdb5/modules/mal/tablet.c
@@ -1341,6 +1341,8 @@ SQLloader(void *p)
        }
 }
 
+#define MAXWORKERS     64
+
 BUN
 SQLload_file(Client cntxt, Tablet *as, bstream *b, stream *out, char *csep, 
char *rsep, char quote, lng skip, lng maxrow)
 {
@@ -1351,13 +1353,13 @@ SQLload_file(Client cntxt, Tablet *as, b
        BUN i;
        size_t rseplen;
        READERtask *task = (READERtask *) GDKzalloc(sizeof(READERtask));
-       READERtask ptask[16];
-       int threads = (!maxrow || maxrow > (1 << 16)) ? (GDKnr_threads < 16 ? 
GDKnr_threads : 16) : 1;
+       READERtask ptask[MAXWORKERS];
+       int threads = (!maxrow || maxrow > (1 << 16)) ? (GDKnr_threads < 
MAXWORKERS ? GDKnr_threads : MAXWORKERS) : 1;
        lng lio = 0, tio, t1 = 0, total = 0, iototal = 0;
        int vmtrim = GDK_vm_trim;
        str msg = MAL_SUCCEED;
 
-       for (i = 0; i < 16; i++)
+       for (i = 0; i < MAXWORKERS; i++)
                ptask[i].cols = 0;
 
        if (task == 0) {
@@ -1524,7 +1526,7 @@ SQLload_file(Client cntxt, Tablet *as, b
                         * In the first phase we simply break the lines at the
                         * record boundary. */
                        if (quote == 0) {
-                               if (rseplen == 1)
+                               if (rseplen == 1) {
                                        for (; *e; e++) {
                                                if (*e == '\\') {
                                                        e++;
@@ -1532,7 +1534,17 @@ SQLload_file(Client cntxt, Tablet *as, b
                                                }
                                                if (*e == *rsep)
                                                        break;
-                               } else
+                                       }
+                               } else if (rseplen == 2) {
+                                       for (; *e; e++) {
+                                               if (*e == '\\') {
+                                                       e++;
+                                                       continue;
+                                               }
+                                               if (*e == *rsep && e[1] == 
rsep[1])
+                                                       break;
+                                       }
+                               } else {
                                        for (; *e; e++) {
                                                if (*e == '\\') {
                                                        e++;
@@ -1541,6 +1553,7 @@ SQLload_file(Client cntxt, Tablet *as, b
                                                if (*e == *rsep && strncmp(e, 
rsep, rseplen) == 0)
                                                        break;
                                        }
+                               }
                                if (*e == 0)
                                        e = 0;          /* nonterminated 
record, we need more */
                        } else if (rseplen == 1) {
@@ -1557,6 +1570,20 @@ SQLload_file(Client cntxt, Tablet *as, b
                                }
                                if (*e == 0)
                                        e = 0;          /* nonterminated 
record, we need more */
+                       } else if (rseplen == 2) {
+                               for (; *e; e++) {
+                                       if (*e == q)
+                                               q = 0;
+                                       else if (*e == quote)
+                                               q = *e;
+                                       else if (*e == '\\') {
+                                               if (e[1])
+                                                       e++;
+                                       } else if (!q && e[0] == rsep[0] && 
e[1] == rsep[1])
+                                               break;
+                               }
+                               if (*e == 0)
+                                       e = 0;          /* nonterminated 
record, we need more */
                        } else {
                                for (; *e; e++) {
                                        if (*e == q)
@@ -1728,7 +1755,7 @@ SQLload_file(Client cntxt, Tablet *as, b
                        GDKfree(task->base);
                GDKfree(task);
        }
-       for (i = 0; i < 16; i++)
+       for (i = 0; i < MAXWORKERS; i++)
                if (ptask[i].cols)
                        GDKfree(ptask[i].cols);
 #ifdef MLOCK_TST
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
@@ -2976,11 +2976,13 @@ rel2bin_insert( mvc *sql, sql_rel *rel, 
 {
        list *newl, *l;
        stmt *inserts = NULL, *insert = NULL, *s, *ddl = NULL, *pin = NULL;
-       int idx_ins = 0;
+       int idx_ins = 0, constraint = 1;
        node *n, *m;
        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;
@@ -3027,7 +3029,7 @@ rel2bin_insert( mvc *sql, sql_rel *rel, 
                if ((hash_index(i->type) && list_length(i->columns) <= 1) ||
                    i->type == no_idx)
                        is = NULL;
-               if (i->key) {
+               if (i->key && constraint) {
                        stmt *ckeys = sql_insert_key(sql, newl, i->key, is, 
pin);
 
                        list_prepend(l, ckeys);
@@ -3045,7 +3047,8 @@ rel2bin_insert( mvc *sql, sql_rel *rel, 
                return NULL;
 
        l = list_append(l, stmt_list(sql->sa, newl));
-       sql_insert_check_null(sql, t, newl, l);
+       if (constraint)
+               sql_insert_check_null(sql, t, newl, l);
        if (!sql_insert_triggers(sql, t, l)) 
                return sql_error(sql, 02, "INSERT INTO: triggers failed for 
table '%s'", t->base.name);
        if (insert->op1->nrcols == 0) {
diff --git a/sql/include/sql_relation.h b/sql/include/sql_relation.h
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to