BaseXdb / basex

BaseX Main Repository.
http://basex.org
BSD 3-Clause "New" or "Revised" License
661 stars 268 forks source link

XPath: Error in arithemetic calculation result comparison #2188

Closed Twilight-Shuxin closed 1 year ago

Twilight-Shuxin commented 1 year ago

Description of the Problem

Given this XML document:

<T1 id="1">1</T1>

and this XPath query:

//*[not((@id * (-1)) > (-2))]

BaseX gives result

<T1 id="1">1</T1>

Expected Behavior

Should return empty result set as Saxon & ExistDB.

Steps to Reproduce the Behavior

Using BaseX Client:

  1. Create database create database test
  2. Insert XML file into database put test.xml path/to/file
  3. Execute XPath query xquery //*[not((@id * (-1)) > (-2))]) (Note: Directly executing <T1 id="1">1</T1>//*[not((@id * (-1)) > (-2))]) does not trigger the bug

Do you have an idea how to solve the issue?

No response

What is your configuration?

BaseX version: 10.4 on Windows (Also reproduced on the latest stable snapshot 10.5 provided in https://files.basex.org/releases/latest/)

ChristianGruen commented 1 year ago

Thanks for the observation. A new stable snapshot with the bug fix has been uploaded.

Twilight-Shuxin commented 1 year ago

Thanks for the quick fix!