Changeset: 2f8915361f54 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f8915361f54
Added Files:
        sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.err
        sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.out
        sql/test/BugTracker-2012/Tests/huge_table_update.Bug-2803.stable.err
        sql/test/BugTracker-2012/Tests/huge_table_update.Bug-2803.stable.out
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.sql
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.err
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out
        sql/test/BugTracker-2015/Tests/copy_into.Bug-3813.stable.err
        sql/test/BugTracker-2015/Tests/copy_into.Bug-3813.stable.out
        sql/test/BugTracker-2015/Tests/large_join.Bug-3809.sql
        sql/test/BugTracker-2015/Tests/large_join.Bug-3809.stable.err
        sql/test/BugTracker-2015/Tests/large_join.Bug-3809.stable.out
        sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py
        sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.err
        sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out
        sql/test/mergetables/Tests/singlekeyconstraint.stable.err
        sql/test/mergetables/Tests/singlekeyconstraint.stable.out
        sql/test/pg_regress/Tests/float8.stable.err.int128
Removed Files:
        sql/test/BugTracker-2015/Tests/schemadiff.SQL.py
Modified Files:
        monetdb5/mal/mal_runtime.c
        monetdb5/modules/mal/tablet.c
        sql/backends/monet5/sql.c
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
        sql/test/BugTracker-2011/Tests/All
        sql/test/BugTracker-2012/Tests/All
        sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.sql
        sql/test/BugTracker-2012/Tests/huge_table_update.Bug-2803.sql
        sql/test/BugTracker-2014/Tests/All
        sql/test/BugTracker-2015/Tests/All
        sql/test/BugTracker-2015/Tests/sessions_crash.Bug-3759.stable.err
        sql/test/BugTracker-2015/Tests/sessions_crash.Bug-3759.stable.out
        sql/test/Tests/All
        sql/test/Tests/str-pad.stable.out
        sql/test/mergetables/Tests/All
        sql/test/pg_regress/Tests/float8.stable.err
        sql/test/pg_regress/Tests/float8.stable.out.Windows
        sql/test/pg_regress/Tests/interval.stable.err
        sql/test/pg_regress/Tests/interval.stable.out
        sql/test/pg_regress/Tests/loadwisconsin.timeout
        sql/test/remote/Tests/All
        sql/test/remote/Tests/partition_elim.stable.out
Branch: embedded
Log Message:

merge


diffs (truncated from 14524 to 300 lines):

diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c
--- a/monetdb5/mal/mal_runtime.c
+++ b/monetdb5/mal/mal_runtime.c
@@ -82,6 +82,7 @@ runtimeProfileInit(Client cntxt, MalBlkP
 
        stk->tag = calltag++;
        if ( i == qtop ) {
+               mb->tag = qtag;
                QRYqueue[i].mb = mb;    // for detecting duplicates
                QRYqueue[i].stk = stk;  // for status pause 'p'/running '0'/ 
quiting 'q'
                QRYqueue[i].tag = qtag++;
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
@@ -1555,6 +1555,38 @@ SQLproducer(void *p)
        }
 }
 
+static void
+create_rejects_table(Client cntxt)
+{
+       MT_lock_set(&mal_contextLock, "copy.initialization");
+       if (cntxt->error_row == NULL) {
+               cntxt->error_row = BATnew(TYPE_void, TYPE_lng, 0, TRANSIENT);
+               BATseqbase(cntxt->error_row, 0);
+               cntxt->error_fld = BATnew(TYPE_void, TYPE_int, 0, TRANSIENT);
+               BATseqbase(cntxt->error_fld, 0);
+               cntxt->error_msg = BATnew(TYPE_void, TYPE_str, 0, TRANSIENT);
+               BATseqbase(cntxt->error_msg, 0);
+               cntxt->error_input = BATnew(TYPE_void, TYPE_str, 0, TRANSIENT);
+               BATseqbase(cntxt->error_input, 0);
+               if (cntxt->error_row == NULL || cntxt->error_fld == NULL || 
cntxt->error_msg == NULL || cntxt->error_input == NULL) {
+                       if (cntxt->error_row)
+                               BBPunfix(cntxt->error_row->batCacheid);
+                       if (cntxt->error_fld)
+                               BBPunfix(cntxt->error_fld->batCacheid);
+                       if (cntxt->error_msg)
+                               BBPunfix(cntxt->error_msg->batCacheid);
+                       if (cntxt->error_input)
+                               BBPunfix(cntxt->error_input->batCacheid);
+               } else {
+                       BBPkeepref(cntxt->error_row->batCacheid);
+                       BBPkeepref(cntxt->error_fld->batCacheid);
+                       BBPkeepref(cntxt->error_msg->batCacheid);
+                       BBPkeepref(cntxt->error_input->batCacheid);
+               }
+       }
+       MT_lock_unset(&mal_contextLock, "copy.initialization");
+}
+
 BUN
 SQLload_file(Client cntxt, Tablet *as, bstream *b, stream *out, char *csep, 
char *rsep, char quote, lng skip, lng maxrow, int best)
 {
@@ -1581,33 +1613,7 @@ SQLload_file(Client cntxt, Tablet *as, b
        task->cntxt = cntxt;
 
        /* create the reject tables */
-       MT_lock_set(&mal_contextLock, "copy.initialization");
-       if (task->cntxt->error_row == NULL) {
-               task->cntxt->error_row = BATnew(TYPE_void, TYPE_lng, 0, 
TRANSIENT);
-               BATseqbase(task->cntxt->error_row, 0);
-               task->cntxt->error_fld = BATnew(TYPE_void, TYPE_int, 0, 
TRANSIENT);
-               BATseqbase(task->cntxt->error_fld, 0);
-               task->cntxt->error_msg = BATnew(TYPE_void, TYPE_str, 0, 
TRANSIENT);
-               BATseqbase(task->cntxt->error_msg, 0);
-               task->cntxt->error_input = BATnew(TYPE_void, TYPE_str, 0, 
TRANSIENT);
-               BATseqbase(task->cntxt->error_input, 0);
-               if (task->cntxt->error_row == NULL || task->cntxt->error_fld == 
NULL || task->cntxt->error_msg == NULL || task->cntxt->error_input == NULL) {
-                       if (task->cntxt->error_row)
-                               BBPunfix(task->cntxt->error_row->batCacheid);
-                       if (task->cntxt->error_fld)
-                               BBPunfix(task->cntxt->error_fld->batCacheid);
-                       if (task->cntxt->error_msg)
-                               BBPunfix(task->cntxt->error_msg->batCacheid);
-                       if (task->cntxt->error_input)
-                               BBPunfix(task->cntxt->error_input->batCacheid);
-               } else {
-                       BBPkeepref(task->cntxt->error_row->batCacheid);
-                       BBPkeepref(task->cntxt->error_fld->batCacheid);
-                       BBPkeepref(task->cntxt->error_msg->batCacheid);
-                       BBPkeepref(task->cntxt->error_input->batCacheid);
-               }
-       }
-       MT_lock_unset(&mal_contextLock, "copy.initialization");
+       create_rejects_table(task->cntxt);
        if (task->cntxt->error_row == NULL || task->cntxt->error_fld == NULL || 
task->cntxt->error_msg == NULL || task->cntxt->error_input == NULL) {
                tablet_error(task, lng_nil, int_nil, NULL, "SQLload 
initialization failed");
                goto bailout;
@@ -1987,6 +1993,8 @@ COPYrejects(Client cntxt, MalBlkPtr mb, 
        bat *fld = getArgReference_bat(stk, pci, 1);
        bat *msg = getArgReference_bat(stk, pci, 2);
        bat *inp = getArgReference_bat(stk, pci, 3);
+
+       create_rejects_table(cntxt);
        if (cntxt->error_row == NULL)
                throw(MAL, "sql.rejects", "No reject table available");
        BBPincref(*row = cntxt->error_row->batCacheid, TRUE);
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -4235,12 +4235,11 @@ sql_querylog_calls(Client cntxt, MalBlkP
 str
 sql_querylog_empty(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       int *ret = getArgReference_int(stk, pci, 0);
        (void) cntxt;
        (void) mb;
        (void) stk;
        (void) pci;
-       QLOGempty(ret);
+       QLOGempty(NULL);
        return MAL_SUCCEED;
 }
 
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -1028,15 +1028,21 @@ push_up_join_exps( sql_rel *rel)
        }
 }
 
+static sql_rel * rel_remove_empty_select(int *changes, mvc *sql, sql_rel *rel);
+static sql_rel * rewrite(mvc *sql, sql_rel *rel, rewrite_fptr rewriter, int 
*has_changes) ;
 static sql_rel *
 rel_join_order(int *changes, mvc *sql, sql_rel *rel) 
 {
-       (void)*changes;
+       int e_changes = 0;
+
        if (is_join(rel->op) && rel->exps && !rel_is_ref(rel)) {
                if (rel->op == op_join)
                        rel->exps = push_up_join_exps(rel);
                rel = reorder_join(sql, rel);
        }
+       rel = rewrite(sql, rel, &rel_remove_empty_select, &e_changes); 
+       (void)*changes;
+       (void)e_changes;
        return rel;
 }
 
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -2788,6 +2788,7 @@ rel_logical_value_exp(mvc *sql, sql_rel 
                                } else if (f == sql_sel) { /* allways add left 
side in case of selections phase */
                                        if (!l->processed) { /* add all 
expressions to the project */
                                                l->exps = list_merge(l->exps, 
rel_projections(sql, l->l, NULL, 1, 1), (fdup)NULL);
+                                               l->exps = 
list_distinct(l->exps, (fcmp)exp_equal, (fdup)NULL);
                                                set_processed(l);
                                        }
                                        if (!rel_find_exp(l, ls))
diff --git a/sql/test/BugTracker-2011/Tests/All 
b/sql/test/BugTracker-2011/Tests/All
--- a/sql/test/BugTracker-2011/Tests/All
+++ b/sql/test/BugTracker-2011/Tests/All
@@ -64,3 +64,4 @@ user_create_temp_table.Bug-2916
 exists-select.Bug-2933
 jena-optional-1-test.Bug-2915
 and-power.Bug-3013
+DBD-manyrows.Bug-2889
diff --git a/sql/test/BugTracker-2012/Tests/All 
b/sql/test/BugTracker-2012/Tests/All
--- a/sql/test/BugTracker-2012/Tests/All
+++ b/sql/test/BugTracker-2012/Tests/All
@@ -84,3 +84,5 @@ fixed_limit_for_prepare.Bug-3208
 exp_bin_assertion.Bug-3209
 querycache.Bug-3212.sql
 url_script_test.Bug-2972
+huge_insert.Bug-2803
+huge_table_update.Bug-2803
diff --git a/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.sql 
b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.sql
--- a/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.sql
+++ b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.sql
@@ -1,3 +1,5 @@
+start transaction;
+
 create table huge(
 a0  integer,
 a1  integer,
@@ -10000,3 +10002,5 @@ 4996,
 4997,
 4998,
 4999);
+
+rollback;
diff --git a/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.err 
b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.err
@@ -0,0 +1,37 @@
+stderr of test 'huge_insert.Bug-2803` in directory 'sql/test/BugTracker-2012` 
itself:
+
+
+# 17:31:11 >  
+# 17:31:11 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32496" "--set" 
"mapi_usock=/var/tmp/mtest-29086/.s.monetdb.32496" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/manegold/_/Monet/HG/Jul2015/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2012"
 "--set" "mal_listing=0" "--set" "embedded_r=yes"
+# 17:31:11 >  
+
+# builtin opt  gdk_dbpath = 
/ufs/manegold/_/Monet/HG/Jul2015/prefix/_/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = no
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 32496
+# cmdline opt  mapi_usock = /var/tmp/mtest-29086/.s.monetdb.32496
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbpath = 
/ufs/manegold/_/Monet/HG/Jul2015/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2012
+# cmdline opt  mal_listing = 0
+# cmdline opt  embedded_r = yes
+# cmdline opt  gdk_debug = 536870922
+
+# 17:31:11 >  
+# 17:31:11 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-29086" "--port=32496"
+# 17:31:11 >  
+
+
+# 17:31:12 >  
+# 17:31:12 >  "Done."
+# 17:31:12 >  
+
diff --git a/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.out 
b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2012/Tests/huge_insert.Bug-2803.stable.out
@@ -0,0 +1,230 @@
+stdout of test 'huge_insert.Bug-2803` in directory 'sql/test/BugTracker-2012` 
itself:
+
+
+# 17:31:11 >  
+# 17:31:11 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32496" "--set" 
"mapi_usock=/var/tmp/mtest-29086/.s.monetdb.32496" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/manegold/_/Monet/HG/Jul2015/prefix/_/var/MonetDB/mTests_sql_test_BugTracker-2012"
 "--set" "mal_listing=0" "--set" "embedded_r=yes"
+# 17:31:11 >  
+
+# MonetDB 5 server v11.21.6
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2012', using 8 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit 
integers dynamically linked
+# Found 15.590 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:32496/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-29086/.s.monetdb.32496
+# MonetDB/GIS module loaded
+# Start processing logs sql/sql_logs version 52200
+# Finished processing logs sql/sql_logs
+# MonetDB/SQL module loaded
+# MonetDB/R   module loaded
+
+Ready.
+# SQL catalog created, loading sql scripts once
+# loading sql script: 09_like.sql
+# loading sql script: 10_math.sql
+# loading sql script: 11_times.sql
+# loading sql script: 12_url.sql
+# loading sql script: 13_date.sql
+# loading sql script: 14_inet.sql
+# loading sql script: 15_querylog.sql
+# loading sql script: 16_tracelog.sql
+# loading sql script: 17_temporal.sql
+# loading sql script: 20_vacuum.sql
+# loading sql script: 21_dependency_functions.sql
+# loading sql script: 22_clients.sql
+# loading sql script: 23_skyserver.sql
+# loading sql script: 24_zorder.sql
+# loading sql script: 25_debug.sql
+# loading sql script: 26_sysmon.sql
+# loading sql script: 27_rejects.sql
+# loading sql script: 39_analytics.sql
+# loading sql script: 39_analytics_hge.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 40_json.sql
+# loading sql script: 40_json_hge.sql
+# loading sql script: 41_md5sum.sql
+# loading sql script: 45_uuid.sql
+# loading sql script: 46_gsl.sql
+# loading sql script: 51_sys_schema_extension.sql
+# loading sql script: 72_fits.sql
+# loading sql script: 74_netcdf.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 80_udf_hge.sql
+# loading sql script: 85_bam.sql
+# loading sql script: 90_generator.sql
+# loading sql script: 90_generator_hge.sql
+# loading sql script: 99_system.sql
+
+# 17:31:11 >  
+# 17:31:11 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-29086" "--port=32496"
+# 17:31:11 >  
+
+#create table huge(
+#a0  integer,
+#a1  integer,
+#a2  integer,
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to