Changeset: 743879839df2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=743879839df2
Modified Files:
MonetDB.spec
NT/rules.msc
buildtools/autogen/autogen/msc.py
sql/server/rel_bin.c
sql/server/rel_optimizer.c
sql/server/rel_select.c
sql/test/BugTracker-2012/Tests/bart-crash.Bug-3057.stable.out
sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.err
sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
Branch: default
Log Message:
Merge with Apr2012 branch.
diffs (238 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -48,7 +48,9 @@ BuildRequires: python
BuildRequires: readline-devel
BuildRequires: ruby
BuildRequires: rubygems
+%if %{?centos:0}%{!?centos:1}
BuildRequires: rubygems-devel
+%endif
BuildRequires: unixODBC-devel
BuildRequires: zlib-devel
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -290,9 +290,9 @@ create_winconfig_conds_new_py:
$(ECHO) ENABLE_DATACELL_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
!ENDIF
!IFDEF HAVE_CFITSIO
- $(ECHO) "HAVE_CFITSIO_FALSE='#'" >> "$(TOPDIR)\winconfig_conds_new.py"
+ $(ECHO) HAVE_CFITSIO_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
!ELSE
- $(ECHO) "HAVE_CFITSIO_FALSE=''" >> "$(TOPDIR)\winconfig_conds_new.py"
+ $(ECHO) HAVE_CFITSIO_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
!ENDIF
!IFDEF HAVE_DEVELOPER
$(ECHO) HAVE_DEVELOPER_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
@@ -342,9 +342,9 @@ create_winconfig_conds_new_py:
$(ECHO) HAVE_MONETDB5_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
!ENDIF
!IFDEF HAVE_MSEED
- $(ECHO) "HAVE_MSEED_FALSE='#'" >> "$(TOPDIR)\winconfig_conds_new.py"
+ $(ECHO) HAVE_MSEED_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
!ELSE
- $(ECHO) "HAVE_MSEED_FALSE=''" >> "$(TOPDIR)\winconfig_conds_new.py"
+ $(ECHO) HAVE_MSEED_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py"
!ENDIF
!IFDEF HAVE_ODBC
$(ECHO) HAVE_ODBC_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py"
diff --git a/buildtools/autogen/autogen/msc.py
b/buildtools/autogen/autogen/msc.py
--- a/buildtools/autogen/autogen/msc.py
+++ b/buildtools/autogen/autogen/msc.py
@@ -985,6 +985,7 @@ def msc_gem(fd, var, gem, msc):
if gem.has_key('DIR'):
rd = gem['DIR'][0]
rd = msc_translate_dir(rd, msc)
+ rd = '$(prefix)\\' + rd
fd.write('!IF defined(HAVE_RUBYGEM)\n')
for f in gem['FILES']:
msc['SCRIPTS'].append(f[:-4])
diff --git a/sql/server/rel_bin.c b/sql/server/rel_bin.c
--- a/sql/server/rel_bin.c
+++ b/sql/server/rel_bin.c
@@ -630,7 +630,7 @@ exp_bin(mvc *sql, sql_exp *e, stmt *left
if (e->flag == cmp_or && right) /* join */
assert(0);
/* here we handle join indices */
- if ((p=find_prop(e->p, PROP_JOINIDX)) != NULL) {
+ if (right && (p=find_prop(e->p, PROP_JOINIDX)) != NULL) {
sql_idx *i = p->value;
sql_exp *el = e->l;
sql_exp *er = e->r;
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
@@ -793,7 +793,7 @@ order_joins(mvc *sql, list *rels, list *
while(list_length(exps) && fnd) {
fnd = 0;
/* find the first expression which could be added */
- for(djn = sdje->h; djn && !fnd; djn = (!fnd)?djn->next:NULL) {
+ for(djn = sdje->h; djn && !fnd && rels->h; djn =
(!fnd)?djn->next:NULL) {
node *ln, *rn, *en;
cje = djn->data;
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
@@ -1350,7 +1350,8 @@ rel_bind_column_(mvc *sql, sql_rel **p,
case op_topn:
case op_sample:
*p = rel;
- return rel_bind_column_(sql, p, rel->l, cname);
+ if (rel->l)
+ return rel_bind_column_(sql, p, rel->l, cname);
default:
return NULL;
}
diff --git a/sql/test/BugTracker-2012/Tests/bart-crash.Bug-3057.stable.out
b/sql/test/BugTracker-2012/Tests/bart-crash.Bug-3057.stable.out
--- a/sql/test/BugTracker-2012/Tests/bart-crash.Bug-3057.stable.out
+++ b/sql/test/BugTracker-2012/Tests/bart-crash.Bug-3057.stable.out
@@ -133,8 +133,7 @@ Ready.
# AND x.ra BETWEEN r.wm_ra - alpha(im0.bmaj, r.wm_decl)
# AND r.wm_ra + alpha(im0.bmaj, r.wm_decl)
# AND r.x * x.x + r.y * x.y + r.z * x.z > COS(RADIANS(im0.bmaj))
-#;
-% sys.t # table_name
+% sys.r # table_name
% xtrsrc_id # name
% int # type
% 1 # length
diff --git a/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.err
b/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.err
--- a/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.err
+++ b/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.err
@@ -1,1 +1,37 @@
-to be filled in...
+stderr of test 'server-crash.Bug-3046` in directory 'test/BugTracker-2012`
itself:
+
+
+# 22:13:03 >
+# 22:13:03 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB" "--set"
"mapi_open=true" "--set" "mapi_port=35583" "--set" "monet_prompt=" "--trace"
"--forcemito" "--set" "mal_listing=2" "--dbname=mTests_test_BugTracker-2012"
"--set" "mal_listing=0"
+# 22:13:03 >
+
+# builtin opt gdk_dbname = demo
+# builtin opt gdk_dbfarm =
/home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm
+# builtin opt gdk_debug = 0
+# builtin opt gdk_alloc_map = no
+# builtin opt gdk_vmtrim = yes
+# 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 gdk_dbfarm =
/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB
+# cmdline opt mapi_open = true
+# cmdline opt mapi_port = 35583
+# cmdline opt monet_prompt =
+# cmdline opt mal_listing = 2
+# cmdline opt gdk_dbname = mTests_test_BugTracker-2012
+# cmdline opt mal_listing = 0
+
+# 22:13:03 >
+# 22:13:03 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=niels"
"--port=35583"
+# 22:13:03 >
+
+
+# 22:13:03 >
+# 22:13:03 > "Done."
+# 22:13:03 >
+
diff --git a/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
b/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
--- a/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
+++ b/sql/test/BugTracker-2012/Tests/server-crash.Bug-3046.stable.out
@@ -1,1 +1,90 @@
-to be filled in...
+stdout of test 'server-crash.Bug-3046` in directory 'test/BugTracker-2012`
itself:
+
+
+# 22:13:03 >
+# 22:13:03 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set"
"gdk_dbfarm=/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB" "--set"
"mapi_open=true" "--set" "mapi_port=35583" "--set" "monet_prompt=" "--trace"
"--forcemito" "--set" "mal_listing=2" "--dbname=mTests_test_BugTracker-2012"
"--set" "mal_listing=0"
+# 22:13:03 >
+
+# MonetDB 5 server v11.9.2
+# This is an unreleased version
+# Serving database 'mTests_test_BugTracker-2012', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically
linked
+# Found 3.778 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2012 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on
mapi:monetdb://niels.nesco.mine.nu:35583/
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 22:13:03 >
+# 22:13:03 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=niels"
"--port=35583"
+# 22:13:03 >
+
+#START TRANSACTION;
+#CREATE TABLE node (
+# id integer NOT NULL,
+# text_ref integer NOT NULL,
+# corpus_ref integer NOT NULL,
+# namespace character varying(100),
+# name character varying(100) NOT NULL,
+# "left" integer NOT NULL,
+# "right" integer NOT NULL,
+# token_index integer,
+# continuous boolean,
+# span character varying(2000),
+# toplevel_corpus integer NOT NULL,
+#CREATE TABLE rank (
+# pre integer NOT NULL,
+# post integer NOT NULL,
+# node_ref integer NOT NULL,
+# component_ref integer NOT NULL,
+# parent integer,
+# root boolean,
+# level integer NOT NULL
+#);
+#CREATE TABLE component (
+# id integer NOT NULL,
+# type character(1),
+# namespace character varying(255),
+# name character varying(255)
+#);
+#ALTER TABLE node ADD CONSTRAINT "PK_node" PRIMARY KEY (id);
+#ALTER TABLE component ADD CONSTRAINT "PK_component" PRIMARY KEY (id);
+#ALTER TABLE rank ADD CONSTRAINT "PK_rank" PRIMARY KEY (pre);
+#ALTER TABLE rank ADD CONSTRAINT "UNIQ_rank_pre" UNIQUE (pre);
+#ALTER TABLE rank ADD CONSTRAINT "UNIQ_rank_post" UNIQUE (post);
+#ALTER TABLE rank ADD CONSTRAINT "FK_rank_parent" FOREIGN KEY (parent)
REFERENCES rank (pre);
+#ALTER TABLE rank ADD CONSTRAINT "FK_rank_node" FOREIGN KEY (node_ref)
REFERENCES node (id);
+#ALTER TABLE rank ADD CONSTRAINT "FK_rank_component" FOREIGN KEY
(component_ref) REFERENCES component (id);
+#SELECT
+# count(*)
+#FROM
+# (
+# SELECT DISTINCT
+# node1.id AS id1, node2.id AS id2, node1.toplevel_corpus
+# FROM
+# node AS node1, rank AS rank1, component AS component1,
+# node AS node2, rank AS rank2, component AS component2
+# WHERE
+# component1.id = component2.id AND
+# component1.name IS NULL AND
+# component1.type = 'd' AND
+# component2.name IS NULL AND
+# component2.type = 'd' AND
+# rank1.component_ref = component1.id AND
+# rank1.node_ref = node1.id AND
+# rank1.pre = rank2.parent AND
+% sys.solutions # table_name
+% L1 # name
+% wrd # type
+% 1 # length
+[ 0 ]
+#ROLLBACK;
+
+# 22:13:03 >
+# 22:13:03 > "Done."
+# 22:13:03 >
+
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list