1. 31 Jan, 2007 2 commits
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint · fee0649c
      unknown authored
      into  mysql.com:/home/ram/work/b19690/b19690.4.1
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      fee0649c
    • unknown's avatar
      fix for bug #19690: ORDER BY eliminates rows from the result · faad7355
      unknown authored
      Depending on the queries we use different data processing methods
      and can lose some data in case of double (and decimal in 4.1) fields.
      
      The fix consists of two parts:
      1. double comparison changed, now double a is equal to double b 
      if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). 
      For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
      2. if we use a temporary table, store double values there as is 
      to avoid any data conversion (rounding).
      
      
      mysql-test/r/type_float.result:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - test result
      mysql-test/t/type_float.test:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - test case
      sql/field.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - use not_fixed flag instead of dec to check bounds.
      sql/field.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC
            and is used in the ::store() to check bounds. 
          - new constructor introduced (with not_fixed_arg parameter).
      sql/init.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - fill log_01[] array with 0.1 powers.
      sql/item_cmpfunc.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - compare_real_fixed() and compare_e_real_fixed() introduced,
            they consider double a == double b if a-b is less than 'precision',
            'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)), 
            for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005
          - use the above functions if both arguments are fixed.
      sql/item_cmpfunc.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - Arg_comparator::presision introduced.
          - Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced.
      sql/mysql_priv.h:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - log_01 array of 0.1 powers added.
      sql/mysqld.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - log_01 array of 0.1 powers added.
      sql/sql_select.cc:
        fix for bug #19690: ORDER BY eliminates rows from the result
          - if we create double field in a temporary table, set not_fixed flag
            (use proper constructor) to avoid data conversion 
            in the Field_double::store(). Otherwise we can lose some data.
      faad7355
  2. 29 Jan, 2007 3 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-maint · b44ae648
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint
      
      
      b44ae648
    • unknown's avatar
      Merge pilot.mysql.com:/home/msvensson/mysql/bug22943/my41-bug22943 · 5776283e
      unknown authored
      into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      5776283e
    • unknown's avatar
      Bug#22943 syscall pruning in libmysql · a195ad5e
      unknown authored
       - Set the timeout values only where needed
      
      
      sql/mysql_priv.h:
        Add new functions for setting read and write timeout on "net"
      sql/mysqld.cc:
        - Move the setting of "read_timeout" to the value of "connect_timeout" to
          just before 'check_connection' which is the function where we want
          to use the different timeout
        - With the new functions to set timeout on "net", there is no need to
          specifically set the default wait_timeout on windows.
      sql/net_serv.cc:
        Add new functions for setting read and write timeout of "net, when
        server is compiled not to use alarms it will set the write/read timeout
        directly on connection using 'vio_timeout'(using setsockopt if socket)
      sql/repl_failsafe.cc:
        Put unused code within "#if NOT_USED"
      sql/set_var.cc:
        Use 'net_set_*_timeout' when adjusting timeout value
        on the current connection
      sql/slave.cc:
        The read timeout used when connecting to master server is set
        using 'mysql_options' in 'connect_to_master' function
      sql/sql_parse.cc:
        - Set read and write timeout values to "connect_timeout" during
        connect phase
        - Use "read_timeout" value during sslaccept phase, since this is during
        connect phase it implies "connect-timeout"
        - Set read and write timeout value back to default after connect phase
        - Set "read_timeout" to "wait_timeout" while waiting for client.
      sql/sql_repl.cc:
        Set "read_timeout" to "wait_timeout" while ask other mysqld to send file
      sql-common/client.c:
        Call 'vio_timeout' to set up the read and write timeout's for the
        newly created connection. It only need to be done once at connect time.
      vio/vio.c:
        Use 'vio_timeout' for setting timeout also on an SSL connection
        since they both use sockets
      vio/viossl.c:
        Remove 'vio_ssl_timeout' function
      a195ad5e
  3. 23 Jan, 2007 1 commit
  4. 22 Jan, 2007 4 commits
  5. 20 Jan, 2007 1 commit
  6. 19 Jan, 2007 5 commits
  7. 18 Jan, 2007 9 commits
  8. 17 Jan, 2007 10 commits
  9. 16 Jan, 2007 2 commits
    • unknown's avatar
      A fix for the broken 4.1-runtime tree. · 9cff68bb
      unknown authored
      
      mysql-test/t/backup.test:
        Backport a patch for sporadically failing myisam.test (and now ps.test)
        from 5.0. The cause was in backup.test not cleaning up tables in
        mysqltest-vardir/tmp after itself.
      mysql-test/t/ps.test:
        Add additional protection against possible failure in the middle of
        backup.test
      9cff68bb
    • unknown's avatar
      Always use two masters for ndb tests · 80818def
      unknown authored
      80818def
  10. 15 Jan, 2007 2 commits
    • unknown's avatar
      A post-merge fix. · 15c83425
      unknown authored
      
      sql/sql_parse.cc:
        A post-merge fix (broken alter_table.test): restore Svoj's fix
        for Bug#23404 lost during merge.
      15c83425
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1-runtime · d470c233
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-4.1-4968-to-push
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Manual merge.
      sql/sql_table.cc:
        Manual merge.
      d470c233
  11. 12 Jan, 2007 1 commit