On Thu, Jul 17, 2008 at 04:42:42PM +0000, Ying Zhang wrote: > Update of /cvsroot/monetdb/pathfinder/runtime > In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv1165 > > Modified Files: > Makefile.ag serialize_dflt.mx xrpc_client.mx xrpc_common.mx > xrpc_server.mx > Added Files: > xrpc_const.mx > Log Message: > Since xrpc_server and xrpc_client are not independent of each other (the > server needs the client to handle nested xrpc queries), better put them > into one lib. This way, we also get rid of the problem that > xrpc_common.mx is included in two libs.
The "xrpc_server" & "xrpc_client" used to be not only "libs" but also *modules*. Replacing two modules xrpc_server & xrpc_client by one module "xrpc" requires some more work: ======== $ Mserver --dbinit='module(pathfinder);' !WARNING: GDKlockHome: created directory /ufs/manegold/_/scratch0/Monet/Testing/Current/prefix.--enable-strict_--disable-optimize_--enable-debug_--enable-assert/var/MonetDB4/dbfarm/demo/ !WARNING: GDKlockHome: ignoring empty or invalid .gdk_lock. !WARNING: BBPdir: initializing BBP. # MonetDB Server v4.25.0 # based on GDK v1.25.0 # Copyright (c) 1993-2008, CWI. All rights reserved. # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. !ERROR: TBL_openmod: DL_open: library not found. !ERROR: TBL_loadmod: module load _xrpc_server cancelled. !ERROR: moduleClient: module(_xrpc_server) load error. !ERROR: TBL_openmod: DL_open: library not found. !ERROR: TBL_loadmod: module load _xrpc_client cancelled. !ERROR: moduleClient: module(_xrpc_client) load error. # PF/Tijah module v0.5.0 loaded. http://dbappl.cs.utwente.nl/pftijah !ERROR: interpret_params: append(param 1): invalid BAT. MonetDB> ======== Stefan > Also separate xrpc constant strings into a new header file, so that > serialize_dflt kan include it. > > > > U xrpc_common.mx > Index: xrpc_common.mx > =================================================================== > RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc_common.mx,v > retrieving revision 1.6 > retrieving revision 1.7 > diff -u -d -r1.6 -r1.7 > --- xrpc_common.mx 17 Jul 2008 14:56:19 -0000 1.6 > +++ xrpc_common.mx 17 Jul 2008 16:42:38 -0000 1.7 > @@ -24,134 +24,12 @@ > @' $Id$ > @f xrpc_common > @a Ying Zhang > [EMAIL PROTECTED] Includes header files, definitions shared by the XRPC > server, XRPC client and serializer > [EMAIL PROTECTED] Includes struct and functions shared by the XRPC server and > XRPC client > > @h > #ifndef XRPC_COMMON_H > #define XRPC_COMMON_H > > -/* HTTP defines */ > -#define XRPC_DOC_CALLBACK "/xrpc/doc" > -#define XRPC_ADM_CALLBACK "/xrpc/admin" > -#define XRPC_WSAT_CALLBACK "/xrpc/wsat" > -#define XRPC_REQ_CALLBACK "/xrpc" > - > -#define ERR403 "403 Forbidden" > -#define ERR404 "404 Bad Request" > -#define ERR408 "408 Request Timeout" > -#define ERR500 "500 Internal Server Error" > -#define ERR504 "504 Gateway Timeout" > - > -#define OUT_OF_MEM "Internal Receiver Error: out-of memory" > -#define NOT_WELL_FORMED "Request XML message not well-formed" > -#define MAX_NR_PARAMS 1024 > - > -#define HTTP_200_OK\ > - "HTTP/1.1 200 OK\r\n"\ > - "Content-type: text/xml; charset=\"utf-8\"\r\n\r\n" > - > -/* Namespaces */ > -#define MXQ_ADMIN "http://monetdb.cwi.nl/XQuery/admin/" > -#define SOAP_NS "http://www.w3.org/2003/05/soap-envelope" > -#define XDT_NS "http://www.w3.org/2005/xpath-datatypes" > -#define XS_NS "http://www.w3.org/2001/XMLSchema" > -#define XSI_NS "http://www.w3.org/2001/XMLSchema-instance" > -#define XRPC_NS "http://monetdb.cwi.nl/XQuery" > -#define XRPC_LOC "http://monetdb.cwi.nl/XQuery/XRPC.xsd" > -#define WSCOOR_NS "http://docs.oasis-open.org/ws-tx/wscoor/2006/06" > -#define WSAT_NS "http://docs.oasis-open.org/ws-tx/wsat/2006/06" > - > -#define XRPC_REQ_QN XRPC_NS"|request" > -#define XRPC_RES_QN XRPC_NS"|response" > - > -/* XRPC SOAP snippets */ > -#define SOAP_ENVELOPE\ > - "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"\ > - "<env:Envelope\n"\ > - " xmlns:env=\"" SOAP_NS "\"\n"\ > - " xmlns:xrpc=\"" XRPC_NS "\"\n"\ > - " xmlns:xdt=\"" XDT_NS "\" \n"\ > - " xmlns:xs=\"" XS_NS "\"\n"\ > - " xmlns:xsi=\"" XSI_NS "\"\n"\ > - " xsi:schemaLocation=\"" XRPC_NS " " XRPC_LOC "\">\n" > - > -#define XRPC_WS_QID\ > - " <xrpc:header xrpc:mode=\"%s\">\n"\ > - " <wscoor:CoordinationContext\n"\ > - " xmlns:wscoor=\""WSCOOR_NS"\"\n"\ > - " env:mustUnderstand=\"true\">\n"\ > - " <wscoor:Identifier>%s</wscoor:Identifier>\n"\ > - " <wscoor:Expires>"LLFMT"</wscoor:Expires>\n"\ > - " <wscoor:CoordinationType>" WSAT_NS "</wscoor:CoordinationType>\n"\ > - " </wscoor:CoordinationContext>\n"\ > - " </xrpc:header>\n" > - > -#define XRPC_REQ_BODY_OPEN\ > - "<env:Body>\n"\ > - " <xrpc:request\n"\ > - " xrpc:module=\"%s\"\n"\ > - " xrpc:location=\"%s\"\n"\ > - " xrpc:method=\"%s\"\n"\ > - " xrpc:arity=\""LLFMT"\"\n"\ > - " xrpc:iter-count=\""LLFMT"\"\n"\ > - " xrpc:updCall=\"%s\"\n"\ > - " xrpc:caller=\"" > -#define XRPC_REQ_BODY\ > - XRPC_REQ_BODY_OPEN "%s:"LLFMT"\">\n" > -#define XRPC_REQ_BODY_FIRST_CALLER\ > - XRPC_REQ_BODY_OPEN "query\">\n" > - > -#define XRPC_WSAT_REQ SOAP_ENVELOPE\ > - "<env:Header>"\ > - XRPC_WS_QID \ > - "</env:Header>\n"\ > - "<env:Body><wsat:%s/></env:Body>\n"\ > - "</env:Envelope>" > - > -#define XRPC_WSAT_RES SOAP_ENVELOPE\ > - "<env:Header>\n"\ > - XRPC_WS_QID \ > - " <xrpc:partipant>%s,%s:%s:%s,"LLFMT",%d</xrpc:participant>\n"\ > - "</env:Header>\n"\ > - "<env:Body><wsat:%s/></env:Body>\n"\ > - "</env:Envelope>" > - > -#define XRPC_RES_BODY\ > - "<env:Body>\n"\ > - " <xrpc:response\n"\ > - " xrpc:module=\"%s\"\n"\ > - " xrpc:method=\"%s\">\n" > - > -#define XRPC_HTTP_CALL\ > - " <xrpc:call>"\ > - " <xrpc:sequence>"\ > - " <xrpc:atomic-value xsi:type=\"xs:string\">%s</xrpc:atomic-value>"\ > - " </xrpc:sequence>"\ > - " </xrpc:call>" > - > -#define XRPC_PUT_CALL\ > - " <xrpc:call>"\ > - " <xrpc:sequence>"\ > - " <xrpc:atomic-value xsi:type=\"xs:string\">%s</xrpc:atomic-value>"\ > - " </xrpc:sequence>"\ > - " <xrpc:sequence>"\ > - " <xrpc:element>%s</xrpc:element>"\ > - " </xrpc:sequence>"\ > - " </xrpc:call>" > - > -#define XRPC_REQ_FOOTER\ > - " </xrpc:request>\n"\ > - "</env:Body>\n"\ > - "</env:Envelope>" > - > -#ifndef HOST_NAME_MAX > -#ifdef _POSIX_HOST_NAME_MAX > -#define HOST_NAME_MAX _POSIX_HOST_NAME_MAX > -#else > -#define HOST_NAME_MAX 255 > -#endif > -#endif > - > typedef struct { > char *qid; > char *caller; > @@ -188,6 +66,7 @@ > #include "pf_config.h" > #include "pathfinder.h" > #include "xrpc_common.h" > +#include "xrpc_const.h" > > XRPCreq_t * > XRPCreq_new( > > U xrpc_client.mx > Index: xrpc_client.mx > =================================================================== > RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc_client.mx,v > retrieving revision 1.49 > retrieving revision 1.50 > diff -u -d -r1.49 -r1.50 > --- xrpc_client.mx 17 Jul 2008 14:56:19 -0000 1.49 > +++ xrpc_client.mx 17 Jul 2008 16:42:38 -0000 1.50 > @@ -398,6 +398,7 @@ > #include "shredder.h" > #include "serialize.h" > #include "xrpc_common.h" > +#include "xrpc_const.h" > #include "xrpc_client.h" > > int > > U serialize_dflt.mx > Index: serialize_dflt.mx > =================================================================== > RCS file: /cvsroot/monetdb/pathfinder/runtime/serialize_dflt.mx,v > retrieving revision 1.49 > retrieving revision 1.50 > diff -u -d -r1.49 -r1.50 > --- serialize_dflt.mx 17 Jul 2008 14:56:19 -0000 1.49 > +++ serialize_dflt.mx 17 Jul 2008 16:42:38 -0000 1.50 > @@ -41,7 +41,7 @@ > #include "serialize_null.h" > #include "pathfinder.h" > #include "pf_support.h" > -#include "xrpc_common.h" /* *_NS defs */ > +#include "xrpc_const.h" > > /* a lot of characters, static strings, and their sizes > (the idea is to reuse constant character pointers during > > U Makefile.ag > Index: Makefile.ag > =================================================================== > RCS file: /cvsroot/monetdb/pathfinder/runtime/Makefile.ag,v > retrieving revision 1.89 > retrieving revision 1.90 > diff -u -d -r1.89 -r1.90 > --- Makefile.ag 15 Jul 2008 14:14:15 -0000 1.89 > +++ Makefile.ag 17 Jul 2008 16:42:38 -0000 1.90 > @@ -49,11 +49,6 @@ > ll_sibling.mx > } > > -lib_xrpc_common = { > - NOINST > - SOURCES = xrpc_common.mx > -} > - > lib__pf_support = { > DIR = libdir/MonetDB4 > SOURCES = \ > @@ -103,25 +98,16 @@ > $(MONETDB4_MODS) -l_logger -l_streams -l_builtin -l_ascii_io > -l_algebra -l_sys -l_constant -l_mapi > } > > -lib__xrpc_client = { > - DIR = libdir/MonetDB4 > - SOURCES = xrpc_client.mx > - LIBS = \ > - libserialize libxrpc_common \ > - ./lib_pf_support ./lib_pathfinder \ > - $(PF_LIBS) $(SOCKET_LIBS) \ > - $(MONETDB_LIBS) -lbat -lstream $(MONETDB4_LIBS) > -lmonet \ > - $(MONETDB4_MODS) -l_streams -l_builtin -l_ascii_io > -} > - > -lib__xrpc_server = { > +lib__xrpc = { > DIR = libdir/MonetDB4 > SOURCES = \ > + xrpc_const.mx \ > + xrpc_common.mx \ > shttpd.c shttpd.h \ > - xrpc_server.mx > + xrpc_server.mx \ > + xrpc_client.mx > LIBS = \ > - libxrpc_common \ > - ./lib_pf_support ./lib_pathfinder \ > + libserialize ./lib_pf_support ./lib_pathfinder \ > $(PF_LIBS) $(SOCKET_LIBS) \ > $(MONETDB_LIBS) -lbat -lstream $(MONETDB4_LIBS) > -lmonet $(PTHREAD_LIBS) \ > $(MONETDB4_MODS) -l_mapi -l_streams -l_builtin > -l_ascii_io > > U xrpc_server.mx > Index: xrpc_server.mx > =================================================================== > RCS file: /cvsroot/monetdb/pathfinder/runtime/xrpc_server.mx,v > retrieving revision 1.80 > retrieving revision 1.81 > diff -u -d -r1.80 -r1.81 > --- xrpc_server.mx 17 Jul 2008 15:54:23 -0000 1.80 > +++ xrpc_server.mx 17 Jul 2008 16:42:39 -0000 1.81 > @@ -177,6 +177,7 @@ > #include "serialize.h" > #include "shttpd.h" > #include "xrpc_common.h" > +#include "xrpc_const.h" > > static int rpcd_running = 0; > static int timing = 0; > > --- NEW FILE: xrpc_const.mx --- > @' Copyright Notice: > @' ----------------- > @' > @' The contents of this file are subject to the Pathfinder 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/PathfinderLicense-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 Pathfinder system. > @' > @' The Original Code has initially been developed by the Database & > @' Information Systems Group at the University of Konstanz, Germany and > @' is now maintained by the Database Systems Group at the Technische > @' Universitaet Muenchen, Germany. Portions created by the University of > @' Konstanz and the Technische Universitaet Muenchen are Copyright (C) > @' 2000-2005 University of Konstanz and (C) 2005-2008 Technische > @' Universitaet Muenchen, respectively. All Rights Reserved. > @' > @' $Id: xrpc_const.mx,v 1.1 2008/07/17 16:42:39 yingying Exp $ > @f xrpc_const > @a Ying Zhang > @t Defines XRPC string constants > > @h > #ifndef XRPC_CONST_H > #define XRPC_CONST_H > > /* HTTP defines */ > #define XRPC_DOC_CALLBACK "/xrpc/doc" > #define XRPC_ADM_CALLBACK "/xrpc/admin" > #define XRPC_WSAT_CALLBACK "/xrpc/wsat" > #define XRPC_REQ_CALLBACK "/xrpc" > > #define ERR403 "403 Forbidden" > #define ERR404 "404 Bad Request" > #define ERR408 "408 Request Timeout" > #define ERR500 "500 Internal Server Error" > #define ERR504 "504 Gateway Timeout" > > #define OUT_OF_MEM "Internal Receiver Error: out-of memory" > #define NOT_WELL_FORMED "Request XML message not well-formed" > #define MAX_NR_PARAMS 1024 > > #define HTTP_200_OK\ > "HTTP/1.1 200 OK\r\n"\ > "Content-type: text/xml; charset=\"utf-8\"\r\n\r\n" > > /* Namespaces */ > #define MXQ_ADMIN "http://monetdb.cwi.nl/XQuery/admin/" > #define SOAP_NS "http://www.w3.org/2003/05/soap-envelope" > #define XDT_NS "http://www.w3.org/2005/xpath-datatypes" > #define XS_NS "http://www.w3.org/2001/XMLSchema" > #define XSI_NS "http://www.w3.org/2001/XMLSchema-instance" > #define XRPC_NS "http://monetdb.cwi.nl/XQuery" > #define XRPC_LOC "http://monetdb.cwi.nl/XQuery/XRPC.xsd" > #define WSCOOR_NS "http://docs.oasis-open.org/ws-tx/wscoor/2006/06" > #define WSAT_NS "http://docs.oasis-open.org/ws-tx/wsat/2006/06" > > #define XRPC_REQ_QN XRPC_NS"|request" > #define XRPC_RES_QN XRPC_NS"|response" > > /* XRPC SOAP snippets */ > #define SOAP_ENVELOPE\ > "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"\ > "<env:Envelope\n"\ > " xmlns:env=\"" SOAP_NS "\"\n"\ > " xmlns:xrpc=\"" XRPC_NS "\"\n"\ > " xmlns:xdt=\"" XDT_NS "\" \n"\ > " xmlns:xs=\"" XS_NS "\"\n"\ > " xmlns:xsi=\"" XSI_NS "\"\n"\ > " xsi:schemaLocation=\"" XRPC_NS " " XRPC_LOC "\">\n" > > #define XRPC_WS_QID\ > " <xrpc:header xrpc:mode=\"%s\">\n"\ > " <wscoor:CoordinationContext\n"\ > " xmlns:wscoor=\""WSCOOR_NS"\"\n"\ > " env:mustUnderstand=\"true\">\n"\ > " <wscoor:Identifier>%s</wscoor:Identifier>\n"\ > " <wscoor:Expires>"LLFMT"</wscoor:Expires>\n"\ > " <wscoor:CoordinationType>" WSAT_NS "</wscoor:CoordinationType>\n"\ > " </wscoor:CoordinationContext>\n"\ > " </xrpc:header>\n" > > #define XRPC_REQ_BODY_OPEN\ > "<env:Body>\n"\ > " <xrpc:request\n"\ > " xrpc:module=\"%s\"\n"\ > " xrpc:location=\"%s\"\n"\ > " xrpc:method=\"%s\"\n"\ > " xrpc:arity=\""LLFMT"\"\n"\ > " xrpc:iter-count=\""LLFMT"\"\n"\ > " xrpc:updCall=\"%s\"\n"\ > " xrpc:caller=\"" > #define XRPC_REQ_BODY\ > XRPC_REQ_BODY_OPEN "%s:"LLFMT"\">\n" > #define XRPC_REQ_BODY_FIRST_CALLER\ > XRPC_REQ_BODY_OPEN "query\">\n" > > #define XRPC_WSAT_REQ SOAP_ENVELOPE\ > "<env:Header>"\ > XRPC_WS_QID \ > "</env:Header>\n"\ > "<env:Body><wsat:%s/></env:Body>\n"\ > "</env:Envelope>" > > #define XRPC_WSAT_RES SOAP_ENVELOPE\ > "<env:Header>\n"\ > XRPC_WS_QID \ > " <xrpc:partipant>%s,%s:%s:%s,"LLFMT",%d</xrpc:participant>\n"\ > "</env:Header>\n"\ > "<env:Body><wsat:%s/></env:Body>\n"\ > "</env:Envelope>" > > #define XRPC_RES_BODY\ > "<env:Body>\n"\ > " <xrpc:response\n"\ > " xrpc:module=\"%s\"\n"\ > " xrpc:method=\"%s\">\n" > > #define XRPC_HTTP_CALL\ > " <xrpc:call>"\ > " <xrpc:sequence>"\ > " <xrpc:atomic-value xsi:type=\"xs:string\">%s</xrpc:atomic-value>"\ > " </xrpc:sequence>"\ > " </xrpc:call>" > > #define XRPC_PUT_CALL\ > " <xrpc:call>"\ > " <xrpc:sequence>"\ > " <xrpc:atomic-value xsi:type=\"xs:string\">%s</xrpc:atomic-value>"\ > " </xrpc:sequence>"\ > " <xrpc:sequence>"\ > " <xrpc:element>%s</xrpc:element>"\ > " </xrpc:sequence>"\ > " </xrpc:call>" > > #define XRPC_REQ_FOOTER\ > " </xrpc:request>\n"\ > "</env:Body>\n"\ > "</env:Envelope>" > > #ifndef HOST_NAME_MAX > #ifdef _POSIX_HOST_NAME_MAX > #define HOST_NAME_MAX _POSIX_HOST_NAME_MAX > #else > #define HOST_NAME_MAX 255 > #endif > #endif > > #endif /* XRPC_CONST_H */ > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Monetdb-pf-checkins mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins -- | Dr. Stefan Manegold | mailto:[EMAIL PROTECTED] | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 | ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Monetdb-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/monetdb-developers
