On Linux that would be way too complicated - the external APIs are quite different from the internal APIs (which is good practice BTW), and the internal APIs have much too broad a surface area. On Windows it's flat out not possible, as the MarkLogic executable doesn't export symbols for the internal APIs.
Another way that people often do this is via an HTTP call to REST endpoint running locally which performs the desired action. As far as I know HTTP to localhost is an optimized path on most OSs these days. John On 12/06/14 12:17, Retter, Adam (RBI-UK) wrote: > Is there any way that I can do this using the internal API? And would you be > willing to provide me with the minimum documentation to do this. I assume > that I just need to extend a specific class and place my library onto a > system load path somewhere? If you could share the .hpp file for the internal > module base class that could be enough perhaps? p.s. It has been sometime > since I have done C++ so my terminology may be way off! > > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of John Snelson > Sent: 12 June 2014 12:14 > To: MarkLogic Developer Discussion > Subject: Re: [MarkLogic Dev General] Non-Aggregate UDF > > Hi Adam, > > The short answer is that you can't - we haven't written an external API for > that yet. The longer answer is that you can kind of twist the aggregate UDF > API to do that by just having blank map and reduce methods > - but obviously you'll pay the cost of visiting the D-nodes each time they > get called. > > John > > On 12/06/14 10:00, Retter, Adam (RBI-UK) wrote: >> Hi there, >> >> I would like to create some extension functions in C++. I believe that >> you call these UDF (User Defined Functions), however I can only seem >> to find documentation for creating Aggregate UDF functions. In this >> instance I am not interested in the content of the database, indexes >> or map-reduce, rather I want to create a set of XQuery functions that >> bridge to an external system, this bridge needs to use a proprietary >> communications protocol. >> >> Can someone please point me to the documentation on how to create >> non-Agrregate UDF functions? >> >> Cheers Adam. > -- John Snelson, Lead Engineer http://twitter.com/jpcs MarkLogic Corporation http://www.marklogic.com _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
