From: Wolfgang M. M. <wol...@us...> - 2004-04-27 15:47:12
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28184/src/org/exist/storage Modified Files: NativeBroker.java Log Message: * XQuery node construction consumed too much memory: instead of generating a SAX stream, nodes are now directly copied to the created output fragment. * QName objects are now created through the global name pool and thus shared between node objects. Index: NativeBroker.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/NativeBroker.java,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** NativeBroker.java 23 Apr 2004 13:07:44 -0000 1.63 --- NativeBroker.java 27 Apr 2004 15:47:02 -0000 1.64 *************** *** 597,601 **** domDb.setOwnerObject(this); try { ! return new NodeIterator(this, domDb, proxy); } catch (BTreeException e) { LOG.debug("failed to create node iterator", e); --- 597,601 ---- domDb.setOwnerObject(this); try { ! return new NodeIterator(this, domDb, proxy, true); } catch (BTreeException e) { LOG.debug("failed to create node iterator", e); *************** *** 2098,2101 **** --- 2098,2105 ---- ByteArrayPool.releaseByteArray(data); } catch (Exception e) { + Value oldVal = domDb.get(node.getInternalAddress()); + NodeImpl old = + NodeImpl.deserialize(oldVal.data(), oldVal.start(), oldVal.getLength(), + (DocumentImpl)node.getOwnerDocument(), false); LOG.debug( "Exception while storing " *************** *** 2103,2107 **** + "; gid = " + node.getGID() ! + "; address = ", e); } --- 2107,2111 ---- + "; gid = " + node.getGID() ! + "; old = " + old.getNodeName(), e); } |