1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-08 06:27:57 +03:00
Files
mariadb/sql
Shishir Jaiswal ee02650bac Bug #16171518 - LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
DESCRIPTION
===========
Inability of mysql LOAD XML command to handle empty XML
tags i.e. <row><tag/></row>. Also the behaviour is wrong
and (different than above) when there is a space in empty
tag i.e. <row><tag /></row>

ANALYSIS
========
In read_xml() the case where we encounter a close tag ('/')
we're decreasing the 'level' blindly which is wrong.
Actually when its an without-space-empty-tag (succeeding
char is '>'), we need to skip the decrement. In other words
whenever we hit a close tag ('/'), decrease the 'level'
only when (i) It's not an (without space) empty tag i.e.
<tag/> or, (ii) It is of format <row col="val" .../>

FIX
===
The switch case for '/' is modified. We've removed the
blind decrement of 'level'. We do it only when its not an
without-space-empty-tag. Also we are setting 'in_tag' to
false to let program know that we're done reading current
tag (required in the case of format <row col="val" .../>)
2015-08-18 12:24:27 +05:30
..
2011-06-30 17:31:31 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-05-21 10:21:08 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2013-11-20 13:13:18 +01:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-07-04 01:25:49 +02:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2015-07-10 07:54:55 +05:30
2014-01-06 10:52:35 +05:30
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-07-03 17:47:37 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2012-02-16 10:48:16 +01:00
2012-02-16 10:48:16 +01:00
2012-02-16 10:48:16 +01:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2014-01-06 10:52:35 +05:30
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2012-02-16 10:48:16 +01:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2013-03-28 17:41:22 +02:00
2013-03-28 17:41:22 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2014-01-06 10:52:35 +05:30
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2012-09-12 08:59:44 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2012-10-12 22:59:21 +02:00
2013-02-25 15:26:00 +01:00
2011-11-17 09:00:58 +01:00
2010-12-07 16:11:13 +00:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-07-04 01:25:49 +02:00
2012-02-16 10:48:16 +01:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2011-06-30 17:46:53 +02:00
2011-06-30 17:46:53 +02:00
2014-01-06 10:52:35 +05:30
2013-02-25 15:26:00 +01:00
2011-06-30 17:46:53 +02:00
2011-07-04 01:25:49 +02:00