[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
Matthias Brantner has proposed merging 
lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba.

Requested reviews:
  Markos Zaharioudakis (markos-za)
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138

no node copying during insertion into collection if the nodes are freshly 
constructed nodes
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog	2012-05-07 23:43:04 +
+++ ChangeLog	2012-05-08 21:59:21 +
@@ -25,6 +25,10 @@
   * Added XQJ support.
   * Added CollectionManager and DocumentManager support for XQJ.
 
+Optimizations:
+  * optimized insertion into a collection (don't copy it if the node was created by an element constructor
+and is not used anywhere else in the query
+
 Bug Fixes/Other Changes:
   * Fixed bugs #931501 and #866987 (improved error messages for fn:format-number(). Additionally, the function now throws the FODF1310 error instead of XTDE1310, as the 3.0 spec requires)
   * Fixed bug 955170 (Catch clause with URILiteral-based wilcard NameTest)

=== modified file 'src/compiler/translator/translator.cpp'
--- src/compiler/translator/translator.cpp	2012-05-05 02:39:12 +
+++ src/compiler/translator/translator.cpp	2012-05-08 21:59:21 +
@@ -2195,7 +2195,7 @@
 {
   TRACE_VISIT();
 
-  if (v.get_encoding().length() != 0 
+  if (v.get_encoding() != utf-8 
   !utf8::match_whole(v.get_encoding(), ^[A-Za-z]([A-Za-z0-9._]|[-])*$))
 RAISE_ERROR(err::XQST0087, loc, ERROR_PARAMS(v.get_encoding()));
 

=== modified file 'src/runtime/base/plan_iterator.h'
--- src/runtime/base/plan_iterator.h	2012-05-03 12:31:51 +
+++ src/runtime/base/plan_iterator.h	2012-05-08 21:59:21 +
@@ -346,6 +346,8 @@
 
   TypeManager* getTypeManager() const;
 
+  virtual bool isConstructor() const { return false; }
+
   /**
* Accept method for the PlanIterator-Tree-Visitor
*

=== modified file 'src/runtime/collections/collections_base.h'
--- src/runtime/collections/collections_base.h	2012-05-03 12:31:51 +
+++ src/runtime/collections/collections_base.h	2012-05-08 21:59:21 +
@@ -128,6 +128,9 @@
 
 getCopyMode(lCopyMode, this-theSctx);
 
+lCopyMode.theDoCopy = ! 
+this-theChildren[this-theChildren.size()-1]-isConstructor();
+
 while (this-consumeNext(node, this-theChildren[this-theChildren.size()-1].getp(), planState))
 {
   checkNodeType(this-theSctx, node, collectionDecl, this-loc, theDynamicCollection);

=== modified file 'src/runtime/core/constructors.h'
--- src/runtime/core/constructors.h	2012-05-03 12:31:51 +
+++ src/runtime/core/constructors.h	2012-05-08 21:59:21 +
@@ -67,6 +67,8 @@
 
   bool copyInputNodes() const { return theCopyInputNodes; }
 
+  bool isConstructor() const { return true; }
+
   void accept(PlanIterVisitor v) const;
 
   void openImpl(PlanState planState, uint32_t offset);
@@ -141,6 +143,8 @@
 
   bool copyInputNodes() const { return theCopyInputNodes; }
 
+  bool isConstructor() const { return true; }
+
   uint32_t getStateSizeOfSubtree() const;
   
   void accept(PlanIterVisitor) const;
@@ -193,6 +197,8 @@
 
   store::Item* getQName() const { return theQName.getp(); }
 
+  bool isConstructor() const { return true; }
+
   void accept(PlanIterVisitor v) const;
 
   bool nextImpl(store::Item_t result, PlanState planState) const;
@@ -234,6 +240,8 @@
 PlanIter_t aChild,
 bool isRoot);
 
+  bool isConstructor() const { return true; }
+
   void accept(PlanIterVisitor v) const;
 
   bool nextImpl(store::Item_t result, PlanState planState) const;
@@ -275,6 +283,8 @@
 PlanIter_t aComment,
 bool isRoot);
 
+  bool isConstructor() const { return true; }
+
   void accept(PlanIterVisitor v) const;
 
   bool nextImpl(store::Item_t result, PlanState planState) const;
@@ -314,6 +324,8 @@
 PlanIter_t aContent,
 bool isRoot);
 
+  bool isConstructor() const { return true; }
+
   void accept(PlanIterVisitor v) const;
 
   bool nextImpl(store::Item_t result, PlanState planState) const;

=== modified file 'src/store/naive/node_items.cpp'
--- src/store/naive/node_items.cpp	2012-05-03 12:31:51 +
+++ src/store/naive/node_items.cpp	2012-05-08 21:59:21 +
@@ -614,8 +614,14 @@
   pos = parent-numChildren();
 }
   } // have parent
-
-  return copyInternal(parent, parent, pos, NULL, copymode);
+  else if (copymode.theDoCopy)
+  {
+return copyInternal(parent, parent, pos, NULL, copymode);
+  }
+  else
+  {
+return const_castXmlNode*(this);
+  }
 }
 
 

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Commit Message changed to:

no node copying during insertion into collection if the nodes are freshly 
constructed nodes

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Needs review = Approved

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
Review: Approve


-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Validation queue starting for merge proposal.
Log at: 
http://zorbatest.lambda.nu:8080/remotequeue/collection-insert-without-copy-2012-05-08T22-02-17.793Z/log.html
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Markos Zaharioudakis
Review: Approve


-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
The attempt to merge lp:~zorba-coders/zorba/collection-insert-without-copy into 
lp:zorba failed. Below is the output from the failed tests.


CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 
(message):
  Validation queue job
  collection-insert-without-copy-2012-05-08T22-02-17.793Z is finished.  The
  final status was:

  

  546 tests did not succeed - changes not commited.


Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Approved = Needs review

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105138
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Commit Message changed to:

no node copying during insertion into collection if the nodes are freshly 
constructed nodes

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Needs review = Approved

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Matthias Brantner
Review: Approve


-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Validation queue starting for merge proposal.
Log at: 
http://zorbatest.lambda.nu:8080/remotequeue/collection-insert-without-copy-2012-05-08T23-35-58.8Z/log.html
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Validation queue job collection-insert-without-copy-2012-05-08T23-35-58.8Z is 
finished. The final status was:

All tests succeeded!
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Voting does not meet specified criteria. Required: Approve  1, Disapprove  1, 
Needs Fixing  1, Pending  1. Got: 1 Approve, 2 Pending.
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Approved = Needs review

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


Re: [Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Markos Zaharioudakis
Review: Approve


-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Markos Zaharioudakis
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Needs review = Approved

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Validation queue starting for merge proposal.
Log at: 
http://zorbatest.lambda.nu:8080/remotequeue/collection-insert-without-copy-2012-05-09T00-13-03.711Z/log.html
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread Zorba Build Bot
Validation queue job collection-insert-without-copy-2012-05-09T00-13-03.711Z is 
finished. The final status was:

All tests succeeded!
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp


[Zorba-coders] [Merge] lp:~zorba-coders/zorba/collection-insert-without-copy into lp:zorba

2012-05-08 Thread noreply
The proposal to merge lp:~zorba-coders/zorba/collection-insert-without-copy 
into lp:zorba has been updated.

Status: Approved = Merged

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
-- 
https://code.launchpad.net/~zorba-coders/zorba/collection-insert-without-copy/+merge/105148
Your team Zorba Coders is subscribed to branch lp:zorba.

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp