Markos Zaharioudakis has proposed merging lp:~markos-za/zorba/markos-bugs into 
lp:zorba.

Requested reviews:
  Markos Zaharioudakis (markos-za)

For more details, see:
https://code.launchpad.net/~markos-za/zorba/markos-bugs/+merge/77141

Fixed bug #855314 + removed unused deleteIndex method from store api
-- 
https://code.launchpad.net/~markos-za/zorba/markos-bugs/+merge/77141
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog	2011-09-16 13:26:06 +0000
+++ ChangeLog	2011-09-27 11:15:53 +0000
@@ -30,6 +30,7 @@
   * Fixed bug # (Should not destroy the parent of a node that is being detached 
     before the detach is done). 
   * Fixed bug #3408181 (available-collection() returns undeclared collections)
+  * Fixed bug #855314 (should not fold a constant expr that returns an error item)
 	
 version 2.0.1
 

=== modified file 'src/compiler/rewriter/rules/fold_rules.cpp'
--- src/compiler/rewriter/rules/fold_rules.cpp	2011-09-02 20:43:46 +0000
+++ src/compiler/rewriter/rules/fold_rules.cpp	2011-09-27 11:15:53 +0000
@@ -103,6 +103,14 @@
       {
         break;
       }
+
+      if (item->isError())
+      {
+        node->setUnfoldable(ANNOTATION_TRUE_FIXED);
+        node->setNonDiscardable(ANNOTATION_TRUE_FIXED);
+        return node;
+      }
+
       result.push_back(item);
     }
 

=== modified file 'src/store/api/store.h'
--- src/store/api/store.h	2011-09-26 17:52:57 +0000
+++ src/store/api/store.h	2011-09-27 11:15:53 +0000
@@ -243,11 +243,11 @@
   /* ------------------------ Index Management ---------------------------*/
 
   /**
-   * Creates a new index.
+   * Creates a new index. Used for temp indexes only (non-temp indexes are
+   * created via PUL primitives).
    *
-   * @param qname The qname identifying the index. For non-temporary indices,
-   *        the store maintains the map between qnames and indices and makes
-   *        sure that there are no two indices with the same qname.
+   * @param qname The qname identifying the index. Node: The map between 
+   *        qnames and temp indices is stored in the dynamic context.
    * @param spec The index specification. It specifies the index properties
    *        (@see index.h)
    * @param sourceIter It produces the entries to be inserted in the index.
@@ -270,11 +270,6 @@
    */
   virtual Index* getIndex(const Item* qname) = 0;
 
-  /**
-   *  Destroy the index with the given qname. The index must not be a temporary one.
-   */
-  virtual void deleteIndex(const Item* qname) = 0;
-
   /** 
    * Returns an iterator that lists the names of all the available indexes.
    */

=== added file 'test/rbkt/Queries/zorba/misc/hoist_error.spec'
--- test/rbkt/Queries/zorba/misc/hoist_error.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/misc/hoist_error.spec	2011-09-27 11:15:53 +0000
@@ -0,0 +1,1 @@
+Error:  http://www.w3.org/2005/xqt-errors:XQDY0074

=== added file 'test/rbkt/Queries/zorba/misc/hoist_error.xq'
--- test/rbkt/Queries/zorba/misc/hoist_error.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/misc/hoist_error.xq	2011-09-27 11:15:53 +0000
@@ -0,0 +1,8 @@
+
+declare function local:crash() as element()*
+{
+  for $id in (1,2)
+  return element {"a:a"}{}
+};
+
+local:crash()

-- 
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

Reply via email to