Bug #110524 XML ExtractValue with XPath on non-existing attribute wrong result
Submitted: 28 Mar 2023 3:56 Modified: 28 Mar 2023 12:32
Reporter: Shuxin Li Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:8.0.32 OS:Windows (11)
Assigned to: CPU Architecture:Any
Tags: XML, XPath

[28 Mar 2023 3:56] Shuxin Li
Description:
Give XML document
 
<A1 id="1">1</A1>

and XPath query 

//A1[@b1 < 2]

MySQL returns result 1, should return empty result set as Saxon, BaseX, Exist and Oracle db, since attribute b1 does not exist.

How to repeat:
Execute sql statement: select ExtractValue('<A1 id="1">1</A1>
','//A1[@b1 < 2]');

See error in output.
[28 Mar 2023 4:01] Shuxin Li
Sorry, but the test case above is incorrect due to my mistake. Please see this instead: 

Execute sql statement: select ExtractValue('<L3 id="1">-1</L3>
','//L3[(@l1 + 2) < 3]');

MySQL returns -1 while other databases returns empty result set.
[28 Mar 2023 12:32] MySQL Verification Team
Hi Mr. Li,

Thank you for your report.

However, this is similar to the report that you have already entered into our system:

https://bugs.mysql.com/bug.php?id=110480

Simply, you should read our Reference Manual and use the functionality that MySQL is supporting. 

The functionality that you are using right now is not supported by MySQL.

Unsupported.