Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5(EOL), 10.0(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL)
-
None
Description
This is a similar problem to one that was earlier fixed in MySQL-5.0 under terms of:
Bug#27586 Wrong autoinc value assigned by LOAD DATA in the NO_AUTO_VALUE_ON_ZERO mode
Now for LOAD XML instead of LOAD DATA.
I put a file MYSQL_HOME_DIR/test/t1.xml with this content:
<list> |
<row a="1" b="bbb1"/> |
<row b="bbb2"/> |
</list> |
and run this script:
SET @@SQL_MODE=NO_AUTO_VALUE_ON_ZERO; |
CREATE OR REPLACE TABLE t1(a INT AUTO_INCREMENT PRIMARY KEY, b TEXT); |
LOAD XML INFILE 't1.xml' INTO TABLE t1 ROWS IDENTIFIED BY '<row>'; |
SELECT * FROM t1 ORDER BY b; |
It returns the following data:
+---+------+
|
| a | b |
|
+---+------+
|
| 1 | bbb1 |
|
| 0 | bbb2 |
|
+---+------+
|
The auto-increment value for the second record is wrong. It should be 2 rather than 0.
Attachments
Issue Links
- relates to
-
MDEV-15497 Wrong empty value in a GEOMETRY column on LOAD DATA
-
- Closed
-
A related problem happens with a GEOMETRY column.
I put this XML file into MYSQL_DATA_DIR/test/a.xml:
And run this script:
+------+---+
| id | g |
+------+---+
| 1 | |
+------+---+
Notice, it returns a wrong result. An empty string is not a valid GEOMETRY value.
The expected result is to return an error for LOAD XML.
LOAD DATA correctly returns an error in the same context:
See the patch for bug#22372.