1. 07 Jun, 2007 1 commit
    • unknown's avatar
      Bug#28718 Running backup testcase fails in mysql testsuite · 47559994
      unknown authored
       - Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
      
      
      mysql-test/t/backup.test:
        Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
      mysql-test/t/blackhole.test:
        Skip test if the mysqld to test is not started from MYSQLTEST_VARDIR
      mysql-test/include/uses_vardir.inc:
        New BitKeeper file ``mysql-test/include/uses_vardir.inc''
      47559994
  2. 01 Jun, 2007 9 commits
  3. 31 May, 2007 4 commits
    • unknown's avatar
      Bug#28373 mysqltest test case fails with binlog disabled · 7ff06317
      unknown authored
       - Update tests to be independent how the mysqld was started
      
      
      mysql-test/r/mysqltest.result:
        Update result file
      mysql-test/t/mysqltest.test:
        The purpose of these three test is to check that "sync_with_master"
        detects illegal parameters, the parameter checking is done before
        sending any command to the server and the "save_master_pos" can be
        removed in two cases to make the tests independent of mysqld.
        The thirs test is removed since it's a syntax check that is done
        after the command has been executed and is done for all comands in
        mysqltest - it's tested elsewhere and is not specific to "sync_with_master"
      7ff06317
    • unknown's avatar
      Merge polly.local:/home/kaa/src/maint/bug27643/my50-bug27643 · b8587557
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      sql/sql_select.cc:
        Auto merged
      b8587557
    • unknown's avatar
      Fix for bug #27643 "query failed : 1114 (The table '' is full) · f18a10c6
      unknown authored
      Problem:
      
      HASH indexes on VARCHAR columns with binary collations did not ignore trailing spaces from strings before comparisons. This could result in duplicate records being successfully inserted into a MEMORY table with unique key constraints.
      
      As a direct consequence of the above, internal MEMORY tables used for GROUP BY calculation in testcases for bug #27643 contained duplicate rows which resulted in duplicate key errors when converting those temporary tables to MyISAM. Additionally, that error was incorrectly converted to the 'table is full' error.
      
      Solution:
      
      - ignore trailing spaces in VARCHAR fields with binary collations when calculating hashes.
      - return a proper error from create_myisam_from_heap() when conversion fails.
      
      
      mysql-test/r/ctype_ucs2_def.result:
        Added a testcase for bug #27643.
      mysql-test/r/heap_hash.result:
        Added a testcase for bug #27643.
      mysql-test/t/ctype_ucs2_def.test:
        Added a testcase for bug #27643.
      mysql-test/t/heap_hash.test:
        Added a testcase for bug #27643.
      sql/sql_select.cc:
        Return an appropriate error instead of 'table is full' when conversion from MEMORY to MyISAM fails.
      strings/ctype-bin.c:
        Added my_hash_sort_8bit_bin() which ignores trailing spaces when calculating hashes, and is now used for VARCHAR columns instead of my_hash_sort_bin().
      strings/ctype-mb.c:
        Ignore trailing spaces when calculating a string hash in my_hash_sort_mb_bin().
      strings/ctype-ucs2.c:
        Ignore trailing spaces when calculating a string hash in my_hash_sort_ucs2_bin().
      f18a10c6
    • unknown's avatar
      Merge polly.local:/home/kaa/src/maint/bug28121/my50-bug28121 · 63dbf6f4
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      strings/strtod.c:
        Auto merged
      63dbf6f4
  4. 30 May, 2007 5 commits
  5. 29 May, 2007 5 commits
  6. 28 May, 2007 5 commits
    • unknown's avatar
      Don't use log_01[] in my_strtod() to avoid loss of precision. · eab7e4d4
      unknown authored
      This is for bug #28121.
      
      
      strings/strtod.c:
        Don't use log_01[] in my_strtod() to avoid loss of precision.
      eab7e4d4
    • unknown's avatar
      Bug #26397 mysql-test-run.pl --start-dirty removes binary logs · 11c40951
      unknown authored
       - Don't delete anything if starting dirty
      
      
      mysql-test/mysql-test-run.pl:
        Don't delete anything if starting dirty
      11c40951
    • unknown's avatar
      Some Windows-related fixes to make Microsoft compilers happy. This is for bug #28128. · 088cb9dd
      unknown authored
      
      include/m_string.h:
        Reduced the number of elements in log_10[] and log_01[] to not exceed DBL_MAX.
      sql/field.cc:
        Avoid the warning on Windows.
      strings/strtod.c:
        Reduced the number of elements in log_10[] and log_01[] to not exceed DBL_MAX.
      088cb9dd
    • unknown's avatar
      Merge polly.local:/home/kaa/src/maint/bug28121/my50-bug28121 · 8358a0c7
      unknown authored
      into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
      
      
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      strings/strtod.c:
        Auto merged
      8358a0c7
    • unknown's avatar
      Fix for bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits" · e3af3c21
      unknown authored
      When storing a large number to a FLOAT or DOUBLE field with fixed length, it could be incorrectly truncated if the field's length was greater than 31.
      
      This patch also does some code cleanups to be able to reuse code which is common between Field_float::store() and Field_double::store().
      
      
      include/m_string.h:
        Added declarations for log_10 and log_01 from strtod.c
      mysql-test/r/type_float.result:
        Added the testcase for bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits"
      mysql-test/t/type_float.test:
        Added the testcase for bug #28121 "INSERT or UPDATE into DOUBLE(200,0) field being truncated to 31 digits"
      sql/field.cc:
        Moved common code from Field_float::store() and Field_double:store() to Field_real::truncate()
        Fixed the algorithm to not truncate large input numbers if the field length is greater than 31.
        Fixed rounding to not depend on FLT_MAX/DBL_MAX constants.
      sql/field.h:
        Moved not_fixed member from Field_double to Field_real to allow code reuse between Field_float::store() and Field_double::store()
        Added truncate() method to Field_real which is used by both Field_float and Field_double
      sql/init.cc:
        log_10[] and log_01[] are now defined as statical arrays in strtod.c, no need to pre-computed them.
      sql/item_cmpfunc.cc:
        log_01[] now starts from 1e0, not from 1e-1 for consistency.
      sql/mysql_priv.h:
        Moved log_10[] and log_01[] from mysqld.cc to libmystrings.
      sql/mysqld.cc:
        Moved log_10[] and log_01[] from mysqld.cc to libmystrings.
      strings/strtod.c:
        Define and use log_10[] and log_01[] as static arrays of constants instead of values pre-computed at startup.
      e3af3c21
  7. 27 May, 2007 1 commit
    • unknown's avatar
      Bug #24733 RESET MASTER run before dump with --delete-master-logs · e010e1c2
      unknown authored
        
        fixed by using flush logs, dumping, then doing PURGE MASTER LOGS TO 'binfile', instead
      of deleting the log files at the beginning.
        
        NOTE: previously the delete-master-logs  would reset the log names back to
      filename.00001. Now the trailing number doesn't get reset. This may need to be
      documented. 
      
      
      client/mysqldump.c:
        changed the code the --delete-master-logs option is used from this:
            
            take locks
            delete bin logs
            do dump (if this is a lock-based dump)
            release locks
            do dump (if this is a consistent-read-dump)
            
         to this:
            
            take locks
            flush logs
            remember the name of the new log
            do dump (if this is a lock-based dump)
            release locks
            do dump (if this is a consistent-read-dump)
            fflush output sql file if specified, to ensure the backup is commited to disk
            --- yes, dump succeeded ---
            do PURGE MASTER LOGS TO up to the new log
      e010e1c2
  8. 25 May, 2007 4 commits
    • unknown's avatar
      Fix for bug #24611 "mysqld crashes when connecting from remote host, and compiled from source". · 36b183ee
      unknown authored
      On some Linux distributions with both LinuxThreads and NPTL glibc versions available, statically built binaries can crash, because linker defaults to LinuxThreads when linking statically, but calls to external libraries (like libnss) are resolved to NPTL versions.
      
      Since there is nothing we can do in the code to work that around, just give user an advice on how to fix that, if a crash happened on such a binary/OS combination.
      
      
      sql/mysqld.cc:
        Advise a user on possible solutions in case of a crash in a statically built binary on a system with both LinuxThreads and NPTL available.
      36b183ee
    • unknown's avatar
      Bug#26664 test suite times out on OS X 64bit · de108e05
      unknown authored
       - Add checks to make sure net has a vio assigned
       - For example bootstrap will create a fake "net" with vio
         set to 0 
      
      
      sql/net_serv.cc:
        Add checks to make sure net has a vio assigned
      de108e05
    • unknown's avatar
      Bug #26664 test suite times out on OS X 64bit · d8f21a94
      unknown authored
       - Make the two "my_net_set*" function only visible when included
         from my_global.h
      
      
      include/mysql_com.h:
        Make the two "my_net_set*" functions only
        visible when included from my_global.h
      d8f21a94
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 26b4a7db
      unknown authored
      into  mysql.com:/home/ram/work/b26842/b26842.5.0
      
      
      26b4a7db
  9. 24 May, 2007 6 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · 180b8eed
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      180b8eed
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/bug26664/my50-bug26664 · 6c789278
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      libmysql/libmysql.c:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/net_serv.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_repl.cc:
        Auto merged
      6c789278
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-maint · 7be03ef0
      unknown authored
      into  mysql.com:/home/ram/work/b28464.new/b28464.new.5.0
      
      
      sql/item.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/item.cc:
        SCCS merged
      7be03ef0
    • unknown's avatar
      Fix for · 3791e35f
      unknown authored
      bug #26842: master binary log contains invalid queries - replication fails
      bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
      
      Problem:  
      binlogging PS' we may produce syntacticly incorrect queries in the binlog replacing 
      some parameters with variable names (instead of variable values).
      E.g. in the reported case of "limit ?" clause: replacing "?" with "@var"
      produces "limit @var" which is not a correct SQL syntax. 
      Also it may lead to different query execution on slave if we
      set and use a variable in the same statement, e.g.
      "insert into t1 values (@x:=@x+1, ?)"
      
      Fix: make the stored statement string created upon its execution use variable values
      (instead of names) to fill placeholders.
      
      
      mysql-test/r/ctype_cp932_binlog.result:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - result adjusted.
      mysql-test/r/ctype_cp932_notembedded.result:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - result adjusted.
      mysql-test/r/rpl_user_variables.result:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - test result.
      mysql-test/t/ctype_cp932_binlog.test:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - test adjusted.
      mysql-test/t/rpl_user_variables.test:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - test case.
      sql/sql_prepare.cc:
        Fix for
        bug #26842: master binary log contains invalid queries - replication fails
        bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
          - set val to the variable's value (escaped if needed) then insert it into the query
            string in the position of the placeholder. We don't need to call
            get_var_with_binlog() here as there is no trace of the variable's name in the binlog.
      3791e35f
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/bug27438/my50-bug27438 · e079e204
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      e079e204
    • unknown's avatar
      Bug#26664 test suite times out on OS X 64bit · 945f3c2c
      unknown authored
       - The "mysql client in mysqld"(which is used by
         replication and federated) should use alarms instead of setting
         socket timeout value if the rest of the server uses alarm. By
         always calling 'my_net_set_write_timeout'
         or 'my_net_set_read_timeout' when changing the timeout value(s), the
         selection whether to use alarms or timeouts will be handled by
         ifdef's in those two functions. 
       - Move declaration of 'vio_timeout' into "vio_priv.h"
      
      
      include/mysql_com.h:
        Move the net_set_*_timeout function declarations to mysql_com.h and
        rename to my_net_set_*_timeout to avoid name clashes
      include/violite.h:
        Move declaration of 'vio_timeout' to vio_priv.h (to make
        the function as private as possible)
      libmysql/libmysql.c:
        Use my_net_read_timeout or my_net_write_timeout when setting
        the timeouts. Move the global variables for my_net_read/my_write_timeout
        into the only place where they are used. Thus removing them...
      server-tools/instance-manager/mysql_connection.cc:
        Use my_net_read_timeout or my_net_write_timeout when setting the timeouts
      sql-common/client.c:
        Use my_net_read_timeout or my_net_write_timeout when setting the timeouts
      sql/mysql_priv.h:
        Move the net_set_*_timeout function declarations to mysql_com.h
      sql/net_serv.cc:
        No need to cast the net->write_timeout value from "uint" to "uint"
      sql/set_var.cc:
        Rename net_set_*_timeout to my_net_set_*_timeout
      sql/sql_client.cc:
        Use my_net_read_timeout or my_net_write_timeout when setting the timeouts
      sql/sql_parse.cc:
        Rename net_set_*_timeout to my_net_set_*_timeout
      sql/sql_repl.cc:
        Rename net_set_*_timeout to my_net_set_*_timeout
      vio/vio_priv.h:
        Move declaration of 'vio_timeout' to vio_priv.h
      vio/viosocket.c:
        Cleanup 'vio_timeout'
         - Use "const void*" on POSIX and "const char*" on windows for
           setsockopt
         - Add DBUG_PRINT's
         - Add comment about why we don't have an implementation of
          vio_timeout for platforms not supporting SO_SNDTIMEO or SO_RCVTIMEO
      945f3c2c