An error occurred fetching the project authors.
  1. 15 Nov, 2010 1 commit
    • Michael Widenius's avatar
      Fixed bug discovered by testcase for LP#618558 (original bug seams to be fixed): · d95cbe36
      Michael Widenius authored
      - Fixed bug in pagecache_delete_internal() when deleting block that was flushed by another thread (fixed bug when block->next_used was unexpectedly null)
      Fixed some using uninitialized memory warnings found by valgrind. 
      
      mysql-test/t/information_schema_all_engines-master.opt:
        Added options to make slow test run faster
      sql/sp.cc:
        Fixed valgrind warning.
      sql/sql_show.cc:
        Fixed valgrind warning.
      storage/maria/ma_bitmap.c:
        Fixed wrong call parameter to pagecache_unlock_by_link() that caused assert crash in pagecache
      storage/maria/ma_pagecache.c:
        Fixed possible error in pagecache_wait_lock() when hash_link was not set. (We never hit this issue, but could be possible when two threads updates the same page.
        Fixed bug in pagecache_delete_internal() when deleting block that was flushed by another thread (fixed bug when block->next_used was unexpectedly null)
        Cleanup: moved pagecache_pthread_mutex_unlock() over comments and asserts to be just before pagecache_fwrite()
      d95cbe36
  2. 03 Sep, 2010 1 commit
    • Michael Widenius's avatar
      Fix that one can run mysql_upgrade with long table names · a4fff491
      Michael Widenius authored
      Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      Nicer output from mysql_upgrade and mysql_check
      Updated all arrays that used NAME_LEN to use SAFE_NAME_LEN to ensure that we don't break things accidently as names can now have a #mysql50# prefix.
      
      client/mysql_upgrade.c:
        If we are using verbose, also run mysqlcheck in verbose mode.
      client/mysqlcheck.c:
        Add more information if running in verbose mode
        Print 'Needs upgrade' instead of complex error if table needs to be upgraded
        Don't write connect information if verbose is not 2 or above
      mysql-test/r/drop.result:
        Updated test and results as we now support full table names
      mysql-test/r/grant.result:
        Now you get a correct error message if using #mysql with paths
      mysql-test/r/show_check.result:
        Update results as table names can temporarly be bigger than NAME_LEN (during upgrade)
      mysql-test/r/upgrade.result:
        Test upgrade for long table names.
      mysql-test/suite/funcs_1/r/is_tables_is.result:
        Updated old test result (had note been updated in a while)
      mysql-test/t/drop.test:
        Updated test and results as we now support full table names
      mysql-test/t/grant.test:
        Now you get a correct error message if using #mysql with paths
      mysql-test/t/upgrade.test:
        Test upgrade for long table names.
      sql/ha_partition.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/item.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/log_event.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/mysql_priv.h:
        Added SAFE_NAME_LEN
      sql/rpl_filter.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp_head.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_acl.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_base.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_connect.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_parse.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_prepare.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_select.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_show.cc:
        NAME_LEN -> SAFE_NAME_LEN
        Enlarge table names for SHOW TABLES to also include optional #mysql50#
      sql/sql_table.cc:
        Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      sql/sql_trigger.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_udf.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_view.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/table.cc:
        Fixed check_table_name() to not count #mysql50# as part of name
        If #mysql50# is part of the name, don't allow path characters in name.
      a4fff491
  3. 27 Aug, 2010 1 commit
  4. 04 Aug, 2010 1 commit
    • Michael Widenius's avatar
      Fixed some test failures after last push (failing tests and valgrind warnings) · 7b4bd6df
      Michael Widenius authored
      Added --strace support to mysql-test-run
      
      mysql-test/mysql-test-run.pl:
        Added support for --strace (usefull for example to check how much memory mysqld was using)
      mysql-test/suite/funcs_1/t/is_engines_innodb.test:
        Fixed test case to also work with xtradb
      mysql-test/suite/innodb_plugin/t/innodb.test:
        Don't run if we don't have the used character sets.
      mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
        Don't run if we don't have the used character sets.
      sql/sql_show.cc:
        Extended comment to 160 characters to get full comment from xtradb
      storage/xtradb/handler/ha_innodb.cc:
        Fixed valgrind warning.
      7b4bd6df
  5. 22 Jul, 2010 1 commit
  6. 21 Jul, 2010 1 commit
    • Georgi Kodinov's avatar
      Addendum #4 to bug #53095 · e24abd90
      Georgi Kodinov authored
      SHOW DATABASES LIKE ... was not converting to lowercase on comparison as the
      documentation is suggesting. 
      Fixed it to behave similarly to SHOW TABLES LIKE ... and updated the failing
      on MacOSX lowercase_table2 test case.
      e24abd90
  7. 20 Jul, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · 9a5fa17f
      Davi Arnaut authored
      Fix warnings flagged by the new warning option -Wunused-but-set-variable
      that was added to GCC 4.6 and that is enabled by -Wunused and -Wall. The
      option causes a warning whenever a local variable is assigned to but is
      later unused. It also warns about meaningless pointer dereferences.
      
      client/mysql.cc:
        Meaningless pointer dereferences.
      client/mysql_upgrade.c:
        Check whether reading from the file succeeded.
      extra/comp_err.c:
        Unused.
      extra/yassl/src/yassl_imp.cpp:
        Skip instead of reading data that is discarded.
      include/my_pthread.h:
        Variable is only used in debug builds.
      include/mysys_err.h:
        Add new error messages.
      mysys/errors.c:
        Add new error message for permission related functions.
      mysys/mf_iocache.c:
        Variable is only checked under THREAD.
      mysys/my_copy.c:
        Raise a error if chmod or chown fails.
      mysys/my_redel.c:
        Raise a error if chmod or chown fails.
      regex/engine.c:
        Use a equivalent variable for the assert.
      server-tools/instance-manager/instance_options.cc:
        Unused.
      sql/field.cc:
        Unused.
      sql/item.cc:
        Unused.
      sql/log.cc:
        Do not ignore the return value of freopen: only set buffer if
        reopening succeeds.
        
        Adjust doxygen comment to the right function.
        
        Pass message lenght to log function.
      sql/mysqld.cc:
        Do not ignore the return value of freopen: only set buffer if
        reopening succeeds.
      sql/partition_info.cc:
        Unused.
      sql/slave.cc:
        No need to set pointer to the address of '\0'.
      sql/spatial.cc:
        Unused. Left for historical purposes.
      sql/sql_acl.cc:
        Unused.
      sql/sql_base.cc:
        Pointers are always set to the same variables.
      sql/sql_parse.cc:
        End statement if reading fails.
        
        Store the buffer after it has actually been updated.
      sql/sql_repl.cc:
        No need to set pointer to the address of '\0'.
      sql/sql_show.cc:
        Put variable under the same ifdef block.
      sql/udf_example.c:
        Set null pointer flag appropriately.
      storage/csv/ha_tina.cc:
        Meaningless dereferences.
      storage/example/ha_example.cc:
        Return the error since it's available.
      storage/myisam/mi_locking.c:
        Remove unused and dead code.
      9a5fa17f
  8. 09 Jul, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#45288: pb2 returns a lot of compilation warnings on linux · 11fae045
      Davi Arnaut authored
      Although the C standard mandates that sprintf return the number
      of bytes written, some very ancient systems (i.e. SunOS 4)
      returned a pointer to the buffer instead. Since these systems
      are not supported anymore and are hopefully long dead by now,
      simply remove the portability wrapper that dealt with this
      discrepancy. The autoconf check was causing trouble with GCC.
      11fae045
  9. 07 Jul, 2010 1 commit
    • Georgi Kodinov's avatar
      Addendum to the fix for bug #53095 (failing information_schema.test on windows) · d9e7c4ef
      Georgi Kodinov authored
      Since the original fix for this bug lowercases the search pattern it's not a 
      good idea to copy the search pattern to the output instead of the real table 
      name found (since, depending on the case mode these two names may differ in 
      case).
      Fixed the infrmation_schema.test failure by making sure the actual table 
      name of an inoformation schema table is passed instead of the lookup pattern
      even when the pattern doesn't contain wildcards.
      d9e7c4ef
  10. 25 Jun, 2010 2 commits
    • Georgi Kodinov's avatar
      Bug #53095: SELECT column_name FROM INFORMATION_SCHEMA.STATISTICS · 3e1a4707
      Georgi Kodinov authored
      returns nothing
            
      When looking for table or database names inside INFORMATION_SCHEMA
      we must convert the table and database names to lowercase (just as it's
      done in the rest of the server) when lowercase_table_names is non-zero.
      This will allow us to find the same tables that we would find if there
      is no condition.
      
      Fixed by converting to lower case when extracting the database and 
      table name conditions.
      Test case added.
      3e1a4707
    • Sergey Glukhov's avatar
      Bug#54422 query with = 'variables' · 2a86768e
      Sergey Glukhov authored
      During creation of the table list of
      processed tables hidden I_S table 'VARIABLES'
      is erroneously added into the table list.
      it leads to ER_UNKNOWN_TABLE error in
      TABLE_LIST::add_table_to_list() function.
      The fix is to skip addition of hidden I_S
      tables into the table list.
      
      
      mysql-test/r/information_schema.result:
        test case
      mysql-test/t/information_schema.test:
        test case
      sql/sql_show.cc:
        The fix is to skip addition of hidden I_S
        tables into the table list.
      2a86768e
  11. 23 Jun, 2010 1 commit
  12. 14 Jul, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#42733: Type-punning warnings when compiling MySQL -- · f317d3a6
      Davi Arnaut authored
                 strict aliasing violations.
      
      Another rather noisy violation of strict aliasing rules
      is the spatial code which makes use of stack-based memory
      (of type Geometry_buffer) to provide placement for Geometry
      objects. Although a placement new is allowed to dynamically
      change the type of a object, the object returned by the
      new placement was being ignored and the original stack-based
      object was being casted to the new type, thus violating strict
      aliasing rules.
      
      The solution is to reorganize the code so that the object
      returned by the new placement is used instead of casting the
      original object. Also, to ensure that the stack-based object
      is properly aligned with respect to the objects it provides
      placement for, a set of compiler-dependent macros and types
      are introduced so that the alignment of objects can be inquired
      and specified.
      
      include/Makefile.am:
        Add new header.
      include/my_compiler.h:
        Add new header.
      include/my_global.h:
        Remove now-unnecessary macros.
      sql/spatial.cc:
        Make object creation functions return the object whose type
        was dynamically changed by the new placement.
        
        Move static method from the header in order to avoid having
        to access a forward declaration.
      sql/spatial.h:
        Object creation callbacks now take a array of chars as the
        storage area.
        
        Move create_by_typeid to a source file as to not access the
        forward declaration of Geometry_buffer.
        
        Ensure that Geometry_buffer is properly aligned.
      sql/sql_show.cc:
        Use newly added aligned storage helper.
      f317d3a6
  13. 23 Jun, 2010 2 commits
    • sunanda's avatar
      Backport into build-201006221614-5.1.46sp1 · 12c4c7a0
      sunanda authored
      > ------------------------------------------------------------
      > revno: 3386
      > revision-id: sergey.glukhov@sun.com-20100518082821-yajhvbv1ghmlpu1n
      > parent: aelkin@mysql.com-20100516170332-x8priwrdjwolc065
      > committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Tue 2010-05-18 13:28:21 +0500
      > message:
      >   Bug#48729 SELECT ... FROM INFORMATION_SCHEMA.ROUTINES causes memory to grow
      >   Analysis showed that in case of accessing I_S table
      >   ROUTINES we perform unnecessary allocations
      >   with get_field() function for every processed row that
      >   in their turn causes significant memory growth.
      >   the fix is to avoid use of get_field().
      12c4c7a0
    • Michael Widenius's avatar
      Fixes for Opensolaris (to get buildbot green) · 5a2f40d4
      Michael Widenius authored
      - Fixed memory leaks in mysqldump
      - Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      - Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris
      
      
      client/mysqldump.c:
        Fixed memory leaks
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      client/mysqltest.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      include/my_global.h:
        Added simple macro val_or_null() to simplify detecting of NULL strings for printf
      sql/handler.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      sql/sql_db.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
        Removed testing of 'new_db_name' as this is guranteed never NULL
      sql/sql_show.cc:
        Fixed printf of NULL which caused crashes on OpenSolaris when using --debug
      storage/csv/ha_tina.cc:
        Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris
        (OpenSolaris default malloc() can't handle a lot of reallocs() of strings that are growing one byte at a time)
        This did speed up logging to cvs with a magnitude for large strings.
      5a2f40d4
  14. 10 Jun, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#42733: Type-punning warnings when compiling MySQL -- · 0f9ddfa9
      Davi Arnaut authored
                  strict aliasing violations.
      
      One somewhat major source of strict-aliasing violations and
      related warnings is the SQL_LIST structure. For example,
      consider its member function `link_in_list` which takes
      a pointer to pointer of type T (any type) as a pointer to
      pointer to unsigned char. Dereferencing this pointer, which
      is done to reset the next field, violates strict-aliasing
      rules and might cause problems for surrounding code that
      uses the next field of the object being added to the list.
      
      The solution is to use templates to parametrize the SQL_LIST
      structure in order to deference the pointers with compatible
      types. As a side bonus, it becomes possible to remove quite
      a few casts related to acessing data members of SQL_LIST.
      
      sql/handler.h:
        Use the appropriate template type argument.
      sql/item.cc:
        Remove now-unnecessary cast.
      sql/item_subselect.cc:
        Remove now-unnecessary casts.
      sql/item_sum.cc:
        Use the appropriate template type argument.
        Remove now-unnecessary cast.
      sql/mysql_priv.h:
        Move SQL_LIST structure to sql_list.h
        Use the appropriate template type argument.
      sql/sp.cc:
        Remove now-unnecessary casts.
      sql/sql_delete.cc:
        Use the appropriate template type argument.
        Remove now-unnecessary casts.
      sql/sql_derived.cc:
        Remove now-unnecessary casts.
      sql/sql_lex.cc:
        Remove now-unnecessary casts.
      sql/sql_lex.h:
        SQL_LIST now takes a template type argument which must
        match the type of the elements of the list. Use forward
        declaration when the type is not available, it is used
        in pointers anyway.
      sql/sql_list.h:
        Rename SQL_LIST to SQL_I_List. The template parameter is
        the type of object that is stored in the list.
      sql/sql_olap.cc:
        Remove now-unnecessary casts.
      sql/sql_parse.cc:
        Remove now-unnecessary casts.
      sql/sql_prepare.cc:
        Remove now-unnecessary casts.
      sql/sql_select.cc:
        Remove now-unnecessary casts.
      sql/sql_show.cc:
        Remove now-unnecessary casts.
      sql/sql_table.cc:
        Remove now-unnecessary casts.
      sql/sql_trigger.cc:
        Remove now-unnecessary casts.
      sql/sql_union.cc:
        Remove now-unnecessary casts.
      sql/sql_update.cc:
        Remove now-unnecessary casts.
      sql/sql_view.cc:
        Remove now-unnecessary casts.
      sql/sql_yacc.yy:
        Remove now-unnecessary casts.
      storage/myisammrg/ha_myisammrg.cc:
        Remove now-unnecessary casts.
      0f9ddfa9
  15. 18 May, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#48729 SELECT ... FROM INFORMATION_SCHEMA.ROUTINES causes memory to grow · 36be33b0
      Sergey Glukhov authored
      Analysis showed that in case of accessing I_S table
      ROUTINES we perform unnecessary allocations
      with get_field() function for every processed row that
      in their turn causes significant memory growth.
      the fix is to avoid use of get_field().
      
      
      sql/sql_show.cc:
        Functions store_schema_proc() are changed
        to avoid use of get_field() function.
      36be33b0
  16. 17 Mar, 2010 1 commit
    • Mattias Jonsson's avatar
      Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with · 5196beed
      Mattias Jonsson authored
      concurrent I_S query
      
      There were two problem:
      1) MYSQL_LOCK_IGNORE_FLUSH also ignored name locks
      2) there was a race between abort_and_upgrade_locks and
         alter_close_tables
         (i.e. remove_table_from_cache and
          close_data_files_and_morph_locks)
      
      Which allowed the table to be opened with MYSQL_LOCK_IGNORE_FLUSH flag
      resulting in renaming a partition that was already in use,
      which could cause the table to be unusable.
      
      Solution was to not allow IGNORE_FLUSH to skip waiting for
      a named locked table.
      
      And to not release the LOCK_open mutex between the
      calls to remove_table_from_cache and
      close_data_files_and_morph_locks by merging the functions
      abort_and_upgrade_locks and alter_close_tables.
      
      mysql-test/suite/parts/r/partition_debug_sync_innodb.result:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Added test result
      mysql-test/suite/parts/t/partition_debug_sync_innodb-master.opt:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Added test option
      mysql-test/suite/parts/t/partition_debug_sync_innodb.test:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Added test file
      sql/authors.h:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Time to be acknowledged :)
      sql/ha_partition.cc:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Added DEBUG_SYNC for deterministic testing
      sql/mysql_priv.h:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Renamed function since merging alter_close_tables into
        abort_and_upgrade_lock.
      sql/sql_base.cc:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Changed MYSQL_LOCK_IGNORE_FLUSH to not ignore name locks
        (open_placeholder).
        
        Merged alter_close_tables into abort_and_upgrade_locks
        (and added _and_close_table to the name)
        to not release LOCK_open between remove_table_from_cache
        and close_data_files_and_morph_locks.
        
        Added DEBUG_SYNC for deterministic testing.
      sql/sql_partition.cc:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Removed alter_close_tables, (merged it into
        abort_and_upgrad_lock) so that LOCK_open never is released
        between remove_table_from_cache and
        close_data_files_and_morph_locks.
      sql/sql_show.cc:
        Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
        concurrent I_S query
        
        Added DEBUG_SYNC for deterministic testing
      5196beed
  17. 09 Mar, 2010 1 commit
    • Alexey Botchkov's avatar
      Bug#51377 Crash in information_schema / processlist on concurrent DDL workload · e1addb05
      Alexey Botchkov authored
          the fill_schema_processlist function accesses THD::query() without proper protection
          so the parallel thread killing can lead to access to the freed meemory.
      
      per-file comments:
        sql/sql_load.cc
      Bug#51377      Crash in information_schema / processlist on concurrent DDL workload
          the THD::set_query_inner() call needs to be protected.
          But here we don't need to change the original thd->query() at all.
        sql/sql_show.cc
      Bug#51377      Crash in information_schema / processlist on concurrent DDL workload
          protect the THD::query() access with the THD::LOCK_thd_data mutex.
      e1addb05
  18. 22 Jan, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#49501 Inefficient information_schema check (system collation), addon · 4a10f7b4
      Sergey Glukhov authored
      removed wrongly introduced strlen calls
      
      
      sql/events.cc:
        removed wrongly introduced strlen calls
      sql/mysql_priv.h:
        removed wrongly introduced strlen calls
      sql/repl_failsafe.cc:
        removed wrongly introduced strlen calls
      sql/sql_db.cc:
        removed wrongly introduced strlen calls
      sql/sql_parse.cc:
        removed wrongly introduced strlen calls
      sql/sql_show.cc:
        removed wrongly introduced strlen calls
      4a10f7b4
  19. 21 Jan, 2010 1 commit
    • Georgi Kodinov's avatar
      Bug #50276: Security flaw in INFORMATION_SCHEMA.TABLES · 679de2bb
      Georgi Kodinov authored
      check_access() returning false for a database does not
      guarantee that the access is granted to it.
      This wrong condition in filling the INFORMATION_SCHEMA
      tables causes extra tables to be returned to the user
      even if he has no rights to see them.
      Fixed by correcting the condition.
      679de2bb
  20. 19 Jan, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#49501 Inefficient information_schema check (system collation) · 81391bd0
      Sergey Glukhov authored
      added check_length optimization for I_S_NAME comparison
      
      
      sql/event_data_objects.cc:
        added check_length optimization for I_S_NAME comparison
      sql/events.cc:
        added check_length optimization for I_S_NAME comparison
      sql/mysql_priv.h:
        added check_length optimization for I_S_NAME comparison
      sql/repl_failsafe.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_db.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_parse.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_show.cc:
        added check_length optimization for I_S_NAME comparison
      sql/sql_view.cc:
        added check_length optimization for I_S_NAME comparison
      sql/table.cc:
        added check_length optimization for I_S_NAME comparison
      81391bd0
  21. 15 Dec, 2009 1 commit
  22. 03 Dec, 2009 1 commit
  23. 29 Nov, 2009 1 commit
    • Michael Widenius's avatar
      Remove compiler warnings (Including some warnings from -Wstrict-aliasing) · d13c5435
      Michael Widenius authored
      Don't use static link by default (in compile-pentium) as some new systems doesn't have all static libraries available
      Change type for functions in plugin.h:str_mysql_ftparser_param() to const unsigned char and string lengths to size_t.
      One effect of the above change is that one needs to include mysql_global.h or define size_t before including plugin.h
      This fixes a case where mysql_client_test failed with newer gcc that enables strict-aliasing by default
      
      
      BUILD/compile-pentium:
        Don't use static link by default as some new systems doesn't have all static libraries available
      client/mysql_upgrade.c:
        Remove not used variable
      cmd-line-utils/readline/config_readline.h:
        Define some constants to get rid of compiler warnings on Linux
      cmd-line-utils/readline/display.c:
        Get rid of compiler warnings
      cmd-line-utils/readline/history.c:
        Got rid of compiler warnings:
        - Defining some strings as const
        - Added cast
      cmd-line-utils/readline/rlmbutil.h:
        Added cast to get rid of compiler warnings
      cmd-line-utils/readline/text.c:
        Remove not needed initialization to get rid of compiler warnings
      cmd-line-utils/readline/xmalloc.c:
        Changed types to 'const char* to get rid of compiler warnings
      configure.in:
        Ensure that we use MariaDB as suffix
      include/mysql/plugin.h:
        Changed types to 'const unsigned char* to get rid of compiler warnings (in other parts of the code)
        Change length for not \0 terminated string to size_t
      include/mysql/plugin.h.pp:
        Update related to plugin.h
      libmysql/libmysql.c:
        Fixed bug that caused core dump with newer gcc when strict aliasing is not turned off
      mysql-test/t/information_schema.test:
        Test is depending on innodb
      mysql-test/t/not_partition.test:
        Fixed wrong directory name
        (Not noticed before as we don't ususally run this test)
      mysys/lf_hash.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      mysys/my_redel.c:
        Removed not used variable
      regex/engine.c:
        Changed types to 'const char* to get rid of compiler warnings
      regex/engine.ih:
        Changed types to 'const char* to get rid of compiler warnings
      sql/sp_head.cc:
        Got rid of compiler warning from -Wstrict-aliasing
      sql/sql_base.cc:
        Got rid of compiler warnings from -Wstrict-aliasing
        (The original code was probably wrong as nj_col->table_field was
      sql/sql_builtin.cc.in:
        plugin.h needs to have size_t defined
      sql/sql_parse.cc:
        Remove used variable
      sql/sql_select.cc:
        Got rid of compiler warnings from -Wstrict-aliasing
      sql/sql_show.cc:
        Added #ifdef to get rid of compiler warning when not using partition engine
      sql/table.cc:
        Got rid of compiler warning from -Wstrict-aliasing
      storage/maria/ha_maria.cc:
        Got rid of compiler warnings from -Wstrict-aliasing:
        - Use the thd_killed() API function
      storage/maria/lockman.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/maria/ma_check.c:
        Got rid of compiler warnings from -Wstrict-aliasing
        Change to use new version of _ma_killed_ptr; Don't call it as often as before
      storage/maria/ma_check_standalone.h:
        Update to compatible _ma_killed_ptr() from ha_maria.cc
      storage/maria/ma_ft_boolean_search.c:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/maria/ma_ft_nlq_search.c:
        Got rid of compiler warnings from -Wstrict-aliasing
        Ensure that 'subkeys' is 32 bit
      storage/maria/ma_ft_parser.c:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/maria/ma_ftdefs.h:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/maria/ma_sort.c:
        Change to use new version of _ma_killed_ptr; Don't call it as often as before
      storage/maria/ma_state.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/maria/maria_def.h:
        Redefine ma_killed_ptr()
      storage/maria/maria_ftdump.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/maria/trnman.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/myisam/ft_boolean_search.c:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/myisam/ft_nlq_search.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/myisam/ft_parser.c:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/myisam/ft_stopwords.c:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/myisam/ftdefs.h:
        Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
      storage/myisam/ha_myisam.cc:
        Got rid of compiler warnings from -Wstrict-aliasing:
        - Use the thd_killed() API function
      storage/myisam/mi_check.c:
        Use new killed_ptr() function
      storage/myisam/myisam_ftdump.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/myisam/myisamchk.c:
        Update to compatible killed_ptr() from ha_myisam.cc
      storage/myisam/myisamdef.h:
        Redefine killed_ptr()
      storage/myisam/myisamlog.c:
        Got rid of compiler warnings from -Wstrict-aliasing
      storage/myisam/sort.c:
        Change to use new version of killed_ptr; Don't call it as often as before
      storage/xtradb/fil/fil0fil.c:
        Fixedc ompiler warning
      storage/xtradb/trx/trx0i_s.c:
        Include mysql_plugin.h later to ensure that size_t is defined
      d13c5435
  24. 26 Nov, 2009 1 commit
  25. 02 Nov, 2009 1 commit
  26. 16 Oct, 2009 1 commit
    • Georgi Kodinov's avatar
      Bug #40877: multi statement execution fails in 5.1.30 · 7b4ef910
      Georgi Kodinov authored
            
      Implemented the server infrastructure for the fix:
      
      1. Added a function LEX_STRING *thd_query_string(THD) to return
      a LEX_STRING structure instead of char *.
      This is the function that must be called in innodb instead of 
      thd_query()
      
      2. Did some encapsulation in THD : aggregated thd_query and 
      thd_query_length into a LEX_STRING and made accessor and mutator 
      methods for easy code updating. 
      
      3. Updated the server code to use the new methods where applicable.
      7b4ef910
  27. 28 Sep, 2009 1 commit
    • Martin Hansson's avatar
      · e86f08d0
      Martin Hansson authored
      Bug#35996: SELECT + SHOW VIEW should be enough to display
      view definition
      
      During SHOW CREATE VIEW there is no reason to 'anonymize'
      errors that name objects that a user does not have access
      to. Moreover it was inconsistently implemented. For example
      base tables being referenced from a view appear to be ok,
      but not views. The manual on the other hand is clear: If a
      user has the privileges SELECT and SHOW VIEW, the view
      definition is available to that user, period. The fix
      changes the behavior to support the manual.
      
      
      mysql-test/r/information_schema_db.result:
        Bug#35996: Changed warnings.
      mysql-test/r/view_grant.result:
        Bug#35996: Changed warnings, test result.
      mysql-test/t/information_schema_db.test:
        Bug#35996: Changed test case to reflect new behavior.
      mysql-test/t/view_grant.test:
        Bug#35996: Test case.
      sql/sql_acl.cc:
        Bug#35996: Code no longer necessary, we may as well exempt 
        SHOW CREATE VIEW from this check.
      sql/sql_show.cc:
        Bug#35996: The fix: An Internal_error_handler that hides
        most errors raised by access checking as they are not
        relevant to SHOW CREATE VIEW.
      sql/table.cc:
        Bug#35996: Restricting this hack to act only when there is 
        no Internal_error_handler.
      e86f08d0
  28. 23 Sep, 2009 2 commits
    • Staale Smedseng's avatar
      Bug #43414 Parenthesis (and other) warnings compiling MySQL · 6a89842e
      Staale Smedseng authored
      with gcc 4.3.2
      
      Cleaning up warnings not present in 5.0.
      6a89842e
    • unknown's avatar
      Merge Percona microsec_process patch into MariaDB. · e16081e1
      unknown authored
      This adds a TIME_MS column to SHOW FULL PROCESSLIST and
      INFORMATION_SCHEMA.PROCESSLIST that works like the TIME column, but
      in units of milliseconds with microsecond precision.
      
      Note that this also changes behaviour of the existing TIME column. In
      the MySQL server, the TIME column changes when a thread sets @TIMESTAMP.
      This is contrary to documentation and also potentially confusing, so
      could in any case be considered a bug. With this patch, to ensure
      consistency between TIME and TIME_MS, setting @TIMESTAMP has no effect
      on either value.
      
      Add a test case for the TIME and TIME_MS columns.
      Update existing test cases for changed behaviour.
      
      Author: Percona
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      
      
      mysql-test/r/create.result:
        Result file update.
      mysql-test/r/information_schema.result:
        Add test case.
        Result file update (changed behaviour).
      mysql-test/t/information_schema.test:
        Add test case.
        Adjust test case for changed behaviour.
      mysql-test/t/not_embedded_server.test:
        Update (commented-out) test case for newly added column.
      sql/sql_show.cc:
        Merge Percona microsec_process patch into MariaDB.
      e16081e1
  29. 22 Sep, 2009 2 commits
    • MySQL Build Team's avatar
      Backport into build-200909221805-5.1.37sp1 · 507c1ebb
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3068
      > revision-id: ramil@mysql.com-20090813194928-3djdqvpock0pxhgp
      > parent: li-bing.song@sun.com-20090813024857-1emgf5lhj0zikoj8
      > committer: Ramil Kalimullin <ramil@mysql.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Fri 2009-08-14 00:49:28 +0500
      > message:
      >   Fix for bug #46614: Assertion in show_create_trigger() 
      >   on SHOW CREATE TRIGGER + MERGE table
      >   
      >   Problem: SHOW CREATE TRIGGER erroneously relies on fact
      >   that we have the only underlying table for a trigger
      >   (wrong for merge tables).
      >   
      >   Fix: remove erroneous assert().
      507c1ebb
    • MySQL Build Team's avatar
      Backport into build-200909221805-5.1.37sp1 · 6000fd23
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3019.1.3
      > revision-id: ramil@mysql.com-20090714150729-xqv7aicsnoz6epy6
      > parent: jimw@mysql.com-20090713191116-c8qxsrjagzbvbytj
      > committer: Ramil Kalimullin <ramil@mysql.com>
      > branch nick: b45998-5.1-bugteam
      > timestamp: Tue 2009-07-14 20:07:29 +0500
      > message:
      >   Fix for bug#45998: database crashes when running
      >   "create as select" (innodb table)
      >   
      >   Problem: code constructing "CREATE TABLE..." statement
      >   doesn't take into account that current database is not set
      >   in some cases. That may lead to a server crash.
      >   
      >   Fix: check if current database is set.
      6000fd23
  30. 03 Sep, 2009 1 commit
    • Michael Widenius's avatar
      Updated documentation files to reflect MariaDB and not the Maria storage engine or MySQL · cd3047fc
      Michael Widenius authored
      Added (rewritten) patch from Percona to get extended statistics in slow.log:
      - Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this
      - Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined'
      - Added optional logging to slow log, through log_slow_verbosity, of query plan statistics
      - Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
      - Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow'
      - Added log-slow-time as synonym for long-query-time
      Some trivial MyISAM optimizations:
      - In prepare for drop, flush key blocks
      - Don't call mi_lock_database if my_disable_locking is used
      
      KNOWN_BUGS.txt:
        Updated file to reflect MariaDB and not the Maria storage engine
      README:
        Updated file to reflect MariaDB
      mysql-test/r/log_slow.result:
        Test new options for slow query log
      mysql-test/r/variables.result:
        Updated result (old version cut of things at 79 characters)
      mysql-test/t/log_slow.test:
        Test new options for slow query log
      sql/Makefile.am:
        Added log_slow.h
      sql/event_data_objects.cc:
        Removed not needed test for enable_slow_log (is done when the flag is tested elsewhere)
      sql/events.cc:
        Use the general make_set() function instead of 'symbolic_mode_representation'
      sql/filesort.cc:
        Added status for used query plans
      sql/log.cc:
        Reset counters if no query_length (from Percona's patch; Not sure if needed, but can do no harm)
        Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined'
        Added optional logging to slow log, through log_slow_verbosity, of query plan statistics
        Fixed wrong test of error condition
      sql/log_slow.h:
        Defines and variables for log_slow_verbosity and log_slow_filter
      sql/mysql_priv.h:
        Include log_slow.h
      sql/mysqld.cc:
        Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
        Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow'
        Added log-slow-time as synonym for long-query-time
        Added note that one should use log-slow-filter instead of log-slow-admin-statements
        Updated comment from 'slow_query_log_file'
      sql/set_var.cc:
        Added long_slow_time as synonym for long_query_time
        Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter
        dded handling of 'set' variables to set_var.cc. Changed sql_mode to use this
      sql/set_var.h:
        - Added handling of 'set' variables. Changed sql_mode to use this
      sql/slave.cc:
        Use global filter also for slaves
      sql/sp_head.cc:
        Simplify saving of general_slow_log state
        Use the general make_set() function instead of 'symbolic_mode_representation'
      sql/sql_cache.cc:
        Added status for used query plans
      sql/sql_class.cc:
        Remember/restore query_plan_flags over complex statements
      sql/sql_class.h:
        Added variables to handle extended slow log statistics
      sql/sql_parse.cc:
        Added status for used query plans
        Added test for filtering slow_query_log
      sql/sql_select.cc:
        Added status for used query plans
      sql/sql_show.cc:
        Use the general make_set() function instead of 'symbolic_mode_representation'
      sql/strfunc.cc:
        Report first error (not last) if something is wrong in a set
        Removed compiler warning
      storage/myisam/mi_extra.c:
        In prepare for drop, flush key blocks (speed optimization)
      storage/myisam/mi_locking.c:
        Don't call mi_lock_database if my_disable_locking is used (speed optimization)
      cd3047fc
  31. 28 Aug, 2009 1 commit
    • Staale Smedseng's avatar
      Bug #43414 Parenthesis (and other) warnings compiling MySQL · 1ba25ae4
      Staale Smedseng authored
      with gcc 4.3.2
            
      This patch fixes a number of GCC warnings about variables used
      before initialized. A new macro UNINIT_VAR() is introduced for
      use in the variable declaration, and LINT_INIT() usage will be
      gradually deprecated. (A workaround is used for g++, pending a
      patch for a g++ bug.)
            
      GCC warnings for unused results (attribute warn_unused_result)
      for a number of system calls (present at least in later
      Ubuntus, where the usual void cast trick doesn't work) are
      also fixed.
      
      
      client/mysqlmanager-pwgen.c:
        A fix for warn_unused_result, adding fallback to use of
        srand()/rand() if /dev/random cannot be used. Also actually
        adds calls to rand() in the second branch so that it actually
        creates a random password.
      1ba25ae4
  32. 13 Aug, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug #46614: Assertion in show_create_trigger() · 3b1280fa
      Ramil Kalimullin authored
      on SHOW CREATE TRIGGER + MERGE table
      
      Problem: SHOW CREATE TRIGGER erroneously relies on fact
      that we have the only underlying table for a trigger
      (wrong for merge tables).
      
      Fix: remove erroneous assert().
      
      
      mysql-test/r/merge.result:
        Fix for bug #46614: Assertion in show_create_trigger() 
        on SHOW CREATE TRIGGER + MERGE table
          - test result.
      mysql-test/t/merge.test:
        Fix for bug #46614: Assertion in show_create_trigger() 
        on SHOW CREATE TRIGGER + MERGE table
          - test case.
      sql/sql_show.cc:
        Fix for bug #46614: Assertion in show_create_trigger() 
        on SHOW CREATE TRIGGER + MERGE table
          - unnecessary assert() removed as we may have more than 1 
        tables open e.g. for a merge table.
      3b1280fa
  33. 29 Jul, 2009 2 commits
    • Guilhem Bichot's avatar
      removing unused array (compiler warning) · 79283b61
      Guilhem Bichot authored
      79283b61
    • Guilhem Bichot's avatar
      Bug#45829 "CREATE TABLE TRANSACTIONAL PAGE_CHECKSUM ROW_FORMAT=PAGE accepted, does nothing": · a58b887c
      Guilhem Bichot authored
      those keywords do nothing in 5.1 (they are meant for future versions, for example featuring the Maria engine)
      so they are here removed from the syntax. Adding those keywords to future versions when needed is:
      - WL#5034 "Add TRANSACTIONA=0|1 and PAGE_CHECKSUM=0|1 clauses to CREATE TABLE"
      - WL#5037 "New ROW_FORMAT value for CREATE TABLE: PAGE"
      
      mysql-test/r/create.result:
        test that syntax is not accepted
      mysql-test/t/create.test:
        test that syntax is not accepted
      sql/handler.cc:
        remove ROW_FORMAT=PAGE
      sql/handler.h:
        Mark unused objects, but I don't remove them by fear of breaking any plugin which includes this file
        (see also table.h)
      sql/lex.h:
        removing syntax
      sql/sql_show.cc:
        removing output of noise keywords in SHOW CREATE TABLE and INFORMATION_SCHEMA.TABLES
      sql/sql_table.cc:
        removing TRANSACTIONAL
      sql/sql_yacc.yy:
        removing syntax
      sql/table.cc:
        removing TRANSACTIONAL, PAGE_CHECKSUM. Their place in the frm file is not reclaimed,
        for compatibility with older 5.1.
      sql/table.h:
        Mark unused objects, but I don't remove them by fear of breaking any plugin which includes this file
        (and there are several engines which use the content TABLE_SHARE and thus rely on a certain binary
        layout of this structure).
      a58b887c
  34. 24 Jul, 2009 1 commit
    • Gleb Shchepa's avatar
      Bug #38816: kill + flush tables with read lock + stored · dc0a87fd
      Gleb Shchepa authored
                  procedures causes crashes!
      
      The problem of that bugreport was mostly fixed by the
      patch for bug 38691.
      However, attached test case focused on another crash or
      valgrind warning problem: SHOW PROCESSLIST query accesses
      freed memory of SP instruction that run in a parallel
      connection.
      
      Changes of thd->query/thd->query_length in dangerous
      places have been guarded with the per-thread
      LOCK_thd_data mutex (the THD::LOCK_delete mutex has been
      renamed to THD::LOCK_thd_data).
      
      
      sql/ha_myisam.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the a THD::set_query() method call/LOCK_thd_data
        mutex.
        Unnecessary locking with the global LOCK_thread_count
        mutex has been removed.
      sql/log_event.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the THD::set_query()) method call/LOCK_thd_data
        mutex.
      sql/slave.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the THD::set_query() method call/LOCK_thd_data mutex.
        
        The THD::LOCK_delete mutex has been renamed to
        THD::LOCK_thd_data.
      sql/sp_head.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the a THD::set_query() method call/LOCK_thd_data
        mutex.
      sql/sql_class.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        The new THD::LOCK_thd_data mutex and THD::set_query()
        method has been added to guard modifications of THD::query/
        THD::query_length fields, also the Statement::set_statement()
        method has been overloaded in the THD class.
        
        The THD::LOCK_delete mutex has been renamed to
        THD::LOCK_thd_data.
      sql/sql_class.h:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        The new THD::LOCK_thd_data mutex and THD::set_query()
        method has been added to guard modifications of THD::query/
        THD::query_length fields, also the Statement::set_statement()
        method has been overloaded in the THD class.
        
        The THD::LOCK_delete mutex has been renamed to
        THD::LOCK_thd_data.
      sql/sql_insert.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the a THD::set_query() method call/LOCK_thd_data
        mutex.
      sql/sql_parse.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Modification of THD::query/query_length has been guarded
        with the a THD::set_query() method call/LOCK_thd_data mutex.
      sql/sql_repl.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        The THD::LOCK_delete mutex has been renamed to
        THD::LOCK_thd_data.
      sql/sql_show.cc:
        Bug #38816: kill + flush tables with read lock + stored
                    procedures causes crashes!
        
        Inter-thread read of THD::query/query_length field has
        been protected with a new per-thread LOCK_thd_data
        mutex in the mysqld_list_processes function.
      dc0a87fd
  35. 16 Jul, 2009 1 commit