1. 30 May, 2007 1 commit
    • unknown's avatar
      Got rid of log_01[], because we don't really need it. Division and log_10[]... · 9dc7a7b8
      unknown authored
      Got rid of log_01[], because we don't really need it. Division and log_10[] can always be used instead, which is also a more precise way.
      
      This is for bug #28121.
      
      
      include/m_string.h:
        Got rid of log_01[], because we don't really need it.
      sql/item_cmpfunc.cc:
        Got rid of log_01[], because we don't really need it.
      strings/strtod.c:
        Got rid of log_01[], because we don't really need it.
      9dc7a7b8
  2. 29 May, 2007 1 commit
    • unknown's avatar
      Moved size_of() from Field_double to Field_real in order to properly clone... · 07c7cf12
      unknown authored
      Moved size_of() from Field_double to Field_real in order to properly clone Field_float and Field_double. This is to fix PushBuild failures introduced by the patch for bug #28121.
      
      
      sql/field.h:
        Moved size_of() from Field_double to Field_real in order to properly clone Field_float and Field_double.
      07c7cf12
  3. 28 May, 2007 4 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
      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
  4. 25 May, 2007 3 commits
  5. 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
  6. 23 May, 2007 5 commits
  7. 22 May, 2007 1 commit
    • unknown's avatar
      Fix for bug #21476: stack overflow crashes server; error-message stack reservation too small · d076bcbc
      unknown authored
      Increase STACK_BUFF_ALLOC to avoid execution_constants test failure on the hpita2.
      
      
      sql/mysql_priv.h:
        Fix for bug #21476: stack overflow crashes server; error-message stack reservation too small
          - due to the failing execution_constants test on the hpita2, 
            increase STACK_BUFF_ALLOC, that is used in the Item_func::fix_fields() to 
            allocate on the stack a "dummy" buffer large enough for the corresponding exec.
      d076bcbc
  8. 21 May, 2007 4 commits
  9. 19 May, 2007 2 commits
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/bug28401/my50-bug28401 · f40047df
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      f40047df
    • unknown's avatar
      Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE · f52f931f
      unknown authored
       - The SQL commands used by mysql_upgrade are written to be run
          with sql_mode set to '' - thus the scripts should change sql_mode
          for the session to make sure the SQL is legal.
      
      
      mysql-test/r/mysql_upgrade.result:
        Update test result
      mysql-test/t/mysql_upgrade.test:
        The SQL commands used by mysql_upgrade are written to be run
        with sql_mode set to '' - thus the scripts should change sql_mode
        for the session to make sure the SQL is legal.
      scripts/mysql_system_tables_fix.sql:
        Set sql_mode to '' before running the SQL commands
        to fix system tables - backport from 5.1
      f52f931f
  10. 18 May, 2007 13 commits
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 8b33c415
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/item.cc:
        Auto merged
      8b33c415
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8933c18c
      unknown authored
      into  sergbook.mysql.com:/usr/home/serg/Abk/mysql-5.0
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/item.cc:
        Auto merged
      8933c18c
    • unknown's avatar
      added cleanup to some tests · f7434c4f
      unknown authored
      
      mysql-test/r/sp_trans.result:
        added cleanup
      mysql-test/r/strict.result:
        added cleanup
      mysql-test/t/sp_trans.test:
        added cleanup
      mysql-test/t/strict.test:
        added cleanup
      f7434c4f
    • unknown's avatar
      Merge mysql.com:/d2/hf/mrg/mysql-4.1-opt · 5f66ebe8
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
      
      
      5f66ebe8
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0 · caf045db
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/item.cc:
        Auto merged
      caf045db
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1 · 25090a6d
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
      
      
      25090a6d
    • unknown's avatar
      Fox for bug #28509: strange behaviour: passing a decimal value to PS · 6249d57d
      unknown authored
      Set parameter's type to Item::DECIMAL_ITEM assigning a decimal value.
      
      
      mysql-test/r/ps.result:
        Fox for bug #28509: strange behaviour: passing a decimal value to PS
          - test result.
      mysql-test/t/ps.test:
        Fox for bug #28509: strange behaviour: passing a decimal value to PS
          - test case.
      sql/item.cc:
        Fox for bug #28509: strange behaviour: passing a decimal value to PS
          - set Item_param::item_type to Item::DECIMAL_ITEM in case of DECIMAL_RESULT variable.
          - removed redundant item_result_type assignments as it's set before.
      6249d57d
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · ca633f5f
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      ca633f5f
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-maint · 768eab64
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
      
      
      768eab64
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint · f35dd614
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
      
      
      client/mysqltest.c:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/t/mysqltest.test:
        SCCS merged
      f35dd614
    • unknown's avatar
      WL#2247 mysqltest: add option for sorting results · 421d8ca9
      unknown authored
       - Final touchups
      
      
      client/mysqltest.c:
        Final touch ups, rename sorted_results to sorted_result
      mysql-test/r/mysqltest.result:
        Update test result
      mysql-test/t/mysqltest.test:
        Update results with additional subtests for empty result set,
        NULL values and 1024 rows
      421d8ca9
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 507ad360
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28261-bug-5.0-opt-mysql
      
      
      507ad360
    • unknown's avatar
      Fix for bug #28464: a string argument to 'limit ?' PS - replication fails · 5b3b80b4
      unknown authored
      Problem: we may get syntactically incorrect queries in the binary log 
      if we use a string value user variable executing a PS which 
      contains '... limit ?' clause, e.g.
      prepare s from "select 1 limit ?"; 
      set @A='qwe'; execute s using @A;
        
      Fix: raise an error in such cases.
      
      
      mysql-test/r/limit.result:
        Fix for bug #28464: a string argument to 'limit ?' PS - replication fails
          - test result
      mysql-test/t/limit.test:
        Fix for bug #28464: a string argument to 'limit ?' PS - replication fails
          - test case
      sql/item.cc:
        Fix for bug #28464: a string argument to 'limit ?' PS - replication fails
          - if Item_param::strict_type is set, check given and required types,
            return an error if not equal.
      sql/item.h:
        Fix for bug #28464: a string argument to 'limit ?' PS - replication fails
          - bool strict_type introduced, which indicates that a parameter value must be of 
            the required_result_type type.
          - set_strict_type() function introduced to set required type.
      sql/sql_yacc.yy:
        Fix for bug #28464: a string argument to 'limit ?' PS - replication fails
          - as we accept only INTs in the 'limit' clause set parameter's required type.
      5b3b80b4