Thursday 23 September 2010

Good and pitty things about Sedna 3.3

Charles Foster implemented and XQJ API for Sedna - http://www.cfoster.net/sedna/xqj/
I made initial Cocoon3 components wrapping it, perfomance to be analyzed.
XQuery external variables can be used easily and loaded from streams/URLs.

And it would be natural to use XQuery update with external variable, ala:
declare variable $x external;
for $a in $x/a
return

    if( ... )
    then(
        insert
             ...
        into collection('aaa')/a[ id = $a/id ]
    )
    else (
        replace  ...

    )
It promises clear perfomance gains - parsed once in Sedna, no Java parsing-serialization.

And here comes pitty thing Sedna 3.3 doesn't supported "nested updates" - update can be only one and at the top of query. Ofcourse you can do some tricks still, but pitty.

Sedna team promises to implement XQuery update facility, but no timeline.

Anyway, I do not think this small thing will switch me to another XML DB :)

Thursday 9 September 2010

Found smaller bug in NesC

Funny, suppose we have:

typedef struct 
{
    int a;
}strukt;


interface I
{
    command strukt func();
}

then
    call I.func().a 
doesn't work, it try to call "I.func().a", but
    (call I.func()).a 
helps :)

This call is strange indeed, main thing it is absolutely unneeded.

Common answer is - do not use TinyOS, it is too much a set of degree and diploma works, too less usable.