An error occurred fetching the project authors.
  1. 23 Feb, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #15936: "round" differs on Windows to Unix · 0e62c9aa
      Alexey Kopytov authored
      Both of our own implementations of rint(3) were inconsistent with the
      most common behavior of rint() on those platforms that have it: round
      to nearest, break ties by rounding to nearest even.
      
      Fixed by leaving just one implementation of rint() in our source tree,
      and changing its behavior to match the most common native
      implementations on other platforms.
      
      configure.in:
        Added checks for fenv.h and fesetround().
      include/config-win.h:
        Removed the incorrect implementation of rint() for Windows.
      include/my_global.h:
        Added an rint() implementation for platforms that do not have it.
      mysql-test/r/func_math.result:
        Added a test case for bug #15936.
      mysql-test/t/func_math.test:
        Added a test case for bug #15936.
      sql/mysqld.cc:
        Explicitly set the FPU rounding mode with fesetround().
      0e62c9aa
  2. 29 Dec, 2008 1 commit
    • Sergey Glukhov's avatar
      Bug#41131 "Questions" fails to increment - ignores statements instead stored procs(5.0 ver) · 3b617acb
      Sergey Glukhov authored
      Added global status variable 'Queries' which represents
      total amount of queries executed by server including
      statements executed by SPs.
      note: It's old behaviour of 'Questions' variable.
      
      
      mysql-test/r/status.result:
        test result
      mysql-test/t/status.test:
        test case
      sql/mysqld.cc:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      sql/sql_show.cc:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      sql/structs.h:
        Added global status variable 'Queries' which represents
        total amount of queries executed by server including
        statements executed by SPs.
        note: It's old behaviour of 'Questions' variable.
      3b617acb
  3. 24 Dec, 2008 1 commit
  4. 23 Dec, 2008 1 commit
    • Sergey Glukhov's avatar
      Bug#37575 UCASE fails on monthname · c06df92a
      Sergey Glukhov authored
      The MONTHNAME/DAYNAME functions
      returns binary string, so the LOWER/UPPER functions
      are not effective on the result of MONTHNAME/DAYNAME call.  
      Character set of the MONTHNAME/DAYNAME function
      result has been changed to connection character set.
      
      
      include/m_ctype.h:
        added my_charset_repertoire function
      mysql-test/r/ctype_ucs.result:
        test result
      mysql-test/r/func_time.result:
        test result
      mysql-test/t/ctype_ucs.test:
        test case
      mysql-test/t/func_time.test:
        test case
      sql/item_timefunc.cc:
        Item_func_monthname::fix_length_and_dec and
        Item_func_dayname::fix_length_and_dec methods have been
        modified to use connection character set
      sql/item_timefunc.h:
        Item_func_monthname::fix_length_and_dec and
        Item_func_dayname::fix_length_and_dec methods have been
        modified to use connection character set
      sql/mysql_priv.h:
        added max_month_name_length, max_day_name_length fields into MY_LOCALE struct
      sql/mysqld.cc:
        The test_lc_time_sz function controls modifications
        of the locale database in debugging mode.
      sql/sql_locale.cc:
        initialization of max_month_name_length, max_day_name_length fields
      strings/ctype.c:
        added my_charset_repertoire function
      c06df92a
  5. 28 Nov, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug #37339: SHOW VARIABLES not working properly with multi-byte datadir · 8e688a7a
      Georgi Kodinov authored
            
      The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES
      were assuming that all the system variables are in system charset (UTF-8).
      However the variables that are settable through command line will have a different
      character set (character_set_filesystem).
      Fixed the server to remember the correct character set of basedir, datadir, tmpdir,
      ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave 
      variables and use it when processing data.
      
      mysql-test/r/ctype_filesystem.result:
        Bug #37339: test case (should be in utf-8)
      mysql-test/t/ctype_filesystem-master.opt:
        Bug #37339: test case (should be in ISO-8859-1)
      mysql-test/t/ctype_filesystem.test:
        Bug #37339: test case
      sql/mysqld.cc:
        Bug #37339: remember the correct character set for init_slave and init_connect
      sql/set_var.cc:
        Bug #37339: 
          - remember the character set of the relevant variables
          - implement storing and using the correct 
            character set
      sql/set_var.h:
        Bug #37339: implement storing and using the correct 
        character set
      sql/sql_show.cc:
        Bug #37339: implement storing and using the correct 
        character set
      8e688a7a
  6. 14 Nov, 2008 1 commit
    • Vladislav Vaintroub's avatar
      Bug #20430 mysqld.exe windows service stuck in "SERVICE_STOP_PENDING" · f2a610e1
      Vladislav Vaintroub authored
      status
      
      The problem appears to be a race condition, when service is being
      stopped right after startup. We set the service status to SERVICE_RUNNING
      way too early it cannot yet handle stop requests -  initialization has
      not finished and  hEventShutdown  that signals server to stop is not yet
      created. If somebody issues "net stop MySQL" at this time, MySQL is not
      informed about the stop and continues to run as usual, while
      NTService::ServiceMain() stucks forever waiting for mysql's "main" thread
      to finish.
      
      Solution is to remain in SERVICE_START_PENDING status until after server
      initialization  is fully complete and only then change the status to
      SERVICE_RUNNING. In  SERVICE_START_PENDING we do not accept service control
      requests, i.e it is not possible to stop service in that time.
      
      sql/mysqld.cc:
        Set service status to running after all initialization is complete
      sql/nt_servc.cc:
        New method SetRunning() to be called  by application
        to set service status to SERVICE_RUNNING when apllication
        has finished initialization.
      sql/nt_servc.h:
        New method SetRunning() to be called  by application
        when initialization completes
      f2a610e1
  7. 23 Oct, 2008 1 commit
  8. 09 Oct, 2008 1 commit
    • Kristofer Pettersson's avatar
      Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines · f985e787
      Kristofer Pettersson authored
                       
      When running Stored Routines the Status Variable "Questions" was wrongly
      incremented. According to the manual it should contain the "number of
      statements that clients have sent to the server"
                    
      Introduced a new status variable 'questions' to replace the query_id
      variable which currently corresponds badly with the number of statements
      sent by the client.
                  
      The new behavior is ment to be backward compatible with 4.0 and at the
      same time work with new features in a similar way.
                  
      This is a backport from 6.0
      
      mysql-test/r/status2.result:
        Added test case
      mysql-test/t/status2.test:
        Added test case
      sql/mysqld.cc:
        Introduced a new status variable 'questions' to replace the query_id
        variable which currently corresponds badly with the number of statements
        sent by the client.
      sql/sql_class.h:
        Introduced a new status variable 'questions' to replace the query_id
        variable which currently corresponds badly with the number of statements
        sent by the client.
      sql/sql_parse.cc:
        To be backward compatible with 4.0 and at the same time extend the 
        interpretation of the Question variable, it should be increased on
        all COM-commands but COM_STATISTICS, COM_PING, COM_STMT_PREPARE,
        COM_STMT_CLOSE and COM_STMT_RESET.
        Since COM_QUERY can process multiple statements, there has to be an
        extra increase there as well.
      sql/sql_show.cc:
        Removed deprecated SHOW_QUESTION status code.
      sql/structs.h:
        Removed deprecated SHOW_QUESTION status code.
      f985e787
  9. 25 Aug, 2008 1 commit
    • Sergey Glukhov's avatar
      Bug#37428 Potential security issue with UDFs - linux shellcode execution. · c546559a
      Sergey Glukhov authored
      plugin_dir option backported from 5.1
      
      mysql-test/r/udf.result:
        result fix
      sql/mysql_priv.h:
        opt_plugin_dir and opt_plugin_dir_ptr declared.
      sql/mysqld.cc:
        'plugin_dir' option added
      sql/set_var.cc:
        'plugin_dir' option added.
      sql/sql_udf.cc:
        opt_plugin_dir added to the udf->dl path. Warn if it's not specified.
      sql/unireg.h:
        PLUGINDIR defined.
      c546559a
  10. 22 Aug, 2008 1 commit
    • Alexey Botchkov's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. · ec524d50
      Alexey Botchkov authored
                  
                  test_if_data_home_dir fixed to look into real path.
                  Checks added to mi_open for symlinks into data home directory.
      
      per-file messages:
              include/my_sys.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                my_is_symlink interface added
              include/myisam.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invalid_symlink interface added
              myisam/mi_check.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile calls modified
              myisam/mi_open.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                code added to mi_open to check for symlinks into data home directory.
                mi_open_datafile now accepts 'original' file path to check if it's
                an allowed symlink.
              myisam/mi_static.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invlaid_symlink defined
              myisam/myisamchk.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile call modified
              myisam/myisamdef.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                mi_open_datafile interface modified - 'real_path' parameter added
              mysql-test/r/symlink.test
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error codes corrected as some patch now rejected pointing inside datahome
              mysql-test/r/symlink.result
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error messages corrected in the result
              mysys/my_symlink.c
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                my_is_symlink() implementsd
                my_realpath() now returns the 'realpath' even if a file isn't a symlink
              sql/mysql_priv.h
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                test_if_data_home_dir interface
              sql/mysqld.cc
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                myisam_test_invalid_symlik set with the 'test_if_data_home_dir'
              sql/sql_parse.cc
                Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.
                
                error messages corrected
                test_if_data_home_dir code fixed
      ec524d50
  11. 03 Jun, 2008 1 commit
    • Georgi Kodinov's avatar
      Bug#37069 (5.0): implement --skip-federated · da4cfa6d
      Georgi Kodinov authored
      mysql-test/r/federated_disabled.result:
        Bug#37069 (5.0): test case
      mysql-test/t/federated_disabled-master.opt:
        Bug#37069 (5.0): test case
      mysql-test/t/federated_disabled.test:
        Bug#37069 (5.0): test case
      da4cfa6d
  12. 29 Mar, 2008 1 commit
  13. 28 Mar, 2008 1 commit
    • unknown's avatar
      Bug#26243 mysql command line crash after control-c · a9089cf4
      unknown authored
      - Backported the 5.1 DBUG to 5.0.
      - Avoid memory cleanup race on Windows client for CTRL-C
      
      
      client/mysql.cc:
        Bug#26243 mysql command line crash after control-c
        - On Windows, the sigint handler shouldn't call mysql_end
        because the main thread will do so automatically.
        - Remove unnecessary signal call from the sigint handler.
        - Call my_end with proper value.
      dbug/dbug.c:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      dbug/factorial.c:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      dbug/user.r:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      include/my_dbug.h:
        Bug#26243 mysql command line crash after control-c
        - Backported the 5.1 DBUG library. The old version uses a non-thread 
        safe global variable 'static struct state *stack'.
      libmysql/libmysql.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      myisam/mi_open.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_federated.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_innodb.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/ha_myisammrg.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/item_cmpfunc.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/mysqld.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/net_serv.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/opt_range.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/set_var.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/slave.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/sql_cache.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      sql/sql_select.cc:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      tests/mysql_client_test.c:
        Bug#26243 mysql command line crash after control-c
        - Update for new DBUG library.
      a9089cf4
  14. 29 Feb, 2008 2 commits
    • unknown's avatar
      after merge fix · fa9e35b4
      unknown authored
      fa9e35b4
    • unknown's avatar
      Bug#32167 another privilege bypass with DATA/INDEX DIRECORY(ver 4.1,5.0) · ab604259
      unknown authored
      added new function test_if_data_home_dir() which checks that
      path does not contain mysql data home directory.
      Using of mysql data home directory in
      DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      
      
      mysql-test/r/symlink.result:
        test result
      mysql-test/t/symlink.test:
        test case
      sql/mysql_priv.h:
        new variable mysql_unpacked_real_data_home
      sql/mysqld.cc:
        new variable mysql_unpacked_real_data_home
      sql/sql_parse.cc:
        added new function test_if_data_home_dir() which checks that
        path does not contain mysql data home directory.
        Using of mysql data home directory in
        DATA DIRECTORY & INDEX DIRECTORY is disallowed.
      ab604259
  15. 19 Feb, 2008 1 commit
    • unknown's avatar
      Bug#31745 - crash handler does not work on Windows · 721d2412
      unknown authored
      - Replace per-thread signal()'s with  SetUnhandledExceptionFilter(). 
        The only remaining signal() is for SIGABRT (default abort()
        handler in VS2005 is broken, i.e removes user exception filter)
      - remove MessageBox()'es  from error handling code
      - Windows port for print_stacktrace() and write_core() 
      - Cleanup, removed some unused functions
      
      
      sql/CMakeLists.txt:
        Implement stack tracing on and generating crash dumps on Windows
      sql/mysqld.cc:
        Correct signal handling on Windows. 
        - For console events, like CTRL-C use SetConsoleCtrlHandler
        - For exceptions like access violation, use SetUnhandledExceptionFilter
        - For SIGABRT generate exception via __debugbreak() intrinsic
          if built with VS2005 and later , since default SIGABRT handler 
          replaces unhandled exception filter specified by user
        - make provisions to debug exception filter, as it is not trivial 
        (should be compiled with /DDEBUG_UNHANDLED_EXCEPTION_FILTER)
      sql/sql_parse.cc:
        Remove message box from windows signal handler.
        The only thread specific handler left is for SIGABRT,
        which is broken on VS2005 and later (user specified unhandled exception 
        filter gets overwritten)
      sql/stacktrace.c:
        Stack tracing and generating crash dumps on Windows
      sql/stacktrace.h:
        Implement print_stacktrace and write_core on Windows
      721d2412
  16. 07 Feb, 2008 1 commit
    • unknown's avatar
      Fixed bug#34223: Failure on assignment to my_innodb_autoextend_increment · 5cf3f53e
      unknown authored
      and my_innodb_commit_concurrency global variables.
      
      Type of the my_innodb_autoextend_increment and the
      my_innodb_commit_concurrency variables has been changed to
      GET_ULONG.
      
      
      
      mysql-test/r/variables.result:
        Added test case for bug#34223.
      mysql-test/t/variables.test:
        Added test case for bug#34223.
      sql/mysqld.cc:
        Fixed bug#34223.
        Last update of the getopt_ull_limit_value function introduced
        a sanity check for a variable type (only GET_UINT or GET_ULONG
        are valid types).
        However, my_innodb_autoextend_increment and
        my_innodb_commit_concurrency are declared as GET_LONG.
        Call stack is: 
                sys_var_long_ptr_global::update()
                fix_unsigned()
                getopt_ull_limit_value()
        
        Type of the my_innodb_autoextend_increment and the
        my_innodb_commit_concurrency variables has been changed to
        GET_ULONG.
      5cf3f53e
  17. 05 Feb, 2008 1 commit
  18. 06 Dec, 2007 1 commit
    • unknown's avatar
      Bug#31177: Server variables can't be set to their current values · 4618d68d
      unknown authored
      additional fixes for BDB and correct assignment of both signed
      and unsigned 64-bit data to unsigned system variables
      
      
      mysql-test/r/ps_2myisam.result:
        account for UNSIGNED_FLAG
      mysql-test/r/ps_3innodb.result:
        account for UNSIGNED_FLAG
      mysql-test/r/ps_4heap.result:
        account for UNSIGNED_FLAG
      mysql-test/r/ps_5merge.result:
        account for UNSIGNED_FLAG
      mysql-test/r/ps_6bdb.result:
        account for UNSIGNED_FLAG
      mysql-test/r/ps_7ndb.result:
        account for UNSIGNED_FLAG
      mysys/my_getopt.c:
        We have correct signed/unsigned information now, so we no longer
        need to err on the side of caution.
      sql/item_func.cc:
        Copy unsigned info over from entry so the item's data
        correctly describe it.
      sql/mysqld.cc:
        BDB log buffer size: default can't be less than minimum
      sql/set_var.cc:
        Handle signedness of in-values correctly when assigning to
        unsigned types, all the way up to 64-bit. Use handler from
        all three unsigned sysvar types.
      sql/set_var.h:
        thd_ulonglong: Override default check with one for unsigned types
      4618d68d
  19. 30 Nov, 2007 1 commit
    • unknown's avatar
      Bug#31177: Server variables can't be set to their current values · 89a20885
      unknown authored
      Default values of variables were not subject to upper/lower bounds
      and step, while setting variables was. Bounds and step are also
      applied to defaults now; defaults are corrected quietly, values
      given by the user are corrected, and a correction-warning is thrown
      as needed. Lastly, very large values could wrap around, starting
      from 0 again. They are bounded at the maximum value for the
      respective data-type now if no lower maximum is specified in the
      variable's definition.
      
      
      client/mysql.cc:
        correct maxima in options array
      client/mysqltest.c:
        adjust minimum for "sleep" option so default value is no longer
        out of bounds.
      include/m_string.h:
        ullstr() - the unsigned brother of llstr()
      include/my_getopt.h:
        Flag if we bounded the value (that is, correct anything aside from
        making value a multiple of block-size)
      mysql-test/r/delayed.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/index_merge.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/innodb.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/innodb_mysql.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/key_cache.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/packet.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/ps.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/subselect.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/type_bit.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/type_bit_innodb.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/variables.result:
        correct results: bounds and step apply to variables' default values, too
      mysql-test/t/variables.test:
        correct results: bounds and step apply to variables' default values, too
      mysys/my_getopt.c:
        - apply bounds/step to default values of variables (based on work by serg)
        - print complaints about incorrect values for variables (truncation etc.,
          by requestion of consulting)
        - if no lower maximum is specified in variable definition, bound unsigned
          values at their maximum to prevent wrap-around
        - some calls to error_reporter had a \n, some didn't. remove \n from calls,
          let reporter-function handle it, so the default reporter behaves like that
          in mysqld
      sql/mysql_priv.h:
        correct RANGE_ALLOC_BLOCK_SIZE (cleared with monty)
      sql/mysqld.cc:
        correct maxima to correct data-type.
        correct minima where higher than default.
        correct range-alloc-block-size.
        correct inno variables so GET_* corresponds to actual variable's type.
      sql/set_var.cc:
        When the new value for a variable is out of bounds, we'll send the
        client a warning (but not if the value was simply not a multiple of
        'blocksize').  sys_var_thd_ulong had this, sys_var_long_ptr_global
        didn't; broken out and streamlined to avoid duplication of code.
      strings/llstr.c:
        ullstr() - the unsigned brother of llstr()
      89a20885
  20. 29 Nov, 2007 1 commit
    • unknown's avatar
      Bug #29085 A small double precision number becomes zero. · 23e402bf
      unknown authored
      Denormalized DOUBLE-s can't be properly handled by old MIPS processors.
      So we need to enable specific mode for them so IRIX will do use
      software round to handle such numbers. 
      
      
      sql/mysqld.cc:
        Bug #29085 A small double precision number becomes zero.
        
        reset_floating_point_exeption() renamed as set_proper_floating_point_mode()
        #ifdef __sgi code added to enable denormalized DOUBLE-s on IRIX
      23e402bf
  21. 19 Nov, 2007 1 commit
    • unknown's avatar
      Bug #31153 calling stored procedure crashes server if available memory is low · bb681dbc
      unknown authored
      When the server was out of memory it crashed because of invalid memory access.
      
      This patch adds detection for failed memory allocations and make the server
      output a proper error message.
      
      
      sql/mysqld.cc:
        Don't try to push_warning from within push_warning. It will cause a recursion
        until the stack is consumed.
        
        If my_net_init fails (for example: because of OOM) the temporary vio object 
        might have been attached to the thd object already. This will cause a double
        free on the vio object when the thd object is deleted later on and the server
        will crash.
      sql/sp_head.cc:
        Added check for out-of-memory on a 'new' operation.
        Refactored reset_lex method to return a error state code instead of void.
        Initialize the mem-root with init_sql_alloc to get a basic error handler for
        memory allocation problems. This alone won't prevent the server from crashing,
        NULL pointers have to be accounted for as well.
      sql/sp_head.h:
        Use the throw() clause in operator new, to indicate to the compiler that
        memory allocation can fail and return NULL, so that the compiler should
        generate code to check for NULL before invoking C++ constructors, to be
        crash safe.
      sql/sql_base.cc:
        Use init_sql_alloc to get basic out-of-memory error handling.
      sql/sql_lex.h:
        Use the throw() clause in operator new, to indicate to the compiler that
        memory allocation can fail and return NULL, so that the compiler should
        generate code to check for NULL before invoking C++ constructors, to be
        crash safe.
      sql/sql_prepare.cc:
        Use init_sql_alloc to get basic out-of-memory error handling.
      sql/sql_yacc.yy:
        Check for memory allocation failures where it matters.
      bb681dbc
  22. 05 Nov, 2007 1 commit
    • unknown's avatar
      ha_ndbcluster.h: · f7ee8825
      unknown authored
        Bug #31956       auto increment bugs in MySQL Cluster: Added utility method and constant for internal prefetch default
      ndb_auto_increment.result:
        BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/r/ndb_auto_increment.result
      mysqld.cc:
        Bug #25176  	Trying to set ndb_autoincrement_prefetch_sz always fails: Changed pointer to max value
        Bug #31956  	auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement)
      ndb_insert.test, ndb_insert.result:
        Moved auto_increment tests to ndb_auto_increment.test
      ndb_auto_increment.test:
        BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/t/ndb_auto_increment.test
      ha_ndbcluster.cc:
        Bug #31956       auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement), added handling of updates of pk/unique key with auto_increment
        Bug #32055  	Cluster does not handle auto inc correctly with insert ignore statement
      
      
      sql/mysqld.cc:
        Bug #25176  	Trying to set ndb_autoincrement_prefetch_sz always fails: Changed pointer to max value
        Bug #31956  	auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement)
      sql/ha_ndbcluster.h:
        Bug #31956       auto increment bugs in MySQL Cluster: Added utility method and constant for internal prefetch default
      sql/ha_ndbcluster.cc:
        Bug #31956       auto increment bugs in MySQL Cluster: Changed meaning of ndb_autoincrement_prefetch_sz to specify prefetch between statements, changed default to 1 (with internal prefetch to at least 32 inside a statement), added handling of updates of pk/unique key with auto_increment
        Bug #32055  	Cluster does not handle auto inc correctly with insert ignore statement
      mysql-test/r/ndb_auto_increment.result:
        BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/r/ndb_auto_increment.result
      mysql-test/t/ndb_auto_increment.test:
        BitKeeper file /home/marty/MySQL/mysql-5.0-ndb/mysql-test/t/ndb_auto_increment.test
      mysql-test/t/ndb_insert.test:
        Moved auto_increment tests to ndb_auto_increment.test
      mysql-test/r/ndb_insert.result:
        Moved auto_increment tests to ndb_auto_increment.test
      f7ee8825
  23. 29 Oct, 2007 1 commit
  24. 25 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #29131: SHOW VARIABLES reports variable 'log' but SET · 6eced1b8
      unknown authored
      doesn't recognize it
      
      This is a 5.0 version of the patch, it will be null-merged to 5.1
      
      Problem:
      
      'log' and 'log_slow_queries' were "fixed" variables, i.e. they showed up
      in SHOW VARIABLES, but could not be used in expressions like 
      "select @@log". Also, using them in the SET statement produced an 
      incorrect "unknown system variable" error.
      
      Solution:
      
      Make 'log' and 'log_slow_queries' read-only dynamic variables to make 
      them available for use in expressions, and produce a correct error 
      about the variable being read-only when used in the SET statement.
      
      
      mysql-test/r/variables.result:
        Added a test case for bug #29131.
      mysql-test/t/variables.test:
        Added a test case for bug #29131.
      sql/mysql_priv.h:
        Changed the type of opt_log and opt_slow_log to my_bool to 
        align with the interfaces in set_var.cc
      sql/mysqld.cc:
        Changed the type of opt_log and opt_slow_log to my_bool to 
        align with the interfaces in set_var.cc
      sql/set_var.cc:
        Made 'log' and 'log_slow_queries' to be read-only dynamic system 
        variable, i.e. available for use in expressions with the @@var syntax.
      sql/set_var.h:
        Added a new system variable class representing a read-only boolean
        variable.
      6eced1b8
  25. 12 Oct, 2007 1 commit
  26. 05 Oct, 2007 1 commit
    • unknown's avatar
      Change URLs. · 6f2c2dc8
      unknown authored
      Our web server has been restructured several times, and references
      to it in our source code has stayed the same.  This patch from Paul
      DuBois updates all URLs to modern semantics.
      
      
      debian/po/ca.po:
        Change URLs.
      debian/po/cs.po:
        Change URLs.
      debian/po/da.po:
        Change URLs.
      debian/po/gl.po:
        Change URLs.
      debian/po/ja.po:
        Change URLs.
      debian/po/pt_BR.po:
        Change URLs.
      debian/po/sv.po:
        Change URLs.
      debian/po/tr.po:
        Change URLs.
      mysql-test/lib/mtr_report.pl:
        Change URLs.
      mysql-test/mysql-test-run-shell.sh:
        Change URLs.
      ndb/include/ndbapi/Ndb.hpp:
        Change URLs.
      netware/mysql_test_run.c:
        Change URLs.
      scripts/mysqld_safe.sh:
        Change URLs.
      sql/mysqld.cc:
        Change URLs.
      6f2c2dc8
  27. 03 Oct, 2007 1 commit
    • unknown's avatar
      Bug #20358: InnoDB hang on the adaptive hash index latch in btr0sea.c · 61c8e6ca
      unknown authored
      Add --skip-innodb-adaptive-hash-index option, which is a way to
      work around the bug (by disabling the adaptive hash feature entirely).
      
      This may be useful even once the bug is fixed, for benchmarking purposes.
      There are some workloads for which the adaptive hash index is not effective.
      
      
      sql/ha_innodb.cc:
        Add --skip-innodb-adaptive-hash-index option.
      sql/ha_innodb.h:
        Add --skip-innodb-adaptive-hash-index option.
      sql/mysqld.cc:
        Add --skip-innodb-adaptive-hash-index option.
      sql/set_var.cc:
        Add --skip-innodb-adaptive-hash-index option.
      61c8e6ca
  28. 02 Oct, 2007 1 commit
  29. 13 Sep, 2007 1 commit
    • unknown's avatar
      Bug #15327: configure: --with-tcp-port option being partially ignored · ee7f125d
      unknown authored
      make sure that if builder configured with a non-standard (!= 3306)
      default TCP port that value actually gets used throughout. if they
      didn't configure a value, assume "use a sensible default", which
      will be read from /etc/services or, failing that, from the factory
      default. That makes the order of preference
      - command-line option
      - my.cnf, where applicable
      - $MYSQL_TCP_PORT environment variable
      - /etc/services (unless configured --with-tcp-port)
      - default port (--with-tcp-port=... or factory default)
      
      
      client/mysql.cc:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysql_upgrade.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqladmin.cc:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqlbinlog.cc:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqlcheck.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqldump.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqlimport.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqlmanagerc.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      configure.in:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        If MYSQL_TCP_PORT defaulted in configure (factory default 3306
        at the time of this writing), set MYSQL_TCP_PORT to factory
        default, then clear factory default after. That way, we lose no
        information, and we can distinguish between "defaulted" and the
        pathological case "builder specifically configured a port that
        coincides with factory default." This can in theory happen if
        builder configures and builds several servers from a script
        (--with-tcp-port=3306, --with-tcp-port=3316, --with-tcp-port=3326).
        Not all that probable, but much preferable to having more "magic"
        happen in the server when we can solve this without any guesswork.
      client/mysqlshow.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      client/mysqltest.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      include/mysql_version.h.in:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make factory default for TCP port available as MYSQL_PORT_DEFAULT
        if build-time configured with a different default.  (0 if unchanged)
      libmysql/libmysql.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        initialize default tcp port for client, like so:
        - if user configured --with-tcp-port, use that value as default
        - otherwise assume "use a good default": search mysqld/tcp in
          /etc/services; if that doesn't exist, use factory default (3306)
        - environment variable MYSQL_TCP_PORT overrides this default
        - command-line option overrides all of the above
      mysql-test/Makefile.am:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT
        if build-time configured with a different default.  (0 if unchanged)
      mysql-test/mysql-test-run-shell.sh:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        set up MYSQL_TCP_PORT if not already set in environment:
        - if user configured --with-tcp-port, use that value as default
        - otherwise assume "use a good default": search mysqld/tcp in
          /etc/services; if that doesn't exist, use factory default (3306)
      netware/mysql_test_run.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        account for non-standard default port-no. configured at build-time
      netware/mysqld_safe.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        account for non-standard default port-no. configured at build-time
      scripts/Makefile.am:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make factory default for TCP port available as MYSQL_TCP_PORT_DEFAULT
        if build-time configured with a different default.  (0 if unchanged)
      scripts/mysql_config.sh:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        set up MYSQL_TCP_PORT if not already set in environment:
        - if user configured --with-tcp-port, use that value as default
        - otherwise assume "use a good default": search mysqld/tcp in
          /etc/services; if that doesn't exist, use factory default (3306)
      scripts/mysql_fix_privilege_tables.sh:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        clarifying notice only
      scripts/mysqld_safe-watch.sh:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        account for non-standard default port-no. configured at build-time
      server-tools/instance-manager/priv.h:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        account for non-standard default port-no. configured at build-time
      sql/mysqld.cc:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        if builder specifically requested a default port, use that
        (even if it coincides with our factory default).
        only if they didn't do we check /etc/services (and, failing
        on that, fall back to the factory default of 3306).
        either default can be overridden by the environment variable
        MYSQL_TCP_PORT, which in turn can be overridden with command
        line options.
      tests/mysql_client_test.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      tests/ssl_test.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        account for non-standard default port-no. configured at build-time
      tests/thread_test.c:
        Bug #15327: configure: --with-tcp-port option being partially ignored
        
        make help on --port a little more clear
      ee7f125d
  30. 07 Sep, 2007 1 commit
    • unknown's avatar
      This patch is a part of work on bug #5731 "key_buffer_size not properly restricted to 4GB". · 76c19c74
      unknown authored
        
      The patch limits read_buffer_size and read_rnd_buffer_size by 2 GB on all platforms for the following reasons:
        
      - I/O code in mysys, code in mf_iocache.c and in some storage engines do not currently work with sizes > 2 GB for those buffers
      - even if the above had been fixed, Windows POSIX read() and write() calls are not 2GB-safe, so setting those buffer to sizes > 2GB would not work correctly on 64-bit Windows.
      
      
      include/my_global.h:
        Removed SSIZE_MAX definition because it's not neeeded anymore.
      sql/mysqld.cc:
        Limit read_buffer_size and read_rnd_buffer_size by 2 GB on all platforms.
      76c19c74
  31. 29 Aug, 2007 1 commit
    • unknown's avatar
      Limit join_buffer_size, sort_buffer_size and myisam_sort_buffer_size to 4GB on... · 0dce550a
      unknown authored
      Limit join_buffer_size, sort_buffer_size and myisam_sort_buffer_size to 4GB on all platforms, since the related code in 5.0 is not 64-bit safe. This is patch is a part of work on bug #5731 and will be null-merged to 5.1.
      
      
      sql/mysqld.cc:
        Limit join_buffer_size, sort_buffer_size and myisam_sort_buffer_size to 4GB on all platforms.
      0dce550a
  32. 16 Aug, 2007 1 commit
    • unknown's avatar
      Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail" · 4e5d02e9
      unknown authored
      include/my_pthread.h:
        Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail".
        
        Removed macro NPTL_PTHREAD_EXIT_BUG, because it doesn't work in dynamic
        environment. One can switch between NPTL and LT on the fly on Linux.
        
        Added pthread_dummy(ESRCH) for those platforms that don't have pthread_kill.
        This ensures that there won't be an error in mysqld.cc where the return value 
        is being checked from the function call.
      mysys/my_thr_init.c:
        Check for a Linux is enough. There is an additional test if
        NPTL is in use before spwaning the extra thread.
      4e5d02e9
  33. 02 Aug, 2007 1 commit
    • unknown's avatar
      Addendum to bug 29325 · 8277581b
      unknown authored
      keep_files_on_create made a startup option
      
      
      sql/mysqld.cc:
        Addendum to bug #29325
        keep_files_on_create made a startup option
      8277581b
  34. 01 Aug, 2007 1 commit
    • unknown's avatar
      Fix for bug #30088: Can't disable myisam-recover by a value of "". · 1281fbc5
      unknown authored
        - test result.
      
      Problem: we don't proper handle "" value of the --myisam-recover option.
      
      Fix: turn off myisam recovering if --myisam-recover="" is set.
      
      
      mysql-test/r/show_check.result:
        Fix for bug #30088: Can't disable myisam-recover by a value of "".
          - test result.
      mysql-test/t/show_check-master.opt:
        Fix for bug #30088: Can't disable myisam-recover by a value of "".
          - test case.
      mysql-test/t/show_check.test:
        Fix for bug #30088: Can't disable myisam-recover by a value of "".
          - test case.
      sql/mysqld.cc:
        Fix for bug #30088: Can't disable myisam-recover by a value of "".
          - turn off myisam recovering if --myisam-recover="" is passed.
      1281fbc5
  35. 25 Jul, 2007 1 commit
  36. 05 Jul, 2007 1 commit
    • unknown's avatar
      Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored · 32c6341e
      unknown authored
      Problem: logging queries not using indexes we check a special flag which 
      is set only at the server startup and is not changing with a corresponding
      server variable together.
      
      Fix: check the variable value instead of the flag.
      
      
      
      mysql-test/r/show_check.result:
        Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
          - test result.
      mysql-test/t/show_check.test:
        Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
          - test case.
      sql/mysqld.cc:
        Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
          - SPECIAL_LOG_QUERIES_NOT_USING_INDEXES is not used anymore.
      sql/sql_parse.cc:
        Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
          - check opt_log_queries_not_using_indexes instead of 
            SPECIAL_LOG_QUERIES_NOT_USING_INDEXES flag.
      sql/unireg.h:
        Fix for bug #28808: log_queries_not_using_indexes variable dynamic change is ignored
          - SPECIAL_LOG_QUERIES_NOT_USING_INDEXES is not used anymore.
      32c6341e
  37. 21 Jun, 2007 1 commit
    • unknown's avatar
      Bug#24924: shared-memory-base-name that is too long causes buffer overflow · 4d9cc3db
      unknown authored
      long shared-memory-base-names could overflow a static internal buffer
      and thus crash mysqld and various clients.  change both to dynamic
      buffers, show everything but overflowing those buffers still works.
      
      The test case for this would pretty much amount to
      mysqld --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --shared-memory=1 &
      mysqladmin --no-defaults --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX shutdown
      
      Unfortunately, we can't just use an .opt file for the
      server. The .opt file is used at start-up, before any
      include in the actual test can tell mysqltest to skip
      this one on non-Windows. As a result, such a test would
      break on unices.
      
      Fixing mysql-test-run.pl to export full path for master
      and slave would enable us to start a server from within
      the test which is ugly and, what's more, doesn't work as
      the server blocks (mysqltest offers no fire-and-forget
      fork-and-exec), and mysqladmin never gets run.
      
      Making the test rpl_windows_shm or some such so we can
      is beyond ugly. As is introducing another file-name based
      special case (run "win*.test" only when on Windows). As is
      (yuck) coding half the test into mtr (as in, having it
      hand out a customized environment conductive to the shm-
      thing on Win only).
      
      Situation is exacerbated by the fact that .sh is not
      necessary run as expected on Win.
      
      In short, it's just not worth it. No test-case until we
      have a new-and-improved test framework.
      
      
      sql-common/client.c:
        Bug#24924: shared-memory-base-name that is too long causes buffer overflow
        
        compose shared memory name in dynamic rather than static buffer to prevent
        overflows (clients)
      sql/mysqld.cc:
        Bug#24924: shared-memory-base-name that is too long causes buffer overflow
        
        compose shared memory name in dynamic rather than static buffer to prevent
        overflows (server)
      4d9cc3db
  38. 14 Jun, 2007 1 commit
    • unknown's avatar
      Bug#21723: Should be able to dump core after setuid() under Linux · 4a009817
      unknown authored
      In many cases, binaries can no longer dump core after calling setuid().
      
      Where the PR_SET_DUMPABLE macro is set, use the prctl() system call 
      to tell the kernel that it's allowed to dump the core of the server.
      
      
      configure.in:
        Test system for "sys/prctl.h", to get access to prctl().
      sql/mysqld.cc:
        Add a process-control operation that tells the Linux kernel that it 
        is allowed to dump core after setuid().
      4a009817
  39. 09 Jun, 2007 1 commit
    • unknown's avatar
      Bug#28149 overflow in some "SHOW STATUS"-variables · 71aa571d
      unknown authored
      changed bytes_received, bytes_sent status variables to longlong
      
      
      sql/mysqld.cc:
        changed bytes_received, bytes_sent status variables to longlong
      sql/sql_class.h:
        changed bytes_received, bytes_sent status variables to longlong
      sql/sql_show.cc:
        changed bytes_received, bytes_sent status variables to longlong
      sql/structs.h:
        changed bytes_received, bytes_sent status variables to longlong
      71aa571d