Re: How would I add a new directory to /monetdb5/extras/

It's a shared library that will only be loaded once required at run time. Just say yes when gab asks you if the breakpoint should only be set once the library/code is loaded. -- | Stefan.Manegold @ CWI.nl | DB Architectures (INS1) | | http://CWI.nl/~manegold/ | Science Park 123 (L321) | | Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) | ----- Reply message ----- From: "Chi-Young Ku" <chi@querymetrica.com> To: "Communication channel for developers of the MonetDB suite." <developers-list@monetdb.org> Subject: How would I add a new directory to /monetdb5/extras/ Date: Wed, Mar 27, 2013 19:08 Hi Babis, Thanks a lot for your help! I am able to get the foo directory compiled and built lib_foo.la. But, when I attatch GDB to the mserver5 process and try to set a breakpoint in foo.test(), I got an error saying foo.test() is not loaded. Have I missed anything? Chi ________________________________ From: Charalampos Nikolaou <charnik@di.uoa.gr> To: Communication channel for developers of the MonetDB suite. <developers-list@monetdb.org> Sent: Thursday, March 21, 2013 3:04 PM Subject: Re: How would I add a new directory to /monetdb5/extras/ Hi, you have to edit monetdb5/extras/Makefile.ag appending to variable SUBDIRS the name of the directory you want to add. For example, if you want to add directory "foo", given that the value of SUBDIRS was HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql mal_optimizer_template the new value for SUBDIRS should be HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql mal_optimizer_template foo Of course, this way you should run de-bootstrap and bootstrap again. Notice, that you have to specify also another Makefile.ag in monetdb5/extras/foo for taking care of the compilation of your code. However, I don't see any connection of your question to the message you replied to. Babis On Thu, Mar 21, 2013 at 7:35 PM, Chi-Young Ku <chi@querymetrica.com> wrote:
Hi,
I would like to add a new sub-directory to /monetdb5/extras/ so that:
1. the configure process generates Makefiles for it and
2. it gets built when "make" is invoke in the top source directory.
Thanks in advance.
Chi
________________________________ From: Stephen P. Morgan <stephen_p_morgan@sbcglobal.net> To: developers-list@monetdb.org Sent: Thursday, March 21, 2013 12:06 PM Subject: Question in re remote.exec()
I have a question about remote.exec(). Let's say I have a user function, s1_1 that takes a BAT as a parameter and returns a BAT. Its signature might be:
function user.s1_1(in:bat[:oid,:int]):bat[:oid,:int];
How can I call s1_1 using remote.exec to pass in a BAT and to retrieve the result? I want to do something like
X_2 := remote.exec(conn, "user", "s1_1", X_1);
where X_1 and X_2 are both :bat[:oid,:int]. But that doesn't seem to work.
Thanks,
Steve Morgan
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list

Hi Stefan, I am trying to restore "monetdb5/extras/crackers" to the MonetDB-11.15.3 release. I have done the following steps: 1. copied monetdb5/extras/crackers over 2. copied ./monetdb5/optimizer/opt_wrapper.c 3. changed monetdb5/extras/Makefile.ag to add the crackers sub-directory 4. changed monetdb5/extras/crackers_sideways.mx to eliminate references to lview 5. added the "cracker_pipe" in opt_pipes.c 6. changed common/options/monet_options.c to use the "cracker_pipe" However, the "cracker_pipe" optimizer could not be compiled at the following line: #0 getAddress (out=0x8bff950, filename=0x0, modnme=0x8b9ff90 "optimizer", fcnname=0xb77a697f "OPTselcrack", silent=1) at mal_linker.c:119 #1 0xb776e726 in compileOptimizer (cntxt=0x8091b58, name=0x83a8320 "cracker_pipe") at opt_pipes.c:555 #2 0xb776e98d in addOptimizerPipe (cntxt=0x8091b58, mb=0x8b1c578, name=0x83a8320 "cracker_pipe") at opt_pipes.c:598 #3 0xb63c3ecf in addOptimizers (c=0x8091b58, mb=0x8b1c578, pipe=0x83a8320 "cracker_pipe") at sql_optimizer.c:244 #4 0xb63c4104 in addQueryToCache (c=0x8091b58) at sql_optimizer.c:292 #5 0xb63c296c in backend_dumpproc (be=0x8e145b0, c=0x8091b58, cq=0x8b48b58, s=0x903f620) at sql_gencode.c:2433 #6 0xb639ee0a in SQLparser (c=0x8091b58) at sql_scenario.c:1709 #7 0xb7580e3a in runPhase (c=0x8091b58, phase=1) at mal_scenario.c:522 #8 0xb7580f98 in runScenarioBody (c=0x8091b58) at mal_scenario.c:557 #9 0xb7581169 in runScenario (c=0x8091b58) at mal_scenario.c:586 #10 0xb75820ef in MSserveClient (dummy=0x8091b58) at mal_session.c:431 #11 0xb70e013a in wrapper_routine (data=0xb6784f5c) at gdk_system.c:559 #12 0xb6b3bb05 in start_thread () from /lib/libpthread.so.0 #13 0xb6a9cd5e in clone () from /lib/libc.so.6 The function getAddress could not find OPTselcrack(). I did a symbol dump of the built lib_crackers.so and got: chiku@linux-c2ni:/usr/local/lib> nm ./monetdb5/lib_crackers.so | grep OPTselcrack 005da67d T OPTselcrack 005d9c94 t OPTselcrackImplementation I also examined the outputs from "make; make install" from MonetDB-11.9.7 and the above built process. But, there was not any visible difference. Could you point out what I missed? Thanks in advance. Chi ________________________________ From: Stefan Manegold <Stefan.Manegold@cwi.nl> To: Communication channel for developers of the MonetDB suite. <developers-list@monetdb.org> Sent: Wednesday, March 27, 2013 7:36 PM Subject: Re: How would I add a new directory to /monetdb5/extras/ It's a shared library that will only be loaded once required at run time. Just say yes when gab asks you if the breakpoint should only be set once the library/code is loaded. -- | Stefan.Manegold @ CWI.nl | DB Architectures (INS1) | | http://CWI.nl/~manegold/ | Science Park 123 (L321) | | Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) | ----- Reply message ----- From: "Chi-Young Ku" <chi@querymetrica.com> To: "Communication channel for developers of the MonetDB suite." <developers-list@monetdb.org> Subject: How would I add a new directory to /monetdb5/extras/ Date: Wed, Mar 27, 2013 19:08 Hi Babis, Thanks a lot for your help! I am able to get the foo directory compiled and built lib_foo.la. But, when I attatch GDB to the mserver5 process and try to set a breakpoint in foo.test(), I got an error saying foo.test() is not loaded. Have I missed anything? Chi ________________________________ From: Charalampos Nikolaou <charnik@di.uoa.gr> To: Communication channel for developers of the MonetDB suite. <developers-list@monetdb.org> Sent: Thursday, March 21, 2013 3:04 PM Subject: Re: How would I add a new directory to /monetdb5/extras/ Hi, you have to edit monetdb5/extras/Makefile.ag appending to variable SUBDIRS the name of the directory you want to add. For example, if you want to add directory "foo", given that the value of SUBDIRS was HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql mal_optimizer_template the new value for SUBDIRS should be HAVE_RAPTOR?rdf HAVE_SPHINXCLIENT?sphinx HAVE_JAQL?jaql mal_optimizer_template foo Of course, this way you should run de-bootstrap and bootstrap again. Notice, that you have to specify also another Makefile.ag in monetdb5/extras/foo for taking care of the compilation of your code. However, I don't see any connection of your question to the message you replied to. Babis On Thu, Mar 21, 2013 at 7:35 PM, Chi-Young Ku <chi@querymetrica.com> wrote:
Hi,
I would like to add a new sub-directory to /monetdb5/extras/ so that:
1. the configure process generates Makefiles for it and
2. it gets built when "make" is invoke in the top source directory.
Thanks in advance.
Chi
________________________________ From: Stephen P. Morgan <stephen_p_morgan@sbcglobal.net> To: developers-list@monetdb.org Sent: Thursday, March 21, 2013 12:06 PM Subject: Question in re remote.exec()
I have a question about remote.exec(). Let's say I have a user function, s1_1 that takes a BAT as a parameter and returns a BAT. Its signature might be:
function user.s1_1(in:bat[:oid,:int]):bat[:oid,:int];
How can I call s1_1 using remote.exec to pass in a BAT and to retrieve the result? I want to do something like
X_2 := remote.exec(conn, "user", "s1_1", X_1);
where X_1 and X_2 are both :bat[:oid,:int]. But that doesn't seem to work.
Thanks,
Steve Morgan
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
_______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list _______________________________________________ developers-list mailing list developers-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list
participants (2)
-
Chi-Young Ku
-
Stefan Manegold