An error occurred fetching the project authors.
  1. 14 Sep, 2006 1 commit
    • unknown's avatar
      Bug#20854 XML functions: wrong result in ExtractValue · bfabb5b7
      unknown authored
      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).
      bfabb5b7
  2. 25 Jul, 2006 1 commit
    • unknown's avatar
      Bug#20795: extractvalue() won't accept names containing a dot (.) · 4824295e
      unknown authored
      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.
      4824295e
  3. 13 Jul, 2006 1 commit
    • unknown's avatar
      Post-merge fixes. · 5e97b7eb
      unknown authored
      mysql-test/mysql-test-run.sh:
        A post-merge fix (apply a change lost during the merge).
      sql/ha_ndbcluster.cc:
        A post-merge fix: resolve a merge error.
      sql/item.cc:
        Fix a merge error.
      sql/item_xmlfunc.cc:
        Use the new signature of agg_arg_charsets.
      5e97b7eb
  4. 19 Apr, 2006 1 commit
    • unknown's avatar
      item_xmlfunc.cc: · 4a9bdd77
      unknown authored
        After review minor fixes for bug#16319
        Thanks to Gluh for suggestions.
      
      
      sql/item_xmlfunc.cc:
        After review minor fixes.
        Thanks Gluh for suggestions.
      4a9bdd77
  5. 17 Apr, 2006 2 commits
    • unknown's avatar
      Bug#18201: XML: ExtractValue works even if the xml · e0fd31d0
      unknown authored
      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).
      e0fd31d0
    • unknown's avatar
      Bug#18170: XML: ExtractValue(): XPath expression can't use QNames (colon in names) · 6980d535
      unknown authored
      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.
      6980d535
  6. 11 Apr, 2006 1 commit
    • unknown's avatar
      Bug#16233: XML: ExtractValue() fails with special characters · e796a9c8
      unknown authored
      ExtractValue didn't understand tag and attribute names
      consisting of "tricky" national letters (e.g. latin accenter letters).
      It happened because XPath lex parser recognized only basic
      latin letter a..z ad a part of an identifier.
      
      Fixed to recognize all letters by means of new "full ctype" which
      was added recently.
      
      
      mysql-test/r/xml.result:
        Adding test case
      mysql-test/t/xml.test:
        Adding test case
      sql/item_xmlfunc.cc:
        Using recently implemented "true" ctype functionality
            to treat all national letters as valid tag names,
            Only basic latin letters worked so far.
      strings/ctype-simple.c:
        A bug fix: ctype is array of 257 elements,
            adding offset to address correct element.
      e796a9c8
  7. 07 Apr, 2006 1 commit
  8. 29 Mar, 2006 1 commit
    • unknown's avatar
      Fixed compiler and valgrind warnings · eda5d729
      unknown authored
      Added missing DBUG_xxx_RETURN statements
      Fixed some usage of not initialized variables (as found by valgrind)
      Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
      This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
      This will allow Tomas to continue with his work to use namelocks to syncronize things.
      
      Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
      
      
      BitKeeper/etc/ignore:
        added mysql-test/r/*.log
      client/mysqltest.c:
        Change type of variables to get rid of compiler warnings
        More debugging
        Fix memory leak
      mysql-test/mysql-test-run.sh:
        Collect warnings about missing DBUG_RETURN statements
      mysql-test/r/lock_multi.result:
        Add test of new code
      mysql-test/r/ndb_condition_pushdown.result:
        Drop used tables before test
      mysql-test/t/lock_multi.test:
        Add test of new code
      mysql-test/t/ndb_condition_pushdown.test:
        Drop used tables before test
      mysql-test/valgrind.supp:
        Ignore 'safe' warnings from libz (when used with archive)
      sql/event.cc:
        More comments
        Simplify code
        Fixed memory leak found by valgrind
      sql/ha_archive.cc:
        Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
      sql/ha_berkeley.cc:
        Fixed compiler warning
      sql/ha_blackhole.cc:
        Fixed compiler warning
      sql/ha_federated.cc:
        Fixed compiler warning
      sql/ha_heap.cc:
        Fixed compiler warning
      sql/ha_myisam.cc:
        Fixed compiler warning
      sql/ha_myisammrg.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        Fixed compiler warnings
      sql/ha_partition.cc:
        Fixed compiler warning
        Fixed error noticed by valgrind in ha_partition::rnd_init()
      sql/handler.cc:
        Fixed compiler warning
      sql/handler.h:
        Fixed compiler warning
      sql/item.cc:
        Fixed compiler warning
      sql/item_xmlfunc.cc:
        Fixed warning from valgrind when calling memcpy with wrong address
      sql/lock.cc:
        More debugging
      sql/log.cc:
        Fixed compiler warning
        Indentation fixes
      sql/log.h:
        Fixed compiler warning
      sql/mysql_priv.h:
        Changed prototype for 'drop_locked_tables'
      sql/opt_range.cc:
        Indentation fix
      sql/password.c:
        Removed compiler warnings
      sql/set_var.cc:
        Fixed compiler warning
      sql/slave.cc:
        Fixed compiler warning
      sql/sp_head.cc:
        Fixed compiler warning
      sql/sql_acl.cc:
        Fixed compiler warning
      sql/sql_analyse.cc:
        Added missing DBUG_RETURN statements
      sql/sql_base.cc:
        Removed de-reference of not initialized pointer
        More comments
        drop_locked_tables() changed to not delete tables used for name locking
        Fixed compiler warnings
      sql/sql_delete.cc:
        Fixed usage of not initialized variable
        (deleted could be referenced in some not common error conditions)
      sql/sql_parse.cc:
        Added missing DBUG_VOID_RETURN
        Simplify code
      sql/sql_partition.cc:
        Fixed usage of wrong variable (noticed by valgrind)
      sql/sql_plugin.cc:
        Removed compiler warning
      sql/sql_show.cc:
        Removed compiler warning
      sql/sql_table.cc:
        Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
        This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
        This will allow Tomas to continue with his work to use namelocks to syncronize things.
        
        Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
        
        Remove compile warnings about not initialized variables.
      sql/sql_yacc.yy:
        Ensure that no_write_to_binlog is properly initialized
        (Was accessed uninitialized by partition code)
      sql/table.cc:
        Removed valgrind warnings (not fatal)
        Removed compiler warnings
      sql/tztime.cc:
        Removed valgrind warning
      storage/ndb/include/ndbapi/NdbIndexStat.hpp:
        Removed compiler warning
      eda5d729
  9. 22 Mar, 2006 1 commit
    • unknown's avatar
      item_xmlfunc.cc: · fbd699fe
      unknown authored
        After review fix.
        Thanks to Gluh for suggestion.
        Bug#18172: XML: Extractvalue() accepts mallformed XPath without a XPath syntax error
      
      
      sql/item_xmlfunc.cc:
        After review fix.
        Thanks to Gluh for suggestion.
        Bug#18172: XML: Extractvalue() accepts mallformed XPath without a XPath syntax error
      fbd699fe
  10. 20 Mar, 2006 1 commit
    • unknown's avatar
      Bug #18172 XML: Extractvalue() accepts mallformed · 84204730
      unknown authored
        XPath without a XPath syntax error
      item_xmlfunc.cc:
        Error message didn't happen because after
        a failing attempt to parse RelativeLocationPath,
        my_xpath_parse_AbsoluteLocationPath() returned success.
        Changeing logic a bit:
        - Try to parse EOF first, return success if true.
        - Then try to parse RelativeLocationPath(), return success if true.
        - Otherwise return failure.
      xml.result:
        Adding test case.
        Also, this change made it possible to generate 
        an error message earlier in the case of another
        bad XPATH syntax.
      xml.test:
        Adding test case.
      
      
      sql/item_xmlfunc.cc:
        Bug #18172 XML: Extractvalue() accepts mallformed XPath without a XPath syntax error
        Error message didn't happen because after
        a failing attempt to parse RelativeLocationPath(),
        my_xpath_parse_AbsoluteLocationPath() returned with 1.
        Changeing logic a bit: check for EOF first.
        Then try to parse RelativeLocationPath().
        If the latter fails, return failure.
      mysql-test/t/xml.test:
        Adding test case.
      mysql-test/r/xml.result:
        Adding test case.
        Also, this change makes error message
        to be generated earlier in the case of another
        bad XPATH syntax.
      84204730
  11. 15 Mar, 2006 1 commit
    • unknown's avatar
      xml.result, xml.test: · 1f0b5bdc
      unknown authored
        Adding test.
      item_xmlfunc.cc:
        Bug #18171 XML: ExtractValue: the XPath position() function crashes the server!
        Disallowing use of position() and last() without context.
      
      
      sql/item_xmlfunc.cc:
        Bug #18171 XML: ExtractValue: the XPath position() function crashes the server!
        Disallowing use of position() and last() without context.
      mysql-test/t/xml.test:
        Adding test.
      mysql-test/r/xml.result:
        Adding test.
      1f0b5bdc
  12. 03 Mar, 2006 1 commit
    • unknown's avatar
      Bug#16318: XML: extractvalue() incorrectly returns last() = 1 · 1b0b5617
      unknown authored
      xml.result, xml.test:
        Adding test case.
      item_xmlfunc.cc:
        - adding "size" member into MY_XPATH_FLT struct,
        to pass parent's context size when iterating
        in a predicate. Previously, temporaty context
        size was calculated instead, which is always 1.
        As a result, things like last() and count() 
        didn't work fine.
        - adding iteration into Item_func_xpath_elementbyindex:
        similar to Item_func_xpath_predicate.
        This is to make things like last() and count()
        work inside square brackets.
      
      
      sql/item_xmlfunc.cc:
        Bug#16318: XML: extractvalue() incorrectly returns last() = 1
        - adding "size" member into MY_XPATH_FLT struct,
        to pass parent's context size when iterating
        in a predicate. Previously, temporaty context
        size was calculated instead, which is always 1.
        As a result, things like last() and count() 
        didn't work fine.
        - adding iteration into Item_func_xpath_elementbyindex:
        similar to Item_func_xpath_predicate.
        This is to make things like last() and count()
        work inside square brackets.
      mysql-test/t/xml.test:
        Adding test case.
      mysql-test/r/xml.result:
        Adding test case.
      1b0b5617
  13. 02 Mar, 2006 1 commit
    • unknown's avatar
      Bug#16316: XML: extractvalue() is case-sensitive with contains() · c4f390df
      unknown authored
      xml.result, xml.test:
        Adding test case.
      item_xmlfunc.cc:
        Fixed that Item_nodeset_func derived classes
        didn't take into account charset of the XML value
        and always worked using "binary" charset.
      
      
      sql/item_xmlfunc.cc:
        Bug#16316: XML: extractvalue() is case-sensitive with contains()
        Fixed that Item_nodeset_func derived classes
        didn't take into account charset of the XML value
        and always worked using "binary" charset.
      mysql-test/t/xml.test:
        Adding test case.
      mysql-test/r/xml.result:
        Adding test case.
      c4f390df
  14. 01 Mar, 2006 2 commits
    • unknown's avatar
      Bug#16315 XML: extractvalue() handles self badly · 0ef98d18
      unknown authored
      xml.result, xml.test:
        Adding test case.
      item_xmlfunc.cc:
        Adding a special function to handle "self" axis.
        Previously "child" and "self" were handled the same.
      
      
      sql/item_xmlfunc.cc:
        Bug#16315 XML: extractvalue() handles self badly
        Adding a special function to handle "self" axis.
        Previously "child" and "self" were handled the same.
      mysql-test/t/xml.test:
        Adding test case.
      mysql-test/r/xml.result:
        Adding test case.
      0ef98d18
    • unknown's avatar
      Bug#16320 XML: extractvalue() won't accept names containing underscores · f92c09b3
      unknown authored
        added '_' to allowed tag body symbols
      
      
      mysql-test/r/xml.result:
        Bug#16320 XML: extractvalue() won't accept names containing underscores
          test case
      mysql-test/t/xml.test:
        Bug#16320 XML: extractvalue() won't accept names containing underscores
          test case
      f92c09b3
  15. 28 Feb, 2006 1 commit
    • unknown's avatar
      Bug#16313 XML: extractvalue() ignores '!' in names · 1cb4810a
      unknown authored
      xml.result, xml.test:
        Adding test case.
      item_xmlfunc.cc:
        Fixed that the "!" character written at the end was ignored.
      
        Now if we try to scan "!=", and if "!" is not
        followed by "=", we rollback lex scanner back 
        to "!" token, so the parser will start to check
        the next rule from the "!" character again.
      
        Previously parser started from the next character,
        which was EOF in the example in xml.test,
        which led to query being successfully parsed,
        instead of producing a syntax error.
      
      
      sql/item_xmlfunc.cc:
        Bug#16313 XML: extractvalue() ignores '!' in names
        '!' at the end was ignored.
        Now if we try to scan "!=", and if "!" is not
        followed by "=", we rollback lex scanner back 
        to "!" token, so the parser will start to check
        the next rule from the "!" character again.
        Previously it started from the next character,
        which was EOF in the example in xml.test, and
        which led to query being successfully parsed,
        instead of producing a syntax error.
      mysql-test/t/xml.test:
        Adding test case.
      mysql-test/r/xml.result:
        Adding test case.
      1cb4810a
  16. 10 Feb, 2006 1 commit
    • unknown's avatar
      Bug#16234 XML: Crash if ExtractValue() · c652c92f
      unknown authored
        Also fixes 16314: XML: extractvalue() crash if vertical bar
      xml.result, xml.test:
        Adding test case
      item_xmlfunc.cc:
        Using root element as a context node,
        instead of NULL, with relative paths.
      
      
      sql/item_xmlfunc.cc:
        Bug#16234 XML: Crash if ExtractValue()
        Also fixes 16314: XML: extractvalue() crash if vertical bar
        Use root element as a context node,
        instead of NULL, with relative paths.
      mysql-test/t/xml.test:
        Adding test case
      mysql-test/r/xml.result:
        Adding test case
      c652c92f
  17. 05 Jan, 2006 1 commit
  18. 21 Dec, 2005 1 commit
    • unknown's avatar
      Adding XPath support: ExtractValue and UpdateXML functions. · dca59833
      unknown authored
      libmysqld/Makefile.am:
      sql/Makefile.am:
        Adding new source files.
        Adding new file into build process.
      include/my_xml.h:
      strings/xml.c:
        Adding new XML parse flags to skip text normalization and 
        to use relative tag names. Adding enum for XML token types.
      sql/lex.h:
        Making parser aware of new SQL functions.
      sqll/item_create.h, sql/item_create.cc:
        Adding creators for ExtractValue and UpdateXML.
      sql/item.h:
        Adding new Item types: nodeset and nodeset comparator.
      sql/item_xmlfunc.h
      sql/item_xmlfunc.cc
        Adding new classes implementing XPath functions.
      mysql-test/t/xml.test, mysql-test/r/xml.result:
        New files: adding test case
      
      
      include/my_xml.h:
        Adding ExtractValue and UpdateXML functions.
        Adding XML parser flags and enum for XML token types.
      sql/Makefile.am:
        Adding new source files.
      sql/item.h:
        Adding new Item types: nodeset and nodeset comparator.
      sql/item_create.cc:
        Adding creators for ExtractValue and UpdateXML.
      sql/item_create.h:
        Adding creators for ExtractValue and UpdateXML.
      sql/lex.h:
        Make parse aware of new SQL functions.
      strings/xml.c:
        Adding new flags to skip text normalization and 
        to use relative tag names.
      libmysqld/Makefile.am:
        Adding new file into build process.
      dca59833