Changeset: 1e2b54f09a30 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1e2b54f09a30
Modified Files:
        MonetDB5/src/Makefile.ag
        MonetDB5/src/compiler/Makefile.ag
        MonetDB5/src/compiler/Tests/All
        MonetDB5/src/compiler/Tests/mal01.mal
        MonetDB5/src/compiler/Tests/mal01.stable.err
        MonetDB5/src/compiler/Tests/mal01.stable.out
        MonetDB5/src/compiler/Tests/sql01.mal
        MonetDB5/src/compiler/Tests/sql01.stable.err
        MonetDB5/src/compiler/Tests/sql01.stable.out
        MonetDB5/src/compiler/mal_compiler.mx
        MonetDB5/src/compiler/mcc
        MonetDB5/src/extras/Makefile.ag
        MonetDB5/src/extras/compiler/Makefile.ag
        MonetDB5/src/extras/compiler/Tests/All
        MonetDB5/src/extras/compiler/Tests/mal01.mal
        MonetDB5/src/extras/compiler/Tests/mal01.stable.err
        MonetDB5/src/extras/compiler/Tests/mal01.stable.out
        MonetDB5/src/extras/compiler/Tests/sql01.mal
        MonetDB5/src/extras/compiler/Tests/sql01.stable.err
        MonetDB5/src/extras/compiler/Tests/sql01.stable.out
        MonetDB5/src/extras/compiler/mal_compiler.mx
        MonetDB5/src/extras/crackers/Makefile.ag
        MonetDB5/src/extras/crackers/crackers.mx
        MonetDB5/src/extras/crackers/crackers_AVL_index.mx
        MonetDB5/src/extras/crackers/crackers_AVL_tree.mx
        MonetDB5/src/extras/crackers/crackers_core_ordered.mx
        MonetDB5/src/extras/crackers/crackers_core_unordered.mx
        MonetDB5/src/extras/crackers/crackers_crackmerge.mx
        MonetDB5/src/extras/crackers/crackers_index.mx
        MonetDB5/src/extras/crackers/crackers_joins.mx
        MonetDB5/src/extras/crackers/crackers_joinselect_ops.mx
        MonetDB5/src/extras/crackers/crackers_partial_sideways.mx
        MonetDB5/src/extras/crackers/crackers_populate.mx
        MonetDB5/src/extras/crackers/crackers_pq.mx
        MonetDB5/src/extras/crackers/crackers_select_ops.mx
        MonetDB5/src/extras/crackers/crackers_sideways.mx
        MonetDB5/src/extras/crackers/crackers_sortmerge.mx
        MonetDB5/src/extras/crackers/crackers_updates.mx
        MonetDB5/src/extras/crackers/crackers_validation.mx
        MonetDB5/src/extras/rdf/10_rdf.mal
        MonetDB5/src/extras/rdf/Makefile.ag
        MonetDB5/src/extras/rdf/rdf.mx
        MonetDB5/src/extras/rdf/rdf_shredder.mx
        MonetDB5/src/extras/sphinx/sphinx.mx
        MonetDB5/src/extras/xml/05_xml.mal
        MonetDB5/src/extras/xml/Makefile.ag
        MonetDB5/src/extras/xml/Tests/All
        MonetDB5/src/extras/xml/Tests/batxml100.mal
        MonetDB5/src/extras/xml/Tests/xml100.mal
        MonetDB5/src/extras/xml/Tests/xml100.modules
        MonetDB5/src/extras/xml/Tests/xml100.stable.err
        MonetDB5/src/extras/xml/Tests/xml100.stable.out
        MonetDB5/src/extras/xml/batxml.mx
        MonetDB5/src/extras/xml/xml.mx
        MonetDB5/src/mal/Makefile.ag
        MonetDB5/src/mal/monetdb-mal.pc.in
        MonetDB5/src/modules/atoms/05_xml.mal
        MonetDB5/src/modules/atoms/Makefile.ag
        MonetDB5/src/modules/atoms/Tests/All
        MonetDB5/src/modules/atoms/Tests/xml100.mal
        MonetDB5/src/modules/atoms/Tests/xml100.modules
        MonetDB5/src/modules/atoms/Tests/xml100.stable.err
        MonetDB5/src/modules/atoms/Tests/xml100.stable.out
        MonetDB5/src/modules/atoms/xml.mx
        MonetDB5/src/modules/kernel/Makefile.ag
        MonetDB5/src/modules/kernel/sphinx.mx
        MonetDB5/src/modules/mal/Makefile.ag
        MonetDB5/src/modules/mal/Tests/batxml100.mal
        MonetDB5/src/modules/mal/batxml.mx
        MonetDB5/src/modules/mal/crackers/Makefile.ag
        MonetDB5/src/modules/mal/crackers/crackers.mx
        MonetDB5/src/modules/mal/crackers/crackers_AVL_index.mx
        MonetDB5/src/modules/mal/crackers/crackers_AVL_tree.mx
        MonetDB5/src/modules/mal/crackers/crackers_core_ordered.mx
        MonetDB5/src/modules/mal/crackers/crackers_core_unordered.mx
        MonetDB5/src/modules/mal/crackers/crackers_crackmerge.mx
        MonetDB5/src/modules/mal/crackers/crackers_index.mx
        MonetDB5/src/modules/mal/crackers/crackers_joins.mx
        MonetDB5/src/modules/mal/crackers/crackers_joinselect_ops.mx
        MonetDB5/src/modules/mal/crackers/crackers_partial_sideways.mx
        MonetDB5/src/modules/mal/crackers/crackers_populate.mx
        MonetDB5/src/modules/mal/crackers/crackers_pq.mx
        MonetDB5/src/modules/mal/crackers/crackers_select_ops.mx
        MonetDB5/src/modules/mal/crackers/crackers_sideways.mx
        MonetDB5/src/modules/mal/crackers/crackers_sortmerge.mx
        MonetDB5/src/modules/mal/crackers/crackers_updates.mx
        MonetDB5/src/modules/mal/crackers/crackers_validation.mx
        MonetDB5/src/modules/mal/mal_init.mx
        MonetDB5/src/modules/mal/rdf/10_rdf.mal
        MonetDB5/src/modules/mal/rdf/Makefile.ag
        MonetDB5/src/modules/mal/rdf/rdf.mx
        MonetDB5/src/modules/mal/rdf/rdf_shredder.mx
        MonetDB5/src/modules/mal/tablet.mx
        MonetDB5/src/optimizer/Makefile.ag
        MonetDB5/src/scheduler/Makefile.ag
        MonetDB5/src/tools/Makefile.ag
        MonetDB5/src/tools/monetdb-mal.pc.in
        sql/src/backends/monet5/Makefile.ag
        sql/src/backends/monet5/vaults/Makefile.ag
Branch: default
Log Message:

Build a self-containing libmonetdb5

Rework building process to have a libmonetdb5 shared library which
includes all functionality that is loaded/necessary by a default
mserver5.  This way, embedded clients can link against libmonetdb5 and
need not to link against the private libraries of MonetDB5.

This also reduces the need to dynamically load many loadable objects,
since they are in the used libmonetdb5.

In this process, all pieces of code that need to be loaded dynamically
(e.g. are not included because they are optional), were moved to extras.
This is necessary, because they can only be built after libmonetdb5 is
built, since they have to link against this library.


diffs (truncated from 55428 to 300 lines):

diff -r 97f742bd9f54 -r 1e2b54f09a30 MonetDB5/src/Makefile.ag
--- a/MonetDB5/src/Makefile.ag  Mon Nov 01 14:50:37 2010 +0100
+++ b/MonetDB5/src/Makefile.ag  Mon Nov 01 15:55:28 2010 +0100
@@ -17,4 +17,5 @@
 
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = mal modules tools compiler optimizer scheduler
+# compiler
+SUBDIRS = mal modules optimizer scheduler tools extras
diff -r 97f742bd9f54 -r 1e2b54f09a30 MonetDB5/src/compiler/Makefile.ag
--- a/MonetDB5/src/compiler/Makefile.ag Mon Nov 01 14:50:37 2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-# 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-2010 MonetDB B.V.
-# All Rights Reserved.
-
-INCLUDES = -I../modules/atoms -I../mal \
-       $(MONETDB_INCS) \
-       $(Z_CFLAGS) $(BZ_CFLAGS) $(PCRE_CFLAGS)
-
-
-MTSAFE
-
-LIBS = {
-       DIR = libdir/MonetDB5
-       SEP = _
-       SOURCES = \
-       mal_compiler.mx 
-
-       #SCRIPTS = mal
-       LIBS = ../mal/libmonetdb5 $(MONETDB_LIBS) -lbat -lstream \
-                $(SOCKET_LIBS) $(Z_LIBS) $(BZ_LIBS) \
-                $(MALLOC_LIBS) $(PTHREAD_LIBS) $(DL_LIBS)
-}
-
-headers_h = {
-       DIR = includedir/MonetDB5/compiler
-       SOURCES = \
-       mal_compiler.mx 
-
-       HEADERS = h 
-}
-
-headers_mal = {
-       HEADERS = mal
-       DIR = libdir/MonetDB5
-       SOURCES = mal_compiler.mx 
-}
-
-EXTRA_DIST_DIR = Tests
diff -r 97f742bd9f54 -r 1e2b54f09a30 MonetDB5/src/compiler/Tests/All
--- a/MonetDB5/src/compiler/Tests/All   Mon Nov 01 14:50:37 2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-#sql01
-#mal01
diff -r 97f742bd9f54 -r 1e2b54f09a30 MonetDB5/src/compiler/Tests/mal01.mal
--- a/MonetDB5/src/compiler/Tests/mal01.mal     Mon Nov 01 14:50:37 2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-include mal_compiler;
-function tst903();
-    b:= bat.new(:void,:lng);
-    barrier (go,i):= language.newRange(0:lng);
-        k:= mmath.rand();
-        l:= calc.lng(k);
-        bat.insert(b,nil,l);
-        redo (go,i):= language.nextElement(1:lng,1000000:lng);
-    exit (go,i);
-end tst903;
-
-t0:= alarm.usec();
-user.tst903();
-t1:= alarm.usec();
-t1:= t1-t0;
-io.printf("#timing %d\n",t1);
-
-compiler.MALtoC("user","tst903","mal01");
-compiler.mcc("mal01");
-compiler.load("user","tst903","mal01");
-
-t0:= alarm.usec();
-user.tst903();
-t1:= alarm.usec();
-t1:= t1-t0;
-io.printf("#timing %d\n",t1);
diff -r 97f742bd9f54 -r 1e2b54f09a30 
MonetDB5/src/compiler/Tests/mal01.stable.err
--- a/MonetDB5/src/compiler/Tests/mal01.stable.err      Mon Nov 01 14:50:37 
2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-stderr of test 'mal01` in directory 'src/compiler` itself:
-
-
-# 10:43:14 >  
-# 10:43:14 >  Mtimeout -timeout 60  mserver5 
"--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf" --debug=10 --set 
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set 
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/dblogs"  --set mapi_open=true 
--set xrpc_open=true --set mapi_port=32803 --set xrpc_port=43201 --set 
monet_prompt= --trace --dbname=mTests_src_compiler  mal01.mal
-# 10:43:14 >  
-
-#warning: please don't forget to set your vault key!
-#(see /ufs/mk/monet5/Linux/etc/monetdb5.conf)
-
-# 10:43:15 >  
-# 10:43:15 >  Done.
-# 10:43:15 >  
-
diff -r 97f742bd9f54 -r 1e2b54f09a30 
MonetDB5/src/compiler/Tests/mal01.stable.out
--- a/MonetDB5/src/compiler/Tests/mal01.stable.out      Mon Nov 01 14:50:37 
2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-stdout of test 'mal01` in directory 'src/compiler` itself:
-
-
-# 10:43:14 >  
-# 10:43:14 >  Mtimeout -timeout 60  mserver5 
"--config=/ufs/mk/monet5/Linux/etc/monetdb5.conf" --debug=10 --set 
"monet_mod_path=/ufs/mk/monet5//Linux/lib/MonetDB5:/ufs/mk/monet5//Linux/lib/MonetDB5/lib:/ufs/mk/monet5//Linux/lib/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/mk/monet5//Linux/var/MonetDB5/dbfarm" --set 
"sql_logdir=/ufs/mk/monet5//Linux/var/MonetDB5/dblogs"  --set mapi_open=true 
--set xrpc_open=true --set mapi_port=32803 --set xrpc_port=43201 --set 
monet_prompt= --trace --dbname=mTests_src_compiler  mal01.mal
-# 10:43:14 >  
-
-# MonetDB server v5.3.0, based on kernel v1.21.0
-# Serving database 'mTests_src_compiler'
-# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked
-# Copyright (c) 1993-2007 CWI, all rights reserved
-# Visit http://monetdb.cwi.nl/ for further information
-# Listening for connection requests on mapi:monetdb://gio.ins.cwi.nl:32803/
-#include mal_compiler;
-#function tst903();
-#    b:= bat.new(:void,:lng);
-#    barrier (go,i):= language.newRange(0:lng);
-#        k:= mmath.rand();
-#        l:= calc.lng(k);
-#        bat.insert(b,nil,l);
-#        redo (go,i):= language.nextElement(1:lng,1000000:lng);
-#    exit (go,i);
-#end tst903;
-function user.tst903():void;   # 0  (tst903:void)
-    b := bat.new(:void,:lng);  # 1 CMDBATnew 
(b:bat[:void,:lng])<-(_2:void)(_3:lng)
-barrier (go,i):= language.newRange(0:lng);     # 2 RNGnewRange_lng 
(go:bit)(i:lng)<-(_6:lng) jump 7
-    k := mmath.rand(); # 3 MATHrandint (k:int)
-    l := calc.lng(k);  # 4 CALCint2lng (l:lng)<-(k:int)
-    bat.insert(b,nil:void,l);  # 5 BKCinsert_bun 
(_9:void)<-(b:bat[:void,:lng])(_10:void)(l:lng)
-    redo (go,i):= language.nextElement(1:lng,1000000:lng);     # 6 
RNGnextElement_lng (go:bit)(i:lng)<-(_11:lng)(_12:lng) jump 3
-exit (go,i);   # 7  (go:bit)(i:lng)
-end tst903;    # 8  
-#
-#compiler.MALtoC("user","tst903","mal01");
-#
-function user.main():void;     # 0  (main:void)
-    compiler.MALtoC("user","tst903","mal01");  # 1 MCdynamicCompiler 
(_1:void)<-(_2:str)(_3:str)(_4:str)
-end main;      # 2  
-Calling the dynamic compiler
-MCdynamicCompiler: user.tst903
-!WARNING: call to bat.new can not be handled correctly
-=/* MAL to C compiler
-=   Copyright (c) 2001-2007, CWI.
-=   All rights reserved.
-=*/
-=#include "mal_config.h"
-=#include "mal.h"
-=#include "mal_interpreter.h"
-=#include "mal_function.h"
-=#define BID int
-=str MCCuser_tst903(void *tst903)
-={
-=      BID b= 0; /* bat[:void,:lng] */
-=      void *V2= 0; /* void */
-=      lng V3 = 0;
-=      bit go = 0;
-=      lng i = 0;
-=      lng V6 = 0;
-=      int k = 0;
-=      lng l = 0;
-=      void *V9= 0; /* void */
-=      void *V10= 0; /* void */
-=      lng V11 = 1;
-=      lng V12 = 1000000;
-=      str Xmsg = MAL_SUCCEED;
-=      BID *backup= (BID*) alloca(8 * sizeof(BID));
-=      backup[0]=b;
-=      if( Xmsg = CMDBATnew(&b,&V2,&V3) ) goto wrapup;
-=      if(backup[0] == b) BBPreleaseref(backup[0]);
-=      else BBPdecref(backup[0],TRUE);
-=      if( Xmsg = RNGnewRange_lng(&go,&i,&V6) ) goto wrapup;
-=      if(  go == 0 ||go== bit_nil ) goto EXIT_7;
-=BARRIER_3:
-=      if( Xmsg = MATHrandint(&k) ) goto wrapup;
-=      if( Xmsg = CALCint2lng(&l,&k) ) goto wrapup;
-=      if( Xmsg = BKCinsert_bun(&V9,&b,&V10,&l) ) goto wrapup;
-=      if( Xmsg = RNGnextElement_lng(&go,&i,&V11,&V12) ) goto wrapup;
-=      if( !( go == 0 ||go== bit_nil) ) goto BARRIER_3;
-=EXIT_7: ;
-=wrapup:;
-=      if( b&& BBP_lrefs(b) ) BBPdecref(b,TRUE);
-=}
-=
-# 22:07:26 >  
-# 22:07:26 >  Done.
-# 22:07:26 >  
-
diff -r 97f742bd9f54 -r 1e2b54f09a30 MonetDB5/src/compiler/Tests/sql01.mal
--- a/MonetDB5/src/compiler/Tests/sql01.mal     Mon Nov 01 14:50:37 2010 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-include mal_compiler;
-#include sql;
-module sql;
-function sql.bind(d:str,t:str,a:str,i:int):bat[:any_1,:any_2];
-       bind:= nil;
-       return bind;
-end bind;
-#sql.compiler("sql01","select * from tables;");
-function sql.qry():void;
-    T1:bat[:oid,:int]{notnil=true,rows=0:lng,bid=113}  := 
sql.bind("tmp","Ttables","id",0);
-    constraints.emptySet(T1);
-    T10:bat[:oid,:sht]{notnil=true,rows=0:lng,bid=117}  := 
sql.bind("tmp","Ttables","type",0);
-    T13:bat[:oid,:int]{notnil=true,rows=30:lng,bid=67}  := 
sql.bind("sys","Ttables","id",0);
-    T15:bat[:oid,:int]{notnil=true,rows=0:lng,bid=307}  := 
sql.bind("sys","Ttables","id",1);
-    constraints.emptySet(T15);
-    T15:bat[:oid,:int]{notnil=true,rows=0:lng,bid=307}  := nil;
-    T16:bat[:oid,:int]{notnil=true,rows=0:lng,bid=309}  := 
sql.bind("sys","Ttables","id",2);
-    constraints.emptySet(T16);
-    T16:bat[:oid,:int]{notnil=true,rows=0:lng,bid=309}  := nil;
-    T20:bat[:oid,:sht]{notnil=true,rows=30:lng,bid=71}  := 
sql.bind("sys","Ttables","type",0);
-    T39:bat[:oid,:str]{notnil=true,rows=0:lng,bid=114}  := 
sql.bind("tmp","Ttables","name",0);
-    T42:bat[:oid,:str]{notnil=true,rows=30:lng,bid=68}  := 
sql.bind("sys","Ttables","name",0);
-    T47:bat[:oid,:int]{notnil=true,rows=0:lng,bid=115}  := 
sql.bind("tmp","Ttables","schemaTid",0);
-    T50:bat[:oid,:int]{notnil=true,rows=30:lng,bid=69}  := 
sql.bind("sys","Ttables","schemaTid",0);
-    T55:bat[:oid,:str]{notnil=true,rows=0:lng,bid=116}  := 
sql.bind("tmp","Ttables","query",0);
-    T58:bat[:oid,:str]{notnil=true,rows=30:lng,bid=70}  := 
sql.bind("sys","Ttables","query",0);
-    T64:bat[:oid,:bit]{notnil=true,rows=0:lng,bid=118}  := 
sql.bind("tmp","Ttables","system",0);
-    T67:bat[:oid,:bit]{notnil=true,rows=30:lng,bid=72}  := 
sql.bind("sys","Ttables","system",0);
-    T72:bat[:oid,:sht]{notnil=true,rows=0:lng,bid=119}  := 
sql.bind("tmp","Ttables","commitTaction",0);
-    T75:bat[:oid,:sht]{notnil=true,rows=30:lng,bid=73}  := 
sql.bind("sys","Ttables","commitTaction",0);
-    T8{rows=0:lng} := algebra.markT(T1,0...@0);
-    T9{rows=0:lng} := bat.reverse(T8);
-    T8{rows=0:lng} := nil;
-    T12{rows=0:lng} := algebra.join(T9,T10);
-    T10:bat[:oid,:sht]{notnil=true,rows=0:lng,bid=117}  := nil;
-    T18{rows=30:lng} := algebra.markT(T13,0...@0);
-    T19{rows=30:lng} := bat.reverse(T18);
-    T18{rows=30:lng} := nil;
-    T21{rows=30:lng} := algebra.join(T19,T20);
-    T20:bat[:oid,:sht]{notnil=true,rows=30:lng,bid=71}  := nil;
-    T22{rows=31:lng} := bat.setWriteMode(T21);
-    T21{rows=30:lng} := nil;
-    bat.append(T22,T12,true);
-    T12{rows=0:lng} := nil;
-    T26{rows=31:lng} := algebra.uselect(T22,nil:sht,2:sht,false,false);
-    T29{rows=31:lng} := algebra.markT(T26,0...@0);
-    T26{rows=31:lng} := nil;
-    T30{rows=31:lng} := bat.reverse(T29);
-    T29{rows=31:lng} := nil;
-    T31{rows=0:lng} := algebra.join(T9,T1);
-    T1:bat[:oid,:int]{notnil=true,rows=0:lng,bid=113}  := nil;
-    T32{rows=30:lng} := algebra.join(T19,T13);
-    T13:bat[:oid,:int]{notnil=true,rows=30:lng,bid=67}  := nil;
-    T33{rows=31:lng} := bat.setWriteMode(T32);
-    T32{rows=30:lng} := nil;
-    bat.append(T33,T31,true);
-    T31{rows=0:lng} := nil;
-    T35{rows=31:lng} := algebra.join(T30,T33);
-    T36{rows=31:lng} := algebra.markT(T35,0...@0);
-    T35{rows=31:lng} := nil;
-    T37{rows=31:lng} := bat.reverse(T36);
-    T36{rows=31:lng} := nil;
-    T38{rows=31:lng} := algebra.joinPath(T37,T30,T33);
-    T33{rows=31:lng} := nil;
-    T41{rows=0:lng} := algebra.join(T9,T39);
-    T39:bat[:oid,:str]{notnil=true,rows=0:lng,bid=114}  := nil;
-    T43{rows=30:lng} := algebra.join(T19,T42);
-    T42:bat[:oid,:str]{notnil=true,rows=30:lng,bid=68}  := nil;
-    T44{rows=31:lng} := bat.setWriteMode(T43);
-    T43{rows=30:lng} := nil;
-    bat.append(T44,T41,true);
-    T41{rows=0:lng} := nil;
-    T46{rows=31:lng} := algebra.joinPath(T37,T30,T44);
-    T44{rows=31:lng} := nil;
-    T49{rows=0:lng} := algebra.join(T9,T47);
-    T47:bat[:oid,:int]{notnil=true,rows=0:lng,bid=115}  := nil;
-    T51{rows=30:lng} := algebra.join(T19,T50);
-    T50:bat[:oid,:int]{notnil=true,rows=30:lng,bid=69}  := nil;
-    T52{rows=31:lng} := bat.setWriteMode(T51);
-    T51{rows=30:lng} := nil;
-    bat.append(T52,T49,true);
-    T49{rows=0:lng} := nil;
-    T54{rows=31:lng} := algebra.joinPath(T37,T30,T52);
-    T52{rows=31:lng} := nil;
-    T57{rows=0:lng} := algebra.join(T9,T55);
-    T55:bat[:oid,:str]{notnil=true,rows=0:lng,bid=116}  := nil;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to