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
