Yep, read the dev guide, and have wondered why <prevent-deadlocks> is
false by default. Sounds like:
"There's a situation in which ML will undetectably deadlock and you'll
have to kill your services while you restart the server. Oh, but you
can completely avoid the deadlock and have a nice warning printed for
you instead by setting this option to 'true', but we'll allow you to
shoot yourself in the foot by default."
Why wouldn't the server-breaking-behavior be constrained to those who
explicitly wished to venture into deadlock territory by setting
<prevent-deadlocks> to 'false' (from a default of 'true')?
(Don't get me wrong, there's likely a good explanation, and it's likely
over my head, but this is what <prevent-deadlocks> defaulting to false
"sounds like")
Also, a question about what an update statement is. A "statement" is
described as "a unit of XQuery code", and an "update statement" is "a
statement which has the potential to perform updates".
declare function do-update() { node-replace(...), 'done' };
let $x = doc('blah')/somenode/text()[1]
let $y = do-update()
return concat($x, $y)
Is that whole thing an update statement? Is that a query statement,
except for the first statement of the do-update() function, which is an
update statement? What exactly constitutes a "unit" of XQuery code?
Actually, I can test this myself using xdmp:request-timestamp()!
EP
Geert Josten wrote:
Hi Eric,
I am sure there are other ways to achieve what you want, but if you really would like to do
something like that, you could always resort to xdmp:eval (most likely with
<isolation>different-transaction</isolation> within the options).
Be aware of the transaction mechanism if you start using eval like that, it can
easily put you on a wrong foot if you haven't at least read the dev guide about
it.. ;-)
Kind regards,
Geert
Drs. G.P.H. Josten
Consultant
http://www.daidalos.nl/
Daidalos BV
Source of Innovation
Hoekeindsehof 1-4
2665 JZ Bleiswijk
Tel.: +31 (0) 10 850 1200
Fax: +31 (0) 10 850 1199
http://www.daidalos.nl/
KvK 27164984
De informatie - verzonden in of met dit emailbericht - is afkomstig van
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit
bericht kunnen geen rechten worden ontleend.
From: [email protected]
[mailto:[email protected]] On Behalf Of
Eric Palmitesta
Sent: donderdag 19 februari 2009 18:50
To: ML Developer Mailing List
Subject: [MarkLogic Dev General] dynamic module import
I'm fairly sure this isn't possible, but I might as well ask.
Is there any way to import a particular module at runtime?
I know this won't work, but it shows the idea:
import module namespace blah = "http://blah" at $filename;
It won't work because import statements must come before not
only functions (and code, in the case of a main module), but
before variable declarations as well.
Can someone confirm?
Thanks,
Eric
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general