From: Wolfgang M. M. <wol...@us...> - 2004-07-05 20:02:57
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmlrpc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25405/src/org/exist/xmlrpc Modified Files: RpcServer.java RpcAPI.java Log Message: Fixed concurrency issue in the dom.dbx node store: in some cases, a reading thread could interfere with a writing thread. As a result, some data pages got lost. Index: RpcServer.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmlrpc/RpcServer.java,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** RpcServer.java 21 Jun 2004 15:27:39 -0000 1.39 --- RpcServer.java 5 Jul 2004 20:02:48 -0000 1.40 *************** *** 819,829 **** * */ ! public String query(User user, String xpath, int howmany, int start, Hashtable parameters) throws EXistException, PermissionDeniedException { RpcConnection con = pool.get(); String result = null; try { ! result = con.query(user, xpath, howmany, start, parameters); return result; } catch (Exception e) { --- 819,836 ---- * */ ! public String query(User user, byte[] xquery, int howmany, int start, Hashtable parameters) throws EXistException, PermissionDeniedException { RpcConnection con = pool.get(); + String xqueryStr; + try { + xqueryStr = new String(xquery, "UTF-8"); + } catch(UnsupportedEncodingException e) { + xqueryStr = new String(xquery); + } + String result = null; try { ! result = con.query(user, xqueryStr, howmany, start, parameters); return result; } catch (Exception e) { Index: RpcAPI.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmlrpc/RpcAPI.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** RpcAPI.java 8 Jun 2004 08:16:13 -0000 1.30 --- RpcAPI.java 5 Jul 2004 20:02:48 -0000 1.31 *************** *** 282,286 **** String query( User user, ! String xquery, int howmany, int start, --- 282,286 ---- String query( User user, ! byte[] xquery, int howmany, int start, |