[xquery-talk] flowrrr - how to structure a function?

John Snelson jsnelson at sleepycat.com
Wed Oct 18 13:02:13 PDT 2006


Martin Probst wrote:
> I think Wolfgang's function library in eXist 
> (http://demo.exist-db.org/xquery/functions.xq) also includes functions 
> to create user sessions, this might be more difficult to make 
> side-effect free. I.e. if session:create(), session:set-current-user() 
> and session:invalidate() return values if called in the right order, but 
> give errors if called in the wrong order, it's much more difficult 
> because you need to provide access to those values. I'm not picking on 
> you Wolfgang, I rather think your library is a good example of what one 
> does need in webapps.

All that would need to be done to make functions like that side-effect 
free is to postpone the actual changes until after the query has exited. 
You would then only have to define what would happen if two such 
postponed changes contradicted each other. This is the approach that 
XQuery Update seems to be taking.

John


More information about the talk mailing list