Skip to content

XQuery: Bug on arithemetic operations with last() and position() #2220

@Twilight-Shuxin

Description

@Twilight-Shuxin

Description of the Problem

Given this XML document:

<S/>

and XPath Query

//S[last() * 150000 >= position()]

BaseX returns empty result set.

Expected Behavior

Should return node S as predicate evaluates to true.

Steps to Reproduce the Behavior

  1. Create database create database test <S/>
  2. Execute XPath query xquery //S[last() * 150000 >= position()]

Do you have an idea how to solve the issue?

It seems strange and might be related to overflow for changing the multiplication operand constant to smaller numbers BaseX functions as expected. However it seems like a bug for all integers involved including intermediate results are within integer range.

What is your configuration?

BaseX version: BaseX 10.7 beta latest commit 43fb2d5 on Windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions