MonetDB: default - approved output after recent changes

2011-06-07 Thread Niels Nes
Changeset: 86358afed04e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86358afed04e
Modified Files:
sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err

sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
sql/test/leaks/Tests/check0.stable.out
sql/test/mapi/Tests/php_monetdb.stable.out
Branch: default
Log Message:

approved output after recent changes


diffs (100 lines):

diff --git a/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err 
b/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
--- a/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
+++ b/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
@@ -79,7 +79,7 @@
 # 19:33:23   mclient -lsql -umonetdb -Pmonetdb --host=alf --port=33470 
 # 19:33:23   
 
-MAPI  = monetdb@alf:32144
+MAPI  = monetdb@alf:36639
 QUERY = INSERT INTO examines (docID, vicID) VALUES
 (
 (
@@ -94,8 +94,7 @@
 )
 );
 ERROR = !SQLException:zero_or_one:cardinality violation (21)
-!SQLException:zero_or_one:cardinality violation (21)
-MAPI  = monetdb@alf:32144
+MAPI  = monetdb@alf:36639
 QUERY = INSERT INTO timelines (vicID, time, event) VALUES
 (
 (
diff --git 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
--- 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
+++ 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
@@ -30,7 +30,25 @@
 % tinyint # type
 % 1 # length
 [ 1]
-% .tables, sys.tables, .tables,.tables,.tables,
.tables,.tables,.tables,.tables,.tables # 
table_name
+#SELECT * FROM (
+#  SELECT 'demo' AS TABLE_CAT,
+#  schemas.name AS TABLE_SCHEM,
+#  tables.name AS TABLE_NAME,
+#  'SYSTEM TABLE' AS TABLE_TYPE,
+#  '' AS REMARKS,
+#  null AS TYPE_CAT,
+#  null AS TYPE_SCHEM,
+#  null AS TYPE_NAME,
+#  'rowid' AS SELF_REFERENCING_COL_NAME,
+#  'SYSTEM' AS REF_GENERATION
+#  FROM tables, schemas
+#  WHERE tables.schema_id = schemas.id
+#  AND tables.system = true
+#  AND tables.type = 0
+#) AS tables
+#WHERE 1 = 1
+#  AND (TABLE_TYPE LIKE 'TABLE' OR TABLE_T
+% .tables, .tables,.tables,.tables,.tables,
.tables,.tables,.tables,.tables,.tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,TABLE_NAME, TABLE_TYPE, REMARKS,
TYPE_CAT,   TYPE_SCHEM, TYPE_NAME,  SELF_REFERENCING_COL_NAME,  
REF_GENERATION # name
 % char,varchar,varchar,char,   char,   char,   char,   
char,   char,   char # type
 % 4,   0,  0,  12, 0,  0,  0,  0,  5,  6 # 
length
diff --git a/sql/test/leaks/Tests/check0.stable.out 
b/sql/test/leaks/Tests/check0.stable.out
--- a/sql/test/leaks/Tests/check0.stable.out
+++ b/sql/test/leaks/Tests/check0.stable.out
@@ -47,6 +47,7 @@
 [ oid,   int,  3155]
 [ oid,   int,  3155]
 [ oid,   int,  3155]
+[ oid,   lng,  0   ]
 [ oid,   lng,  19  ]
 [ oid,   str,  1   ]
 [ oid,   str,  1   ]
@@ -61,13 +62,13 @@
 % L1,  L2 # name
 % char,wrd # type
 % 9,   3 # length
-[ transient, 488 ]
+[ transient, 487 ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
 % char,wrd # type
 % 10,  2 # length
-[ persistent,24  ]
+[ persistent,25  ]
 
 # 22:02:15   
 # 22:02:15   Done.
diff --git a/sql/test/mapi/Tests/php_monetdb.stable.out 
b/sql/test/mapi/Tests/php_monetdb.stable.out
--- a/sql/test/mapi/Tests/php_monetdb.stable.out
+++ b/sql/test/mapi/Tests/php_monetdb.stable.out
@@ -88,11 +88,11 @@
 5082   auths   20000   true0   false   0   
 5086   privileges  20000   true0   false   0   
 5199   queryhistory20000   true0   false   0   
-5213   callhistory 20000   false   0   false   0   
-5230   querylog2000create view querylog asnselect qd.*, ql.ctime, 
ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, ql.tuples, ql.inblock, 
ql.oublock from queryhistory qd, callhistory qlnwhere qd.id = ql.id;1   
false   0   false   0   
-5656   systemfunctions 20000   false   0   false   0   
+5213   callhistory 20000   true0   false   0   
+5230   querylog2000create view querylog asnselect qd.*, ql.ctime, 
ql.arguments, ql.exec, ql.result, ql.foot, ql.memory, 

MonetDB: default - merged

2011-06-07 Thread Niels Nes
Changeset: 9ab21ca437ff for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ab21ca437ff
Modified Files:

Branch: default
Log Message:

merged


diffs (truncated from 809 to 300 lines):

diff --git a/monetdb5/modules/mal/mal_init.mx b/monetdb5/modules/mal/mal_init.mx
--- a/monetdb5/modules/mal/mal_init.mx
+++ b/monetdb5/modules/mal/mal_init.mx
@@ -119,7 +119,6 @@
 include opt_aliases;
 include opt_coercion;
 include opt_constants;
-include opt_datacell;
 include opt_dataflow;
 include opt_dictionary;
 include opt_deadcode;
diff --git a/sql/backends/monet5/datacell/50_datacell.mal 
b/sql/backends/monet5/datacell/50_datacell.mal
--- a/sql/backends/monet5/datacell/50_datacell.mal
+++ b/sql/backends/monet5/datacell/50_datacell.mal
@@ -16,6 +16,7 @@
 # All Rights Reserved.
 
 # This loads the MonetDB/SQL module
+library datacell;
 include basket;
 include receptor;
 include emitter;
diff --git a/sql/backends/monet5/datacell/Tests/emitter00.mal 
b/sql/backends/monet5/datacell/Tests/emitter00.mal
--- a/sql/backends/monet5/datacell/Tests/emitter00.mal
+++ b/sql/backends/monet5/datacell/Tests/emitter00.mal
@@ -1,21 +1,25 @@
-#A test for the emitter
-#The emitter uses the prefix to lock the streams
-libary datacell;
-include basket;
-include emitter;
+#A single thread for a simple stream
+#The test is based on the definition the datacell baskets X 
+# it starts a receptor in debug mode to see arrivals coming
+# from a (client) sensor.
 
-p1:= basket.new(X_p1,:bat[:lng,:int]);
-p2:= basket.new(X_p2,:bat[:lng,:int]);
-basket.group(X,X_p1,X_p2);
-t:= alarm.usec();
-bat.insert(p1,t,1);
-bat.insert(p2,t,1);
-t:= alarm.usec();
-bat.insert(p1,t,1);
-bat.insert(p2,t,1);
+sql.init();
 
-emitter.new(X);
-emitter.start(X,localhost,50001);
-io.print(emitter done);
+emitter.start(datacell,X,localhost,50502,passive);
+io.print(emitter working);
 alarm.sleep(5);
-emitter.drop(X);
+emitter.pause(datacell,X);
+io.print(emitter paused);
+alarm.sleep(5);
+emitter.resume(datacell,X);
+io.print(emitter restarted);
+alarm.sleep(5);
+emitter.pause(datacell,X);
+io.print(emitter stopped);
+emitter.drop(datacell,X);
+
+# The SQL equivalents
+# call emitter.start('datacell','X','localhost',50502,'passive');
+# call emitter.pause('datacell','X');
+# call emitter.resume('datacell','X');
+# call emitter.drop('datacell','X');
diff --git a/sql/backends/monet5/datacell/Tests/receptor00.mal 
b/sql/backends/monet5/datacell/Tests/receptor00.mal
--- a/sql/backends/monet5/datacell/Tests/receptor00.mal
+++ b/sql/backends/monet5/datacell/Tests/receptor00.mal
@@ -1,17 +1,25 @@
 #A single thread for a simple stream
-#The receptor uses the prefix to lock the streams
-libary datacell;
-include basket;
-include receptor;
+#The test is based on the definition the datacell baskets X 
+# it starts a receptor in debug mode to see arrivals coming
+# from a (client) sensor.
 
-p1:= basket.new(X_p1,:bat[:lng,:lng]);
-p2:= basket.new(X_p2,:bat[:lng,:int]);
-basket.group(X,X_p1);
-basket.group(X,X_p2);
-receptor.new(X);
-receptor.setType(X,server);
-receptor.start(X,localhost,50001);
-io.print(receptors working);
-io.print(p1,p2);
+sql.init();
+
+receptor.start(datacell,X,localhost,50501,passive);
+io.print(receptor working);
 alarm.sleep(5);
-receptor.drop(X);
+receptor.pause(datacell,X);
+io.print(receptor paused);
+alarm.sleep(5);
+receptor.resume(datacell,X);
+io.print(receptor restarted);
+alarm.sleep(5);
+receptor.pause(datacell,X);
+io.print(receptor stopped);
+receptor.drop(datacell,X);
+
+# The SQL equivalents
+# call receptor.start('datacell','X','localhost',50501,'passive');
+# call receptor.pause('datacell','X');
+# call receptor.resume('datacell','X');
+# call receptor.drop('datacell','X');
diff --git a/sql/backends/monet5/datacell/datacell.sql 
b/sql/backends/monet5/datacell/datacell.sql
--- a/sql/backends/monet5/datacell/datacell.sql
+++ b/sql/backends/monet5/datacell/datacell.sql
@@ -14,11 +14,35 @@
 -- Copyright August 2008-2011 MonetDB B.V.
 -- All Rights Reserved.
 
--- Datacell wrappers
-create procedure receptor (url string, act string)
-external name datacell.receptor_action;
+-- Datacell basket  wrappers
 
--- MonetDB tuple formatted message field extractors
-create procedure datacell.register_basket(s string)
-external name datacell.register_basket;
+-- Datacell receptor wrappers
 
+create schema receptor;
+create procedure receptor.start (sch string, tbl string, host string, port 
int, protocol string)
+external name receptor.start;
+
+create procedure receptor.pause (sch string, tbl string)
+external name receptor.pause;
+
+create procedure receptor.resume (sch string, tbl string)
+external name receptor.resume;
+
+create procedure receptor.drop (sch string, tbl string)
+external name receptor.drop;
+
+-- Datacell emitter wrappers
+
+create schema emitter;
+create procedure emitter.start (sch string, tbl string, host string, port int, 
protocol string)
+external name emitter.start;
+
+create 

MonetDB: default - Merge with default

2011-06-07 Thread mk
Changeset: ac190cff12ca for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ac190cff12ca
Modified Files:

Branch: default
Log Message:

Merge with default


diffs (163 lines):

diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -913,7 +913,7 @@
sql_rel *rel = NULL, *nrel, *lrel, *rrel;
list *exps, *gexps;
int distinct = 0;
-   operator_type j = 0;
+   operator_type j = op_basetable;
 
skipWS(r,pos);
if (r[*pos] == 'd') {
@@ -1086,25 +1086,25 @@
j = op_left;
/* fall through */
case 'r': 
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(right outer join);
j = op_right;
}
/* fall through */
case 'f':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(full outer join);
j = op_full;
}
/* fall through */
case 'c':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(crossproduct);
j = op_join;
}
/* fall through */
case 'j':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(join);
j = op_join;
}
@@ -1134,17 +1134,17 @@
rel-exps = exps;
return rel;
case 'u':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(union);
j = op_union;
}
case 'i':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(intersect);
j = op_inter;
}
case 'e':
-   if (!j) {
+   if (j != op_basetable) {
*pos += strlen(except);
j = op_except;
}
diff --git a/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err 
b/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
--- a/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
+++ b/sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
@@ -79,7 +79,7 @@
 # 19:33:23   mclient -lsql -umonetdb -Pmonetdb --host=alf --port=33470 
 # 19:33:23   
 
-MAPI  = monetdb@alf:32144
+MAPI  = monetdb@alf:36639
 QUERY = INSERT INTO examines (docID, vicID) VALUES
 (
 (
@@ -94,8 +94,7 @@
 )
 );
 ERROR = !SQLException:zero_or_one:cardinality violation (21)
-!SQLException:zero_or_one:cardinality violation (21)
-MAPI  = monetdb@alf:32144
+MAPI  = monetdb@alf:36639
 QUERY = INSERT INTO timelines (vicID, time, event) VALUES
 (
 (
diff --git 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
--- 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
+++ 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
@@ -30,7 +30,25 @@
 % tinyint # type
 % 1 # length
 [ 1]
-% .tables, sys.tables, .tables,.tables,.tables,
.tables,.tables,.tables,.tables,.tables # 
table_name
+#SELECT * FROM (
+#  SELECT 'demo' AS TABLE_CAT,
+#  schemas.name AS TABLE_SCHEM,
+#  tables.name AS TABLE_NAME,
+#  'SYSTEM TABLE' AS TABLE_TYPE,
+#  '' AS REMARKS,
+#  null AS TYPE_CAT,
+#  null AS TYPE_SCHEM,
+#  null AS TYPE_NAME,
+#  'rowid' AS SELF_REFERENCING_COL_NAME,
+#  'SYSTEM' AS REF_GENERATION
+#  FROM tables, schemas
+#  WHERE tables.schema_id = schemas.id
+#  AND tables.system = true
+#  AND tables.type = 0
+#) AS tables
+#WHERE 1 = 1
+#  AND (TABLE_TYPE LIKE 'TABLE' OR TABLE_T
+% .tables, .tables,.tables,.tables,.tables,
.tables,.tables,.tables,.tables,.tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,TABLE_NAME, TABLE_TYPE, REMARKS,
TYPE_CAT,   TYPE_SCHEM, TYPE_NAME,  SELF_REFERENCING_COL_NAME,  
REF_GENERATION # name
 % char,varchar,varchar,char,   char,   char,   char,   
char,   char,   char # type
 % 4,   0,  0,  12, 0,  0,  0,  0,  5,  6 # 
length
diff --git a/sql/test/leaks/Tests/check0.stable.out 
b/sql/test/leaks/Tests/check0.stable.out
--- a/sql/test/leaks/Tests/check0.stable.out
+++ b/sql/test/leaks/Tests/check0.stable.out
@@ -47,6 +47,7 @@
 [ 

MonetDB: default - Basic basket, receptor, emitter works

2011-06-07 Thread mk
Changeset: 290282750fc9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=290282750fc9
Modified Files:
sql/backends/monet5/datacell/50_datacell.mal
sql/backends/monet5/datacell/50_datacell.sql
sql/backends/monet5/datacell/Makefile.ag
sql/backends/monet5/datacell/Tests/basket00.mal
sql/backends/monet5/datacell/Tests/datacell00.sql
sql/backends/monet5/datacell/Tests/emitter00.mal
sql/backends/monet5/datacell/Tests/receptor00.mal
sql/backends/monet5/datacell/basket.mx
sql/backends/monet5/datacell/datacell.sql
sql/backends/monet5/datacell/emitter.mx
sql/backends/monet5/datacell/petrinet.mx
sql/backends/monet5/datacell/receptor.mx
Branch: default
Log Message:

Basic basket, receptor, emitter works
The code has been checked and basket.register(), receptor.start(),
and emitter.start() seem to work (= not to crash).
SQL layer hangs on resolution bug.


diffs (truncated from 807 to 300 lines):

diff --git a/sql/backends/monet5/datacell/50_datacell.mal 
b/sql/backends/monet5/datacell/50_datacell.mal
--- a/sql/backends/monet5/datacell/50_datacell.mal
+++ b/sql/backends/monet5/datacell/50_datacell.mal
@@ -16,7 +16,7 @@
 # All Rights Reserved.
 
 # This loads the MonetDB/SQL module
-library datacell;
+include datacell;
 include basket;
 include receptor;
 include emitter;
diff --git a/sql/backends/monet5/datacell/50_datacell.sql 
b/sql/backends/monet5/datacell/50_datacell.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/datacell/50_datacell.sql
@@ -0,0 +1,40 @@
+# The contents of this file are subject to the MonetDB Public License
+# Version 1.1 (the License); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html
+#
+# Software distributed under the License is distributed on an AS IS
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+#
+# The Original Code is the MonetDB Database System.
+#
+# The Initial Developer of the Original Code is CWI.
+# Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
+# Copyright August 2008-2011 MonetDB B.V.
+# All Rights Reserved.
+
+-- Datacell basket  wrappers
+create schema datacell;
+create procedure datacell.basket(sch string, tbl string)
+   external name datacell.basket;
+
+create function datacell.inventory()
+returns table (kind string, nme string)
+   external name datacell.inventory;
+
+create procedure datacell.receptor(sch string, tbl string, host string, port 
int, protocol string)
+external name receptor.start;
+
+create procedure datacell.emitter(sch string, tbl string, host string, port 
int, protocol string)
+external name emitter.start;
+
+create procedure datacell.pause (sch string, tbl string)
+external name datacell.pause;
+
+create procedure datacell.resume (sch string, tbl string)
+external name datacell.resume;
+
+create procedure datacell.drop (sch string, tbl string)
+external name datacell.drop;
diff --git a/sql/backends/monet5/datacell/Makefile.ag 
b/sql/backends/monet5/datacell/Makefile.ag
--- a/sql/backends/monet5/datacell/Makefile.ag
+++ b/sql/backends/monet5/datacell/Makefile.ag
@@ -40,6 +40,7 @@
  receptor.mx \
  petrinet.mx \
  dcoperator.mx \
+ datacell.mx \
  emitter.mx 
 
LIBS = ../../../../monetdb5/tools/libmonetdb5 \
@@ -70,6 +71,7 @@
  receptor.mal \
  emitter.mal \
  petrinet.mal \
+ datacell.mal \
  dcoperator.mal
 }
 
diff --git a/sql/backends/monet5/datacell/Tests/basket00.mal 
b/sql/backends/monet5/datacell/Tests/basket00.mal
--- a/sql/backends/monet5/datacell/Tests/basket00.mal
+++ b/sql/backends/monet5/datacell/Tests/basket00.mal
@@ -1,18 +1,15 @@
 #Testing the basket functionality
-libary datacell;
-include basket;
+# this assumes you have ran first datacell00.sql
 
-p1:= basket.new(sys_x_p1,:bat[:lng,:int]);
-p2:= basket.new(sys_x_p2,:bat[:lng,:int]);
+basket.register(datacell,x);
 
-basket.group(X,sys_x_p1,sys_x_p2);
+basket.lock(x);
+io.print(x locked);
+basket.unlock(x);
 
-basket.lock(X);
-io.print(sys_x_p1 locked);
-basket.unlock(X);
+basket.drop(x);
 
-basket.lock(X);
-io.print(sys_x_p2 locked);
-basket.unlock(X);
-
-basket.drop(X);
+# The SQL equivalent
+#call datacell.basket('datacell','x');
+#call datacell.lock('x');
+#call datacell.unlock('x');
diff --git a/sql/backends/monet5/datacell/Tests/datacell00.sql 
b/sql/backends/monet5/datacell/Tests/datacell00.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/datacell/Tests/datacell00.sql
@@ -0,0 +1,5 @@
+#set up the minimal test environment for datacell
+
+create schema datacell;
+create table datacell.X( id int, tag