<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>3600</bug_id>
          
          <creation_ts>2006-08-15 15:37:43 +0000</creation_ts>
          <short_desc>K-InternalVariablesWith-17 and K-InternalVariablesWith-18 don&apos;t use erroneous part</short_desc>
          <delta_ts>2006-08-17 16:58:12 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XML Query Test Suite</product>
          <component>XML Query Test Suite</component>
          <version>0.9.4</version>
          <rep_platform>Macintosh</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Probst">martin</reporter>
          <assigned_to name="Andrew Eisenberg">andrew.eisenberg</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11123</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Probst">martin</who>
    <bug_when>2006-08-15 15:37:43 +0000</bug_when>
    <thetext>The queries K-InternalVariablesWith-17 and K-InternalVariablesWith-18 expect an error because of a recursive reference to a variable/function. However both queries don&apos;t actually use any of the offending code, the main query simply contains a &quot;1&quot;, so it&apos;s possible to optimise the whole functions/variables thing away.

Implementations are free not to evaluate stuff they don&apos;t need to evaluate the query (this is why X-Hive doesn&apos;t give an error), even if this means they swallow an error. I think the queries should be re-formulated to actually use the function or the variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11128</commentid>
    <comment_count>1</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2006-08-15 19:35:40 +0000</bug_when>
    <thetext>A fix is attempted in CVS, feel free to change status to CLOSED if it is satisfactory.

XQTS_current.zip is updated. At this point I do not know whether this fix will make it into XQTS 1.0.

One test was changed to allow both both output and error, while the other was changed to use the variable.

Thanks for the report.


Frans</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11141</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Probst">martin</who>
    <bug_when>2006-08-16 12:42:41 +0000</bug_when>
    <thetext>Thanks, that fixed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11193</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2006-08-17 09:37:05 +0000</bug_when>
    <thetext>Surely a circular reference to a variable or a function is a static error, and implementations are required to report all static errors in a query whether the code is executed or not? I think the tests were correct as written.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11198</commentid>
    <comment_count>4</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2006-08-17 11:35:32 +0000</bug_when>
    <thetext>Yes, I believe you are correct, Mike. Martin&apos;s second paragraph on that implementations are free to evaluate without errors if they can, clearly applies to only dynamic errors:

&lt;quote&gt;
2.3.3 Handling Dynamic Errors
Except as noted in this document, if any operand of an expression raises a dynamic error, the expression also raises a dynamic error. If an expression can validly return a value or raise a dynamic error, the implementation may choose to return the value or raise the dynamic error. [...]
&lt;/quote&gt;

However, I understand one can have an interest in detecting this dynamically, since it requires static analysis.

I will undo my changes and close as INVALID.


Frans</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11199</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Probst">martin</who>
    <bug_when>2006-08-17 12:13:15 +0000</bug_when>
    <thetext>That&apos;s correct, I didn&apos;t see that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11204</commentid>
    <comment_count>6</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2006-08-17 16:58:12 +0000</bug_when>
    <thetext>This original state should be back in the latest XQTS_current.zip.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>