1. 16 Dec, 2009 1 commit
    • Sergey Vojtovich's avatar
      Backport from 6.0-codebase. · adb35154
      Sergey Vojtovich authored
      Bug #36098 Audit plugin (wl 3771) feature disabled in 6.0
      avoid recusrive locking of LOCK_plugin
      
      include/mysql/plugin_audit.h:
        fix incorrect version
      sql/log.cc:
        move the common code to a shared header
      sql/mysqld.cc:
        restore the deleted functionality
      sql/set_var.cc:
        remove unused parameter
      sql/sql_audit.h:
        two inline convenience functions
      sql/sql_parse.cc:
        use a simplified convenience call
      sql/sql_plugin.cc:
        unlock LOCK_plugin for plugin->init() call, add missing OOM check,
        issue "unknown variable" error in find_sys_var, not down the stack
      adb35154
  2. 15 Dec, 2009 1 commit
    • Sergey Vojtovich's avatar
      Backport from 6.0-codebase. · 540f8521
      Sergey Vojtovich authored
      WL#3771
        "Audit Plugin Interface"
        Implement new plug-in type - AUDIT
        New plug-in: audit_null
          simply increments counter for how many times it was called.
      
      include/Makefile.am:
        wl3771
          add new headers to distribution
      include/mysql/plugin.h:
        wl3771
          define new AUDIT plugin type
          Split out fulltext plugin type into its own header
      include/mysql/plugin.h.pp:
        wl3771
          no real API change, just re-arranged some code
      include/mysql/plugin_audit.h:
        wl3771
          pluggable audit interface
      include/mysql/plugin_ftparser.h:
        wl3771
          Split out fulltext plugin type into its own header
      libmysqld/CMakeLists.txt:
        wl3771
          add sql_audit.cc to build
      libmysqld/Makefile.am:
        wl3771
          add sql_audit.cc to build
      plugin/audit_null:
        wl3771
          an example plugin for testing pluggable audit interface
      plugin/audit_null/Makefile.am:
        wl3771
          an example plugin for testing pluggable audit interface
      plugin/audit_null/audit_null.c:
        wl3771
          an example plugin for testing pluggable audit interface
      plugin/audit_null/plug.in:
        wl3771
          an example plugin for testing pluggable audit interface
      sql/CMakeLists.txt:
        wl3771
          add sql_audit.cc to build
      sql/Makefile.am:
        wl3771
          add sql_audit.cc to build
      sql/event_queue.cc:
        wl3771
          release audit resources before waiting
      sql/log.cc:
        wl3771
          add general audit call for log
      sql/mysqld.cc:
        wl3771
          add audit initialize/finalize
          add general audit call for error
      sql/sql_audit.cc:
        wl3771
          pluggable audit interface implementation
      sql/sql_audit.h:
        wl3771
          pluggable audit interface implementation
      sql/sql_class.cc:
        wl3771
          add thd audit init/deinit calls
      sql/sql_class.h:
        wl3771
          add required data structures for audit to THD
      sql/sql_connect.cc:
        wl3771
          release audit resources before waiting
      sql/sql_insert.cc:
        wl3771
          release audit plugins before waiting
      sql/sql_parse.cc:
        wl3771
          add general audit call for results
      sql/sql_plugin.cc:
        wl3771
          add declarations for audit plugin type
      540f8521
  3. 11 Dec, 2009 6 commits
  4. 10 Dec, 2009 5 commits
  5. 09 Dec, 2009 2 commits
  6. 08 Dec, 2009 4 commits
    • Magne Mahre's avatar
      Bug#35589 SET PASSWORD caused a crash · 4ad324db
      Magne Mahre authored
      Bug#35591 FLUSH PRIVILEGES caused a crash
      
      A race condition on the privilege hash tables (proc_priv_hash
      and func_priv_hash) caused one thread to try to delete elements
      that had already been deleted by another thread.
      
      The bug was caused by reading and saving the pointers to 
      the hash tables outside mutex protection.  This led to an
      inconsistency where a thread copied a pointer to a hash,
      another thread did the same, the first thread then deleted
      the hash, and the second then crashed when it in turn tried to
      delete the deleted hash.
      
      The fix is to ensure that operations on the shared hash structures
      happens under mutex protection (moving the locking up a little)
      
      
      4ad324db
    • V Narayanan's avatar
      merging with mysql-next-mr-svoj · 92334e30
      V Narayanan authored
      92334e30
    • V Narayanan's avatar
      merging with mysql-next-mr-svoj · 88611904
      V Narayanan authored
      88611904
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · 02acbc2c
      Alexander Nozdrin authored
      02acbc2c
  7. 07 Dec, 2009 4 commits
    • He Zhenxing's avatar
      Auto merge · 8ec8b076
      He Zhenxing authored
      8ec8b076
    • Sergey Vojtovich's avatar
      WL#2511 - Add a new table to the Information Schema for TABLESPACE's · 31efab3f
      Sergey Vojtovich authored
      Implemented a new INFORMATION_SCHEMA table, which is intended to
      provide information about tablespaces.
      
      mysql-test/r/information_schema.result:
        Updated test result according to WL#2511. With this WL
        I_S has new TABLESPACES schema.
      mysql-test/r/information_schema_db.result:
        Updated test result according to WL#2511. With this WL
        I_S has new TABLESPACES schema.
      mysql-test/r/mysqlshow.result:
        Updated test result according to WL#2511. With this WL
        I_S has new TABLESPACES schema.
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Updated test result according to WL#2511. With this WL
        I_S has new TABLESPACES schema.
      mysql-test/suite/funcs_1/r/is_tables_is.result:
        Updated test result according to WL#2511. With this WL
        I_S has new TABLESPACES schema.
      sql/handler.h:
        Added SCH_TABLESPACES to enum_schema_tables.
      sql/mysql_priv.h:
        Added human readable definitions for I_S.TABLESPACES field
        identifiers.
      sql/sql_show.cc:
        Added I_S.TABLESPACES schema. The code which handles I_S.FILES
        is capable to handle I_S.TABLESPACES as well. Thus we reuse
        this code and let functions/variables have more generic names.
      31efab3f
    • Alexander Barkov's avatar
      Bug#47756 Setting 2byte collation ID with 'set names' crashes the server · 6e7cffac
      Alexander Barkov authored
      The problem is not actually related to 2byte collation IDs.
      The same crash happens if you change the collation ID in
      mysql-test/str_data/Index.xml to a value smaller than 256.
      
      Crash happened in SQL parser, because the "ident_map" and "state_map"
      arrays were not initialized in loadable utf8 collations.
      
      Fix: adding proper initialization of the "ident_map" and "state_map"
      members for loadable utf8 collations.
      6e7cffac
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · 3a2c3044
      Alexander Nozdrin authored
      3a2c3044
  8. 05 Dec, 2009 3 commits
  9. 04 Dec, 2009 9 commits
  10. 03 Dec, 2009 5 commits
    • V Narayanan's avatar
      Bug#40814 CSV engine does not parse \X characters when they occur in unquoted fields · e5eaa8b6
      V Narayanan authored
          
      When a .CSV file for table in the CSV engine contains
      \X characters as part of unquoted fields, e.g.
          
      2,naraya\nan
          
      \n is not interpreted as a new line (it is however interpreted as a
      newline in a quoted field).
          
      The old algorithm copied the entire value for a unquoted field without
      parsing the \X characters. 
          
      The new algorithm adds the capability to handle \X characters in the 
      unquoted fields of a .CSV file.
      
      mysql-test/r/csv.result:
        Bug#40814 CSV engine does not parse \X characters when they occur in unquoted fields
        
        Contains additional test output corresponding to the new 
        tests added.
      mysql-test/t/csv.test:
        Bug#40814 CSV engine does not parse \X characters when they occur in unquoted fields
        
        Contains additional tests for testing the behaviour of the CSV 
        storage engine when the fields are not enclosed in quotes and
        contain \X characters.
      storage/csv/ha_tina.cc:
        Bug#40814 CSV engine does not parse \X characters when they occur in unquoted fields
        
        Changes the parsing logic of the rows in a CSV file, to parse
        \X characters that might be present in the unquoted fields.
      e5eaa8b6
    • V Narayanan's avatar
      WL#4454 change sql_insert.cc::last_uniq_key to match keys in any order · b885a194
      V Narayanan authored
      Introduce a flag that will enable the REPLACE
      command to work correctly with an underlying
      storage engine that does not report unique key
      conflicts in the ascending order.
      
      sql/handler.h:
        WL#4454 change sql_insert.cc::last_uniq_key to match keys in any order
        
        Adds the flag that will be set by a
        SE that does not report unique key
        conflicts in the ascending order.
      sql/sql_insert.cc:
        WL#4454 change sql_insert.cc::last_uniq_key to match keys in any order
        
        modifies the function used for a last row
        replace optimization to check for the
        HA_DUPLICATE_KEY_NOT_IN_ORDER flag.
      b885a194
    • Konstantin Osipov's avatar
      Merge next-mr -> next-mr-runtime · f26c7bcd
      Konstantin Osipov authored
      f26c7bcd
    • V Narayanan's avatar
      WL#4448 Generalize the handlerton::fill_files_table call with handlerton::fill_is_table · fd9c147c
      V Narayanan authored
      The attached patch adds a method
      handlerton::fill_is_table that can be used
      instead of having to create specific
      handlerton::fill_*_table methods.
      
      sql/ha_ndbcluster.cc:
        WL#4448 Generalize the handlerton::fill_files_table call with handlerton::fill_is_table
        
        Implemented the method ndbcluster_fill_is_table
        that uses the supplied table id to switch to the
        appropriate fill_*_table method.
      sql/handler.h:
        WL#4448 Generalize the handlerton::fill_files_table call with handlerton::fill_is_table
        
        Moved the enum_schema_table enumeration
        from table.h to here. 
        
        contains the declaration for the new method
        fill_is_tables.
      sql/sql_show.cc:
        WL#4448 Generalize the handlerton::fill_files_table call with handlerton::fill_is_table
        
        calls the fill_is_table method instead of the
        fill_files_table method.
      sql/table.h:
        WL#4448 Generalize the handlerton::fill_files_table call with handlerton::fill_is_table
        
        removed the earlier definition of enum_schema_tables.
      fd9c147c
    • Marc Alff's avatar
      662088d1