Markos Zaharioudakis has proposed merging lp:~zorba-coders/zorba/bug-867170
into lp:zorba.
Requested reviews:
Markos Zaharioudakis (markos-za)
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/bug-867170/+merge/105004
fixed bug 867170$
--
https://code.launchpad.net/~zorba-coders/zorba/bug-867170/+merge/105004
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog 2012-05-05 02:39:12 +
+++ ChangeLog 2012-05-07 23:45:25 +
@@ -1,5 +1,11 @@
Zorba - The XQuery Processor
+
+version 2.x
+
+ * Fixed bug #867170 (Variables declared in Prolog are Overwritten inside the query)
+
+
version 2.5
New Features:
@@ -40,7 +46,6 @@
* Fixed bug #966706 (key uniqueness of index not enforced during incremental refresh)
* Fixed bug #906494 (default compile with D_FILE_OFFSET_BITS=64)
* Fixed bug #988412 (date:current-dateTime daylight saving)
- * Fixed bug #988417 (block internal modules)
* Fixed bug #912586, #912593 and #912722 (assertion failures with lax validation)
* Fixed bug #921458 (file:read-text-lines() blocking)
* Fixed bug #981405 (do not hoist expr containing try-catch variables out of the associated try-catch expression)
=== modified file 'src/api/staticcontextimpl.cpp'
--- src/api/staticcontextimpl.cpp 2012-05-05 02:39:12 +
+++ src/api/staticcontextimpl.cpp 2012-05-07 23:45:25 +
@@ -73,6 +73,7 @@
/
StaticContextImpl::StaticContextImpl(DiagnosticHandler* aDiagnosticHandler)
:
+ theMaxVarId(2),
theDiagnosticHandler(aDiagnosticHandler),
theUserDiagnosticHandler(true),
theCollectionMgr(0)
@@ -97,6 +98,7 @@
DiagnosticHandler* aDiagnosticHandler)
:
theCtx(aCtx),
+ theMaxVarId(2),
theDiagnosticHandler(aDiagnosticHandler),
theUserDiagnosticHandler(true),
theCollectionMgr(0)
@@ -118,6 +120,7 @@
StaticContextImpl::StaticContextImpl(const StaticContextImpl& aStaticContext)
:
StaticContext(),
+ theMaxVarId(2),
theDiagnosticHandler(aStaticContext.theDiagnosticHandler),
theUserDiagnosticHandler(aStaticContext.theUserDiagnosticHandler),
theCollectionMgr(0)
@@ -1023,9 +1026,11 @@
theSctxMap = impl.theCompilerCB->theSctxMap;
}
+
static void
-toInternalPath(const std::vector& aPublicStrings,
- std::vector& aInternalStrings)
+toInternalPath(
+const std::vector& aPublicStrings,
+std::vector& aInternalStrings)
{
for (std::vector::const_iterator lIter = aPublicStrings.begin();
lIter != aPublicStrings.end(); ++lIter)
@@ -1042,9 +1047,11 @@
}
}
+
static void
-toPublicPath(const std::vector& aInternalStrings,
- std::vector& aPublicStrings)
+toPublicPath(
+const std::vector& aInternalStrings,
+std::vector& aPublicStrings)
{
for (std::vector::const_iterator lIter = aInternalStrings.begin();
lIter != aInternalStrings.end(); ++lIter)
@@ -1053,6 +1060,7 @@
}
}
+
void
StaticContextImpl::setURIPath(const std::vector &aURIPath)
{
=== modified file 'src/api/staticcontextimpl.h'
--- src/api/staticcontextimpl.h 2012-05-05 02:39:12 +
+++ src/api/staticcontextimpl.h 2012-05-07 23:45:25 +
@@ -33,16 +33,29 @@
/***
- theCtx : rchandle to the internal static_context obj that is
- wrapped by "this".
-
- theSctxMap :
-
- theDiagnosticHandler : Pointer to an error handle to handle any errors raised
- by the methods of this class.
- theUserDiagnosticHandler : If true, theDiagnosticHandler is owned by "this", and it
- should be deleted when "this" is destroyed. Otherwise,
- theDiagnosticHandler is not owned by "this".
+ theCtx :
+
+ rchandle to the internal static_context obj that is wrapped by "this".
+
+ theSctxMap :
+
+
+ theMaxVarId :
+ -
+ If loadProlog() is called on "this", the compiler will store in theMaxVarId
+ the max variable id generated by the compilation of the given prolog. This
+ is needed by the "outer" query, where the prolog will be loaded to.
+
+ theDiagnosticHandler :
+ --
+ Pointer to an error handle to handle any errors raised by the methods of
+ this class.
+
+ theUserDiagnosticHandler :
+ --
+ If true, theDiagnosticHandler is owned by "this", and it should be deleted
+ when "this" is destroyed. Otherwise, theDiagnosticHandler is not owned by
+ "this".
/
class StaticContextImpl : public StaticContext
{
@@ -54,6 +67,8 @@
std::map theSctxMap;
+ ulong theMaxVarId;
+
DiagnosticHandler * theDiagnosticHandler;
booltheUserDiagno