summaryrefslogtreecommitdiff
path: root/mysql-test/r/xml.result
Commit message (Collapse)AuthorAgeFilesLines
* More tests for MDEV-10134 Add full support for DEFAULTAlexander Barkov2016-06-301-0/+21
| | | | XML functions
* MDEV-8806 Numeric CAST produce different warnings for strings literals vs ↵Alexander Barkov2015-09-251-0/+4
| | | | functions
* MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty stringsAlexander Barkov2015-09-171-0/+2
| | | | MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces
* 5.5 mergeSergei Golubchik2014-05-091-1/+19
|\
| * Merge 5.3->5.5Alexander Barkov2014-04-231-1/+19
| |\
| | * MDEV-5338 XML parser accepts malformed dataAlexander Barkov2014-04-231-1/+20
| | |
* | | A joint patch for:Alexander Barkov2014-03-231-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - MDEV-5689 ExtractValue(xml, 'substring(/x,/y)') crashes - MDEV-5709 ExtractValue() with XPath variable references returns wrong result. Description: 1. The main problem was that that nodeset_func->fix_fields() was called in Item_func_xml_extractvalue::val_str() and Item_func_xml_update::val_str(), which led in some cases to execution of the XPath engine *before* having a parsed XML value. Moved to Item_xml_str_func::fix_fields(). 2. Cleanup: added a new method Item_xml_str_func::fix_fields() and moved most of the code from Item_xml_str_func::fix_length_and_dec() to Item_xml_str_func::fix_fields(), to follow the usual Item layout. 3. Cleanup: a parsed XML value is useless without the raw XML value it was built from. Previously the parsed and the raw values where stored in separate String instances. It was hard to follow how they are synchronized. Added a helper class XML which contains both parsed and raw values. Makes things easier to read and modify. 4. MDEV-5709: const_item() could incorrectly return a "true" result when XPath expression contains users/SP variable references. Now nodeset_func->const_item() is also taken into account to catch such cases. 5. Minor code enhancements.
* | | 10.0-base mergeSergei Golubchik2014-02-261-0/+3
|\ \ \ | |/ /
| * | test case forSergei Golubchik2014-02-171-0/+3
| | | | | | | | | | | | | | | MDEV-5689 ExtractValue(xml, 'substring(/x,/y)') crashes MySQL bug#12428404 MYSQLD.EXE CRASHES WHEN EXTRACTVALUE() IS CALLED WITH MALFORMED XPATH EXP
* | | MDEV-4928 Merge collation customization improvements Alexander Barkov2013-10-021-0/+47
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Merging the following MySQL-5.6 changes: - WL#5624: Collation customization improvements http://dev.mysql.com/worklog/task/?id=5624 - WL#4013: Unicode german2 collation http://dev.mysql.com/worklog/task/?id=4013 - Bug#62429 XML: ExtractValue, UpdateXML max arg length 127 chars http://bugs.mysql.com/bug.php?id=62429 (required by WL#5624)
* | mysql-5.5.18 mergeSergei Golubchik2011-11-031-0/+18
|\ \
| * | Bug #12375190: UPDATEXML CRASHES ON SIMPLE INPUTS Georgi Kodinov2011-05-031-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XPATH implementation was not handling correctly the XPATH production #19 (http://www.w3.org/TR/1999/REC-xpath-19991116/#node-sets), namely PathExpr ::= | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath It was lacking context for the RelativeLocationPath and it was just ignoring the second slash instead of treating it as a different axis specifier. Fixed the above two problems and added a test case.
* | | merge with 5.3Sergei Golubchik2011-10-191-6/+6
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
* | Merging from mysql-5.1Alexander Barkov2011-03-011-0/+8
|\ \ | |/
| * Bug#11766725 (Bug#59901) EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332Alexander Barkov2011-03-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: a byte behind the end of input string was read in case of a broken XML not having a quote or doublequote character closing a string value. Fix: changing condition not to read behind the end of input string @ mysql-test/r/xml.result @ mysql-test/t/xml.test Adding tests @ strings/xml.c When checking if the closing quote/doublequote was found, using p->cur[0] us unsafe, as p->cur can point to the byte after the value. Comparing p->cur to p->beg instead.
* | Merging from 5.1.Alexander Barkov2011-01-181-0/+11
|\ \ | |/
| * Bug#44332 my_xml_scan reads behind the end of bufferAlexander Barkov2011-01-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: the scanner function tested for strings "<![CDATA[" and "-->" without checking input string boundaries, which led to valgrind's "Conditional jump or move depends on uninitialised value(s)" error. Fix: Adding boundary checking. @ mysql-test/r/xml.result @ mysql-test/t/xml.test Adding test @ strings/xml.c Adding a helper function my_xml_parser_prefix_cmp(), with input string boundary check.
| * Manual-merge from mysql-5.1-bugteam.Ramil Kalimullin2010-11-221-0/+7
| |\
* | \ Manual merge from mysql-5.5-bugteam.Ramil Kalimullin2010-11-221-0/+20
|\ \ \ | |/ / |/| |
| * | Bug#58175 xml functions read initialized bytes when conversions happenAlexander Barkov2010-11-191-0/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: nr_of_decimals could read behind the end of the buffer in case of a non-null-terminated string, which caused valgring warnings. Fix: fixing nr_of_decimals not to read behind the "end" pointer. modified: @ mysql-test/r/xml.result @ mysql-test/t/xml.test @ sql/item.cc
| * Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0Alexander Barkov2010-11-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: crash in Item_float constructor on DBUG_ASSERT due to not null-terminated string parameter. Fix: making Item_float::Item_float non-null-termintated parameter safe: - Using temporary buffer when generating error modified: @ mysql-test/r/xml.result @ mysql-test/t/xml.test @ sql/item.cc
* | Bug#57257 Replace(ExtractValue(...)) causes MySQL crashAlexander Barkov2010-11-111-0/+13
|/ | | | | | | | | | | | | | | | | | | | | | | | Bug#57820 extractvalue crashes Problem: ExtractValue and Replace crashed in some cases due to invalid handling of empty and NULL arguments. Per file comments: @mysql-test/r/ctype_ujis.result @mysql-test/r/xml.result @mysql-test/t/ctype_ujis.test @mysql-test/t/xml.test Adding tests @sql/item_strfunc.cc Make sure Item_func_replace::val_str safely handles empty strings. @sql/item_xmlfunc.cc set null_value if nodeset_func returned NULL, which is possible when the second argument is an unset user variable.
* Bug#43183 ExctractValue() brings result list in missorderSergey Glukhov2009-04-011-0/+29
| | | | | | | | | | | | | | | | | | The problem is that XML functions(items) do not reset null_value before their execution and further item excution may use null_value value of the previous result. The fix is to reset null_value. mysql-test/r/xml.result: test result mysql-test/t/xml.test: test case sql/item_xmlfunc.cc: The problem is that XML functions(items) do not reset null_value before their execution and further item excution may use null_value value of the previous result. The fix is to reset null_value.
* Bug#42495 updatexml: Assertion failed: xpath->context, file ↵Sergey Glukhov2009-02-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .\item_xmlfunc.cc, line 2507 Problem: RelativeLocationPath can appear only after a node-set expression in the third and the fourth branches of this rule: PathExpr :: = LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath XPatch code didn't check the type of FilterExpr and crashed. Fix: If FilterExpr is a scalar expression (variable reference, literal, number, scalar function call) return error. mysql-test/r/xml.result: test result mysql-test/t/xml.test: test case sql/item_xmlfunc.cc: Problem: RelativeLocationPath can appear only after a node-set expression in the third and the fourth branches of this rule: PathExpr :: = LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath XPatch code didn't check the type of FilterExpr and crashed. Fix: If FilterExpr is a scalar expression (variable reference, literal, number, scalar function call) return error.
* Bug#38227 EXTRACTVALUE doesn't work with DTD declarationsAlexander Barkov2008-12-101-0/+24
| | | | | | | | | | | | Problem: XML syntax parser allowed to use quoted strings as attribute names, and tried to put them into parser state stack instead of identifiers. After that parser failed, if quoted string contained some slash characters. Fix: - Disallowing quoted strings in regular tags. - Allowing quoted string in DOCTYPE declararion, but don't push it into parse state stack (just skip it).
* Fix for bug #32557: order by updatexml causes assertion in filesortunknown2007-11-211-0/+7
| | | | | | | | | | | | | | | | | | Problem: even if an Item_xml_str_func successor returns NULL, it doesn't have a corresponding property (maybe_null) set, that leads to a failed assertion. Fix: set nullability property of Item_xml_str_func. mysql-test/r/xml.result: Fix for bug #32557: order by updatexml causes assertion in filesort - test result. mysql-test/t/xml.test: Fix for bug #32557: order by updatexml causes assertion in filesort - test case. sql/item_xmlfunc.h: Fix for bug #32557: order by updatexml causes assertion in filesort - set Item_xml_str_func::maybe_null.
* Many files:unknown2007-10-271-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error message numbers. mysql-test/r/binlog_unsafe.result: Error message numbers. mysql-test/r/events_bugs.result: Error message numbers. mysql-test/r/events_trans.result: Error message numbers. mysql-test/r/sp_gis.result: Error message numbers. mysql-test/r/xml.result: Error message numbers. mysql-test/suite/rpl/r/rpl_incident.result: Error message numbers. mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: Error message numbers. mysql-test/suite/rpl/r/rpl_udf.result: Error message numbers. mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Error message numbers. mysql-test/suite/ndb/r/ndb_dd_basic.result: Error message numbers. mysql-test/suite/ndb/r/ndb_dd_ddl.result: Error message numbers. mysql-test/suite/ndb/r/ndb_gis.result: Error message numbers. mysql-test/suite/ndb/r/ndb_row_format.result: Error message numbers. mysql-test/suite/ndb/r/ndb_single_user.result: Error message numbers.
* Fix for bug #31438: updatexml still crashesunknown2007-10-081-0/+11
| | | | | | | | | | | | | | | | | Problem: check missed if the second updatexml() argument is valid. Fix: check it. mysql-test/r/xml.result: Fix for bug #31438: updatexml still crashes - test result. mysql-test/t/xml.test: Fix for bug #31438: updatexml still crashes - test case. sql/item_xmlfunc.cc: Fix for bug #31438: updatexml still crashes - check if the second argument passed to the updatexml() is valid.
* Many files:unknown2007-09-141-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge with 5.0-opt. mysql-test/r/binlog_unsafe.result: Merge with 5.0-opt. mysql-test/r/events_bugs.result: Merge with 5.0-opt. mysql-test/r/events_trans.result: Merge with 5.0-opt. mysql-test/r/sp.result: Merge with 5.0-opt. mysql-test/r/sp_gis.result: Merge with 5.0-opt. mysql-test/r/xml.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_incident.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: Merge with 5.0-opt. mysql-test/suite/rpl/r/rpl_udf.result: Merge with 5.0-opt. mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_dd_basic.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_dd_ddl.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_gis.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_row_format.result: Merge with 5.0-opt. mysql-test/suite/ndb/r/ndb_single_user.result: Merge with 5.0-opt.
* Many files:unknown2007-08-031-9/+9
| | | | | | | | | | | | | | | | | | Post-merge fix. mysql-test/r/binlog_unsafe.result: Post-merge fix. mysql-test/r/events_bugs.result: Post-merge fix. mysql-test/r/events_trans.result: Post-merge fix. mysql-test/r/sp.result: Post-merge fix. mysql-test/r/sp_gis.result: Post-merge fix. mysql-test/r/xml.result: Post-merge fix.
* Bug #29245: Bad Merge Caused Error Codes Conflict between 5.0/5.1unknown2007-06-261-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/backup.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/events_bugs.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/events_trans.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/ndb_dd_basic.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/ndb_dd_ddl.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/ndb_gis.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/ndb_row_format.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_extraCol_innodb.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_extraCol_myisam.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_incident.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_ndb_extraCol.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_row_tabledefs_2myisam.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_row_tabledefs_3innodb.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/rpl_sp.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/select.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/show_check.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/sp.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/sp_gis.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/sp_trans.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/type_timestamp.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/warnings.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/r/xml.result: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/t/grant.test: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 mysql-test/t/partition_grant.test: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 sql/mysql_priv.h: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1 sql/share/errmsg.txt: Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
* Bug#28558 UpdateXML called with garbage crashes serverunknown2007-05-231-0/+6
| | | | | | | | | | | | | | | | | | | | Problem: Memory overrun happened in attempts to generate error messages (e.g. in case of incorrect XPath syntax). Reason: set_if_bigger() was used instead of set_if_smaller(). Change: replacing wrong set_if_bigger() to set_if_smaller(), and making minor additional code clean-ups. mysql-test/r/xml.result: Adding test cases for all pieces of code with set_if_smaller() followed by my_printf_error(). mysql-test/t/xml.test: Adding test cases for all pieces of code with set_if_smaller() followed by my_printf_error(). sql/item_xmlfunc.cc: - fixing incorrect set_if_bigger to set_if_smaller in two places - getting read of unnesessary "char context[32]" variable and using '%.*s' instead if '%s' in the error format.
* Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rplunknown2007-05-081-0/+115
|\ | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/bar/mysql-5.1.b26518 mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged sql/item_xmlfunc.cc: Auto merged
| * Bug#26518 XPath and variables problemunknown2007-05-081-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: XPath variables didn't work. Fix: adding variables support, both user-defined and sp local variables are now supported by XPath. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Adding variables support: - SP variables with standard XPath syntax: $i - User variables with non-standard syntax: $@i
* | Bug#27898 UPDATEXML Crashes the Server!unknown2007-05-021-0/+7
|/ | | | | | | | | | | | | | | | | | Problem: when replacing the root element, UpdateXML erroneously tried to mix old XML content with the replacement string, which led to crash. Fix: don't use the old XML content in these cases, just return the replacement string. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Adding special code to handle replacements of the root element - the replacing content is just copied to the result, the previous content of the XML value is removed.
* Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rplunknown2007-01-221-0/+75
|\ | | | | | | | | | | | | | | | | | | into mysql.com:/home/bar/mysql-5.1.b24747 mysql-test/r/xml.result: Auto merged sql/item_xmlfunc.cc: Auto merged
| * Bug#24747 XPath error with the node name "Text"unknown2006-12-271-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Bug#24747 XPath error with the node name "Text" Problem: keywords, nodetype names and axis names didn't work in node name context. Fix: 1. Changes in lexem scanner behaviour when an identifier has been read: - search through axis names and return MY_XPATH_AXIS_xxx only when identifier is followed by two semicolons. Don't check axis names and return MY_XPATH_IDENT of not followed by two semicolons. - search through nodetype names and return MY_XPATH_LEX_NODETYPE only when identifier is followed by left parenthesis. Don't check nodetype names and return MY_XPATH_LEX_IDENT when not followed by parenthesis 2. Change in syntax analizer: QName scanner now accepts keywords AND, OR, MOD, DIV as valid node names.
* | WL# 3031unknown2006-12-081-9/+9
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post-commit issues fixed * Test results for other tests fixed due to added error #s * Memory allocation/free issues found with running with valgrind * Fix to mysql-test-run shell script to run federated_server test (installs mysql.servers table properly) mysql-test/r/1st.result: WL #3031 New result for 1st test mysql-test/r/backup.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/connect.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/information_schema.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/mysql.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/mysqlcheck.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/ndb_dd_basic.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/ndb_dd_ddl.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/select.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/show_check.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/sp.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/sp_gis.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/sp_trans.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/system_mysql_db.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/type_timestamp.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/warnings.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. mysql-test/r/xml.result: WL #3031 Error codes differ due to addition of error codes for federated server errors (2) so all test results with hard-coded error #s will be off by two. New results generated. scripts/mysql_create_system_tables.sh: WL #3031 Fixed old mysql-test-run.sh script to work with new mysql.servers table as reported by Cisco sql/sql_yacc.yy: WL# 3031 OPTIONS/options must be usable as table or column name. storage/federated/ha_federated.cc: WL# 3031 * Fixed allocation and free issues (warnings found with --valgrind) * Fixed cast issues * Made sure port was set accordingly
* Bug#22823 gt and lt operators appear to be reversed in ExtractValue() commandunknown2006-10-231-0/+73
| | | | | | | | | | | | | | | | | Problem: "greater than" and "less than" XPath operators appeared to have been implemented in reverse. Fix: swap arguments to eq_func() and eq_func_reverse() to provide correct operation result. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Pass argumemtns to eq_func() and eq_func_reverse() in correct order: nodeset argument first, then scalar argument. Also, fixing eq_func_reverse() to do correct conversion, e.g: "scalar > nodeset" into "nodeset < scalar" instead of wrong "nodeset <= scalar" "scalar >= nodeset" into "nodeset <= scalar" instead of wrong "nodeset < scalar".
* Bug#20854 XML functions: wrong result in ExtractValueunknown2006-09-141-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/xml.result: - Adding test case - Fixing error message mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: For grammar rules with loops like: AdditiveExpr ::= MultiplicativeExpr ('+' MultiplicativeExpr)* If we scanned scanned '+' and then met an error when parsing MultiplicativeExpr, then we should fully stop parsing - without trying to apply any other rules. Fix: add "error" member into MY_XPATH structure, and make my_xpath_parse_term() never return success as soon as error set. strings/xml.c: Adding my_xml_ctype map for flags, indicating whether a character is a space character, is a valid identifier start character, is a valid identifier body character. Using this map to properly scan identifiers. Also, using this map to scan spaces faster (instead of strchr).
* Bug#20795: extractvalue() won't accept names containing a dot (.)unknown2006-07-251-0/+6
| | | | | | | | | | | | | | | | Dot character was not considered as a valid identifier body character. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Treat dot character as a valid identifier body part. strings/ctype.c: Fixing to use '/' instead of '.' as a delimiter in charset file parser. strings/xml.c: Fixing to use '/' instead of '.' as a delimiter.
* Additional fix for 18201 XML: ExtractValue works even if the xml fragment is ↵unknown2006-06-191-6/+6
| | | | | | | | | not well-formed xml Changing error number
* Merge mysql.com:/usr/home/bar/mysql-5.1-new.b18201unknown2006-06-191-1/+31
|\ | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-kt mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged sql/item_xmlfunc.cc: Auto merged
| * Merge mysql.com:/usr/home/bar/mysql-5.1-newunknown2006-05-021-1/+31
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-new.b18201 mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged sql/item_xmlfunc.cc: Auto merged
| | * Bug#18201: XML: ExtractValue works even if the xmlunknown2006-04-171-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fragment is not well-formed xml Problem: - ExtractValue silently returned NULL if a wrong XML value is passed. - In some cases "unexpected END-OF-INPUT" error was not detected, and a non-NULL result could be returned for a bad XML value. Fix: - Adding warning messages, to make user aware why NULL was returned. - Missing "unexpected END-OF-INPUT" error is reported now. mysql-test/r/xml.result: - Fixing XML systax error in old test - Adding test cases. mysql-test/t/xml.test: - Fixing XML systax error in old test - Adding test cases. sql/item_xmlfunc.cc: Produce warning in case of XML systax error, instead of silentrly returning NULL. strings/xml.c: - Making error messages better looking and clearer: It is important because now they're seen in SHOW WARNINGS (previously they were used only for debugging purposes). - Adding "unexpected END-OF-INPUT" error if after scanning closing tag for the root element some input is left (previously this error was ignored in a mistake).
* | | Merge mysql.com:/usr/home/bar/mysql-5.1-newunknown2006-05-031-0/+9
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-new.b18170 mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged sql/item_xmlfunc.cc: Auto merged
| * | Bug#18170: XML: ExtractValue(): XPath expression can't use QNames (colon in ↵unknown2006-04-171-0/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | names) Problem source: Qualified names (aka QName) didn't work as tag names and attribute names, because the parser lacked a real rule to scan QName, so it understood only non-qualified names without prefixes. Solution: New rule was added to check both "ident" and "ident:ident" sequences. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Adding real QName parser rule and using it in NodeTest rule.
* | Merge mysql.com:/usr/home/bar/mysql-5.1-newunknown2006-04-141-0/+24
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-new.b16319 mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged sql/item_xmlfunc.cc: Auto merged
| * Bug#16319: XML: extractvalue() returns syntax errors for some functionsunknown2006-04-071-0/+24
| | | | | | | | | | | | | | | | | | | | | | mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Adding support for missing XPath function string-length(). Fixing function lookup to allow functions with one optional arguments (i.e. with 0 or 1 arguments)
* | Merge mysql.com:/usr/home/bar/mysql-5.1-newunknown2006-04-111-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/bar/mysql-5.1-new.b18285 mysql-test/r/xml.result: Auto merged mysql-test/t/xml.test: Auto merged