Nevermind, I found my mistake. The query has to be formulated like this:
UPDATE replace $x in doc("Hosts")//Hosts/Host[Name = "test1"]/FreeSpace with
<FreeSpace>{$x - 30}</FreeSpace>
2011/4/20 Luca Ciarniello <[email protected]>
> Hello again!
>
> I've got the XQJ API working, but I have problems with a particular query.
>
> So I have two documents, one containing hosts data, and one containing
> virtual machines data. When I add (or remove) a virtual machine from a host,
> I want to update the space available on the host. The query looks like this:
> UPDATE replace $x in doc("Hosts")//Hosts/Host[Name = "test1"]/FreeSpace
> with $x - 30
>
> And this is the error I get:
> Error updating host info in the database: SEDNA Message: ERROR SE2021
> Invalid result of the update argument: sequence contains atomic values
>
> For additional information, here is the code raising the error:
> private boolean updateHost(VirtualMachine vm, boolean addVM) {
> try
> {
> String operator = addVM ? "-" : "+";
> String query =
> "UPDATE replace $x in doc(\"Hosts\")//Hosts/Host[Name = \"" +
> vm.Host + "\"]/FreeSpace " +
> "with $x " + operator + " " + vm.Size;
> System.out.println(query);
> XQExpression exp = xqconn.createExpression();
> exp.executeCommand(query);
> //xqconn.commit();
> return true;
>
> } catch (XQException e) {
> System.err.println("Error updating host info in the database: " +
> e.getMessage());
> return false;
> }
> }
>
> I'd like to point out I'm able to make other queries like UPDATE insert or
> UPDATE delete. Could it be the "$x - 30" bit giving trouble? Maybe I can't
> add or substract from a variable like this?
>
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve
application availability and disaster protection. Learn more about boosting
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Sedna-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sedna-discussion