Changeset: a8a22f7c1f3f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a8a22f7c1f3f
Modified Files:
        
Branch: default
Log Message:

Merge with Oct2010 branch.


diffs (truncated from 397 to 300 lines):

diff -r 73cf43c46847 -r a8a22f7c1f3f MonetDB/src/gdk/gdk_logger.mx
--- a/MonetDB/src/gdk/gdk_logger.mx     Mon Oct 18 12:40:24 2010 +0200
+++ b/MonetDB/src/gdk/gdk_logger.mx     Mon Oct 18 17:16:04 2010 +0200
@@ -1006,47 +1006,48 @@
 bm_subcommit(BAT *list, BAT *catalog, BAT *extra, int debug)
 {
        BUN p, q;
-       bat *n = (bat*)GDKmalloc(sizeof(bat) * (2 + BATcount(list) * 2 + (extra 
? BATcount(extra) : 0)));
+       BUN nn = 2 + (list->batFirst > list->batDeleted ? list->batFirst - 
list->batDeleted : 0) + BATcount(list) + (extra ? BATcount(extra) : 0);
+       bat *n = (bat*)GDKmalloc(sizeof(bat) * nn);
        int i = 0;
-       BAT *b = list;
-       BATiter bi = bat_iterator(b);
+       BATiter iter = bat_iterator(list);
        int res;
 
        n[i++] = 0;             /* n[0] is not used */
 
        /* first loop over deleted then over current and new */
-       for (p = b->batDeleted; p < b->batFirst; p++) {
-               bat col = *(log_bid *) BUNhead(bi, p);
+       for (p = list->batDeleted; p < list->batFirst; p++) {
+               bat col = *(log_bid *) BUNhead(iter, p);
 
                if (debug & 1)
                        fprintf(stderr, "commit deleted %s (%d) %s\n",
                                BBPname(col), col,
-                               (b == catalog) ? BUNtail(bi, p) : "snapshot");
+                               (list == catalog) ? BUNtail(iter, p) : 
"snapshot");
                n[i++] = ABS(col);
        }
-       BATloop(b, p, q) {
-               bat col = *(log_bid *) BUNhead(bi, p);
+       BATloop(list, p, q) {
+               bat col = *(log_bid *) BUNhead(iter, p);
 
                if (debug & 1)
                        fprintf(stderr, "commit new %s (%d) %s\n",
                                BBPname(col), col,
-                               (b == catalog) ? BUNtail(bi, p) : "snapshot");
+                               (list == catalog) ? BUNtail(iter, p) : 
"snapshot");
                n[i++] = ABS(col);
        }
        if (extra) {
-               bi = bat_iterator(extra);
+               iter = bat_iterator(extra);
                BATloop(extra, p, q) {
-                       str name = (str) BUNtail(bi, p);
+                       str name = (str) BUNtail(iter, p);
 
                        if (debug & 1)
                                fprintf(stderr, "commit extra %s %s\n",
                                        name,
-                                       (b == catalog) ? BUNtail(bi, p) : 
"snapshot");
+                                       (list == catalog) ? BUNtail(iter, p) : 
"snapshot");
                        n[i++] = ABS(BBPindex(name));
                }
        }
        /* now commit catalog, so it's also up to date on disk */
        n[i++] = ABS(catalog->batCacheid);
+       assert((BUN) i <= nn);
        BATcommit(catalog);
        res = TMsubcommit_list(n, i);
        GDKfree(n);
diff -r 73cf43c46847 -r a8a22f7c1f3f sql/ChangeLog.Oct2010
--- a/sql/ChangeLog.Oct2010     Mon Oct 18 12:40:24 2010 +0200
+++ b/sql/ChangeLog.Oct2010     Mon Oct 18 17:16:04 2010 +0200
@@ -1,6 +1,10 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
+* Mon Oct 18 2010 Sjoerd Mullender <sjo...@acm.org>
+- Fixed bug 2695: crash when starting mserver in readonly mode on a
+  new database.
+
 * Wed Sep 22 2010 Fabian Groffen <fab...@cwi.nl>
 - Improved uuid detection, to solve problems like bug #2675
 
diff -r 73cf43c46847 -r a8a22f7c1f3f sql/src/test/BugTracker-2010/Tests/All
--- a/sql/src/test/BugTracker-2010/Tests/All    Mon Oct 18 12:40:24 2010 +0200
+++ b/sql/src/test/BugTracker-2010/Tests/All    Mon Oct 18 17:16:04 2010 +0200
@@ -64,4 +64,6 @@
 between-crash.Bug-2672
 select-view-key.Bug-2673
 select-distinct-limit.Bug-2676
+cast-varchar.Bug-2682
 substring_display_width.Bug-2683
+new-readonly-db.Bug-2695
diff -r 73cf43c46847 -r a8a22f7c1f3f 
sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.sql
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.sql      Mon Oct 
18 17:16:04 2010 +0200
@@ -0,0 +1,39 @@
+CREATE TABLE "sys"."sensor_readings" (
+   "src_ip"    VARCHAR(15),
+   "recv_time" TIMESTAMP,
+   "emit_time" TIMESTAMP,
+   "location"  VARCHAR(30),
+   "type"      VARCHAR(30),
+   "value"     VARCHAR(30)
+);
+COPY 20 RECORDS INTO "sensor_readings" FROM STDIN USING DELIMITERS ',','\n';
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:10.000000,L318,temperature,27.56
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:12.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:13.000000,L318,temperature,27.56
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:14.000000,L318,temperature,27.56
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:15.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:17.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:18.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:19.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:20.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:22.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:23.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:24.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:25.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:26.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:28.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:29.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:30.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:31.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:33.000000,L318,temperature,27.5
+127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:34.000000,L318,temperature,27.5
+
+SELECT location,
+       CAST(SUBSTRING(emit_time, 0, 16) AS VARCHAR(16)) AS "time",
+       MAX(CAST(value AS NUMERIC(5,2))) AS maxtemp,
+       MIN(CAST(value AS NUMERIC(5,2))) AS mintemp
+FROM sensor_readings
+WHERE type LIKE 'temperature'
+  AND emit_time BETWEEN '2010-07-10' AND '2010-07-20'
+GROUP BY location,
+         "time" HAVING MAX(CAST(value AS NUMERIC(5,2))) - MIN(CAST(value AS 
NUMERIC(5,2))) > 0.05;
diff -r 73cf43c46847 -r a8a22f7c1f3f 
sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.stable.err
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.stable.err       
Mon Oct 18 17:16:04 2010 +0200
@@ -0,0 +1,79 @@
+stderr of test 'cast-varchar.Bug-2682` in directory 'src/test/BugTracker-2010` 
itself:
+
+
+# 15:01:34 >  
+# 15:01:34 >   mserver5 
"--config=/ufs/sjoerd/Monet-candidate/etc/monetdb5.conf" --debug=10 --set 
gdk_nr_threads=0 --set 
"monet_mod_path=/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm"  --set 
mapi_open=true --set xrpc_open=true --set mapi_port=32061 --set xrpc_port=48716 
--set monet_prompt= --trace --forcemito --set mal_listing=2  
"--dbname=mTests_src_test_BugTracker-2010" --set mal_listing=0 ; echo ; echo 
Over..
+# 15:01:34 >  
+
+# builtin opt  gdk_arch = 64bitx86_64-unknown-linux-gnu
+# builtin opt  gdk_version = 1.40.0
+# builtin opt  prefix = /ufs/sjoerd/Monet-candidate
+# builtin opt  exec_prefix = ${prefix}
+# builtin opt  gdk_dbname = demo
+# builtin opt  gdk_dbfarm = ${prefix}/var/MonetDB/dbfarm
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_alloc_map = no
+# builtin opt  gdk_vmtrim = yes
+# builtin opt  monet_admin = adm
+# builtin opt  monet_prompt = >
+# builtin opt  monet_welcome = yes
+# builtin opt  monet_mod_path = ${exec_prefix}/lib64/MonetDB
+# builtin opt  monet_daemon = no
+# builtin opt  host = localhost
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_clients = 2
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_debug = 0
+# builtin opt  standoff_ns = 
+# builtin opt  standoff_start = start
+# builtin opt  standoff_end = end
+# config opt   prefix = /ufs/sjoerd/Monet-candidate
+# config opt   config = ${prefix}/etc/monetdb5.conf
+# config opt   prefix = /ufs/sjoerd/Monet-candidate
+# config opt   exec_prefix = ${prefix}
+# config opt   gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm
+# config opt   monet_mod_path = 
${exec_prefix}/lib64/MonetDB5:${exec_prefix}/lib64/MonetDB5/lib:${exec_prefix}/lib64/MonetDB5/bin
+# config opt   mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid
+# config opt   mero_controlport = 50001
+# config opt   sql_optimizer = default_pipe
+# config opt   minimal_pipe = inline,remap,deadcode,multiplex,garbageCollector
+# config opt   default_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   no_mitosis_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   sequential_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,history,multiplex,garbageCollector
+# config opt   nov2009_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   replication_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,replication,multiplex,garbageCollector
+# config opt   accumulator_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,accumulators,dataflow,history,multiplex,garbageCollector
+# config opt   recycler_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,deadcode,recycle,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   cracker_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   sidcrack_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,sidcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   datacell_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,datacell,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   octopus_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,constants,commonTerms,joinPath,octopus,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   datacyclotron_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,datacyclotron,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,replication,multiplex,garbageCollector
+# config opt   derive_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,derivePath,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   dictionary_pipe = 
inline,remap,dictionary,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   compression_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,compression,dataflow,history,multiplex,garbageCollector
+# cmdline opt  config = /ufs/sjoerd/Monet-candidate/etc/monetdb5.conf
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  monet_mod_path = 
/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin
+# cmdline opt  gdk_dbfarm = /ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm
+# cmdline opt  mapi_open = true
+# cmdline opt  xrpc_open = true
+# cmdline opt  mapi_port = 32061
+# cmdline opt  xrpc_port = 48716
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbname = mTests_src_test_BugTracker-2010
+# cmdline opt  mal_listing = 0
+#warning: please don't forget to set your vault key!
+#(see /ufs/sjoerd/Monet-candidate/etc/monetdb5.conf)
+
+# 15:01:35 >  
+# 15:01:35 >  mclient -lsql -ftest -i -e --host=ottar --port=32061 
+# 15:01:35 >  
+
+
+# 15:01:35 >  
+# 15:01:35 >  Done.
+# 15:01:35 >  
+
diff -r 73cf43c46847 -r a8a22f7c1f3f 
sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.stable.out
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2010/Tests/cast-varchar.Bug-2682.stable.out       
Mon Oct 18 17:16:04 2010 +0200
@@ -0,0 +1,63 @@
+stdout of test 'cast-varchar.Bug-2682` in directory 'src/test/BugTracker-2010` 
itself:
+
+
+# 15:01:34 >  
+# 15:01:34 >   mserver5 
"--config=/ufs/sjoerd/Monet-candidate/etc/monetdb5.conf" --debug=10 --set 
gdk_nr_threads=0 --set 
"monet_mod_path=/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm"  --set 
mapi_open=true --set xrpc_open=true --set mapi_port=32061 --set xrpc_port=48716 
--set monet_prompt= --trace --forcemito --set mal_listing=2  
"--dbname=mTests_src_test_BugTracker-2010" --set mal_listing=0 ; echo ; echo 
Over..
+# 15:01:34 >  
+
+# MonetDB server v5.22.0, based on kernel v1.40.0
+# Not released
+# Serving database 'mTests_src_test_BugTracker-2010', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
+# Found 7.750 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2010 MonetDB B.V., all rights reserved
+# Visit http://monetdb.cwi.nl/ for further information
+# Listening for connection requests on mapi:monetdb://ottar.ins.cwi.nl:32061/
+# MonetDB/SQL module v2.40.0 loaded
+# MonetDB/GIS module v0.20.0 loaded
+
+Ready.
+# SQL catalog created, loading sql scripts once
+
+Over..
+
+# 15:01:35 >  
+# 15:01:35 >  mclient -lsql -ftest -i -e --host=ottar --port=32061 
+# 15:01:35 >  
+
+#CREATE TABLE "sys"."sensor_readings" (
+#   "src_ip"    VARCHAR(15),
+#   "recv_time" TIMESTAMP,
+#   "emit_time" TIMESTAMP,
+#   "location"  VARCHAR(30),
+#   "type"      VARCHAR(30),
+#   "value"     VARCHAR(30)
+#);
+#COPY 20 RECORDS INTO "sensor_readings" FROM STDIN USING DELIMITERS ',','\n';
+#127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:10.000000,L318,temperature,27.56
+#127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:12.000000,L318,temperature,27.5
+#127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:13.000000,L318,temperature,27.56
+#127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:14.000000,L318,temperature,27.56
+#127.0.0.1,2010-08-25 14:56:12.000000,2010-07-15 
13:56:15.000000,L318,temperature,27.5
+#12
+[ 20   ]
+#SELECT location,
+#       CAST(SUBSTRING(emit_time, 0, 16) AS VARCHAR(16)) AS "time",
+#       MAX(CAST(value AS NUMERIC(5,2))) AS maxtemp,
+#       MIN(CAST(value AS NUMERIC(5,2))) AS mintemp
+#FROM sensor_readings
+#WHERE type LIKE 'temperature'
+#  AND emit_time BETWEEN '2010-07-10' AND '2010-07-20'
+#GROUP BY location,
+#         "time" HAVING MAX(CAST(value AS NUMERIC(5,2))) - MIN(CAST(value AS 
NUMERIC(5,2))) > 0.05;
+% sys.sensor_readings, sys.,   sys.,   sys. # table_name
+% location,    time,   maxtemp,        mintemp # name
+% varchar,     varchar,        decimal,        decimal # type
+% 4,   16,     7,      7 # length
+[ "L318",      "2010-07-15 13:56",     27.56,  27.50   ]
+
+# 15:01:35 >  
+# 15:01:35 >  Done.
+# 15:01:35 >  
+
diff -r 73cf43c46847 -r a8a22f7c1f3f 
sql/src/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py    Mon Oct 
18 17:16:04 2010 +0200
@@ -0,0 +1,6 @@
+from MonetDBtesting import process
+import os
+
+s = process.server(lang = 'sql', args = ['--readonly'],
+                   dbname = '%s-2695' % os.getenv('TSTDB'))
+s.wait()
diff -r 73cf43c46847 -r a8a22f7c1f3f 
sql/src/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err    
Mon Oct 18 17:16:04 2010 +0200
@@ -0,0 +1,75 @@
+stderr of test 'new-readonly-db.Bug-2695` in directory 
'src/test/BugTracker-2010` itself:
+
+
+# 12:51:24 >  
+# 12:51:24 >  /usr/bin/python new-readonly-db.Bug-2695.py 
new-readonly-db.Bug-2695 
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to