1. 16 Jun, 2007 2 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · b1dc106b
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt-28625
      
      
      sql/item_func.cc:
        Auto merged
      b1dc106b
    • unknown's avatar
      Fixed bug #28625: · 1b9f594f
      unknown authored
      DECIMAL column was used instead of BIGINT for the minimal possible
      BIGINT (-9223372036854775808).
      
      The Item_func_neg::fix_length_and_dec has been adjusted to
      to inherit the type of the argument in the case when it's an 
      Item_int object whose value is equal to LONGLONG_MIN.
      
      
      sql/item_func.cc:
        Fixed bug #28625.
        The Item_func_neg::fix_length_and_dec has been adjusted to
        to inherit the type of the argument in the case when it's an 
        Item_int object whose value is equal to LONGLONG_MIN.
      mysql-test/t/bigint.test:
        Added test result for bug #28625.
      mysql-test/r/bigint.result:
        Added test case for bug #28625.
      1b9f594f
  2. 15 Jun, 2007 1 commit
    • unknown's avatar
      Fixed bug #27932: the function LOCATE returned NULL if any · 36f8bfb2
      unknown authored
      of its arguments was evaluated to NULL, while the predicate
      LOCATE(str,NULL) IS NULL erroneously was evaluated to FALSE.
      
      This happened because the Item_func_locate::fix_length_and_dec
      method by mistake set the value of the maybe_null flag for 
      the function item to 0. In consequence of this the function 
      was considered as the one that could not ever return NULL.
      
      
      mysql-test/r/func_str.result:
        Added a test case for bug #27932.
      mysql-test/t/func_str.test:
        Added a test case for bug #27932.
      36f8bfb2
  3. 14 Jun, 2007 5 commits
  4. 13 Jun, 2007 1 commit
    • unknown's avatar
      Fixed bug #28980: the result of ROUND(<decimal expr>,<int column>) · c0ebdff9
      unknown authored
      was erroneously converted to double, while the result of
      ROUND(<decimal expr>, <int literal>) was preserved as decimal.
      As a result of such a conversion the value of ROUND(D,A) could
      differ from the value of ROUND(D,val(A)) if D was a decimal expression.
      
      Now the result of the ROUND function is never converted to 
      double if the first argument is decimal.  
      
      
      mysql-test/r/type_decimal.result:
        Added a test case for bug #28980.
      mysql-test/t/type_decimal.test:
        Added a test case for bug #28980.
      c0ebdff9
  5. 12 Jun, 2007 5 commits
    • unknown's avatar
      removed compilation warning · 119412f8
      unknown authored
      119412f8
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-opt · e4cd7e98
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28992-5.0-opt
      
      
      e4cd7e98
    • unknown's avatar
      Bug #28992: trigger fails in pushbuild · 030bb02b
      unknown authored
       - fixed wrong test case for bug 20903
       - closed the dangling connections in trigger.test
       - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
       - fixed an omission in GET_LOCK() : assign the thread_id when
          acquiring the lock.
      
      
      mysql-test/r/trigger.result:
        Bug #28992: test case updated
      mysql-test/t/trigger.test:
        Bug #28992: test case updated. dangling connections closed.
      sql/item_func.cc:
        Bug #28992: 
         - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
         - fixed an omission in GET_LOCK() : assign the thread_id when
            acquiring the lock.
      030bb02b
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e43380e8
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28934-5.0-opt
      
      
      e43380e8
    • unknown's avatar
      Bug #28934: server crash when receiving malformed com_execute packets · e164c08e
      unknown authored
       Sometimes a parameter slot may not get a value because of the protocol
       data being plain wrong.
       Such cases should be detected and handled by returning an error.
       Fixed by checking data stream constraints where possible (like maximum
       length) and reacting to the case where a value cannot be constructed.
      
      
      sql/sql_prepare.cc:
        Bug #28934: 
         - check for a parameter slot not being set because 
            of wrong data
         - check if the length read from the stream is not
            greater than the maximum length of the field
      tests/mysql_client_test.c:
        Bug #28934: test case
      e164c08e
  6. 11 Jun, 2007 1 commit
    • unknown's avatar
      Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't. · ccf393b6
      unknown authored
      When the INSERT .. ON DUPLICATE KEY UPDATE has to update a matched row but
      the new data is the same as in the record then it returns as if
      no rows were inserted or updated. Nevertheless the row is silently
      updated. This leads to a situation when zero updated rows are reported 
      in the case when data has actually been changed.
      
      Now the write_record function updates a row only if new data differs from
      that in the record.
      
      
      sql/sql_insert.cc:
        Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't.
        Now the write_record function updates a row only if new data differs from
        that in the record.
      mysql-test/r/insert_update.result:
        Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
        updating rows when it shouldn't.
      mysql-test/t/insert_update.test:
        Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
        updating rows when it shouldn't.
      ccf393b6
  7. 09 Jun, 2007 7 commits
  8. 08 Jun, 2007 5 commits
    • unknown's avatar
      Bug #28333 Test "flush" tries to create a new thread - on only one platform · 99b4321a
      unknown authored
      on PPC/Debian Linux default stack size for a thread is too big.
      As we use default thread settings in mysqltest, the
      thread creation fails if we create lots of threads (as it
      happens in flush.test). So now stack size is explicitly specified
      for the mysqltest
      
      
      client/mysqltest.c:
        Bug #28333 Test "flush" tries to create a new thread - on only one platform
        
        specify appropriate stack size for the 'query' thread
      99b4321a
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 22d488e4
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28811
      
      
      22d488e4
    • unknown's avatar
      Bug #28754: RPM builds differ from tar.gz in "ALTER ... RENAME" on views · 2b274a60
      unknown authored
       When constructing the path to the original .frm file ALTER .. RENAME
       was unnecessary (and incorrectly) lowercasing the whole path when not 
       on a case-insensitive filesystem.
       This path should not be modified because of lower_case_table_names
       as it is already in the correct case according to that setting.
       Fixed by removing the lowercasing.
       Unfortunately testing this would require running the tests on a case
       sensitive filesystem in a directory that has uppercase letters.
       This cannot be guaranteed in all setups so no test case added.
      
      
      sql/sql_table.cc:
        Bug #28754: don't downcase the .frm path
      2b274a60
    • unknown's avatar
      Bug#18660 Can't grant any privileges on single table in database with underscore char · 5031a418
      unknown authored
      In case of database level grant the database name may be a pattern,
      in case of table|column level grant the database name can not be a pattern.
      We use 'dont_check_global_grants' as a flag to determine
      if it's database level grant command 
      (see SQLCOM_GRANT case, mysql_execute_command() function) and
      set db_is_pattern according to 'dont_check_global_grants' value.
      
      
      mysql-test/r/grant2.result:
        test result
      mysql-test/t/grant2.test:
        test case
      sql/sql_parse.cc:
        In case of database level grant the database name may be a pattern,
        in case of table|column level grant the database name can not be a pattern.
        We use 'dont_check_global_grants' as a flag to determine
        if it's database level grant command 
        (see SQLCOM_GRANT case, mysql_execute_command() function) and
        set db_is_pattern according to 'dont_check_global_grants' value.
      5031a418
    • unknown's avatar
      Fixed bug #28811: crash for a query containing a subquery with · d8e2f262
      unknown authored
      ORDER BY and LIMIT 1. 
      The bug was introduced by the patch for bug 21727. The patch
      erroneously skipped initialization of the array of headers
      for sorted records for non-first evaluations of the subquery.
      
      To fix the problem a new parameter has been added to the
      function make_char_array that performs the initialization.
      Now this function is called for any invocation of the 
      filesort procedure. Yet it allocates the buffer for sorted
      records only if this parameter is NULL.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28811.
      mysql-test/t/subselect.test:
        Added a test case for bug #28811.
      d8e2f262
  9. 07 Jun, 2007 10 commits
    • unknown's avatar
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5a148ba5
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28763-bug-5.0-opt-mysql
      
      
      5a148ba5
    • unknown's avatar
      Bug#28763: Selecting geometry fields in UNION caused server crash. · 18310fab
      unknown authored
      This bug was introduced by the fix for the bug#27300. In this fix a section
      of code was added to the Item::tmp_table_field_from_field_type method.
      This section intended to create Field_geom fields for the Item_geometry_func
      class and its descendants. In order to get the geometry type of the current
      item it casted "this" to the Item_geometry_func* type. But the
      Item::tmp_table_field_from_field_type method is also used for creation of
      fields for UNION and in this case this method is called for an object of the
      Item_type_holder class and the cast to the Item_geometry_func* type causes 
      a server crash.
      
      Now the Item::tmp_table_field_from_field_type method correctly works when it's
      called for both the Item_type_holder and the Item_geometry_func classes.
      The new geometry_type variable is added to the Item_type_holder class.
      The new method called get_geometry_type is added to the Item_field
      and the Field classes. It returns geometry type from the field for the
      Item_field and the Field_geom classes and fails an assert for other Field
      descendants.
      
      
      sql/field.h:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        The new method called get_geometry_type is added to the Field class.
        It returns geometry type of the field for the Field_geom class
        and fails an assert for other Field descendants.
      sql/item.cc:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        Now the Item::tmp_table_field_from_field_type method correctly works when it's
        called for both the Item_type_holder and the Item_geometry_func classes.
      mysql-test/r/gis.result:
        Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
      mysql-test/t/gis.test:
        Added a test case for the bug#28763: Selecting geometry fields in UNION caused server crash.
      sql/item.h:
        Bug#28763: Selecting geometry fields in UNION caused server crash.
        The new method called get_geometry_type is added to the Item_field class.
        It returns geometry type from the field.
        The new geometry_type variable is added to the Item_type_holder class.
      18310fab
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 2ad83203
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28449
      
      
      2ad83203
    • unknown's avatar
      Merge trift2.:/MySQL/M41/bug23504-4.1 · 35a948f7
      unknown authored
      into  trift2.:/MySQL/M41/push-4.1
      
      
      35a948f7
    • unknown's avatar
      Merge trift2.:/MySQL/M41/bug23504-4.1 · d37e1642
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      netware/comp_err.def:
        Auto merged
      netware/isamchk.def:
        Auto merged
      netware/isamlog.def:
        Auto merged
      netware/libmysql.def:
        Auto merged
      netware/myisam_ftdump.def:
        Auto merged
      netware/myisamchk.def:
        Auto merged
      netware/myisamlog.def:
        Auto merged
      netware/myisampack.def:
        Auto merged
      netware/mysql.def:
        Auto merged
      netware/mysql_install_db.def:
        Auto merged
      netware/mysql_test_run.def:
        Auto merged
      netware/mysql_waitpid.def:
        Auto merged
      netware/mysqladmin.def:
        Auto merged
      netware/mysqlbinlog.def:
        Auto merged
      netware/mysqlcheck.def:
        Auto merged
      netware/mysqld.def:
        Auto merged
      netware/mysqld_safe.def:
        Auto merged
      netware/mysqldump.def:
        Auto merged
      netware/mysqlimport.def:
        Auto merged
      netware/mysqlshow.def:
        Auto merged
      netware/mysqltest.def:
        Auto merged
      netware/pack_isam.def:
        Auto merged
      netware/perror.def:
        Auto merged
      netware/replace.def:
        Auto merged
      netware/resolve_stack_dump.def:
        Auto merged
      netware/resolveip.def:
        Auto merged
      netware/my_print_defaults.def:
        Use 5.0 version
      d37e1642
    • unknown's avatar
      netware/*.def : Allocate 128K stack for all executables (bug#23504) · bc671e2f
      unknown authored
      
      netware/comp_err.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/isamchk.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/isamlog.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/libmysql.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/my_print_defaults.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/myisam_ftdump.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/myisamchk.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/myisamlog.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/myisampack.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysql.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysql_install_db.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysql_test_run.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysql_waitpid.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqladmin.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqlbinlog.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqlcheck.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqld.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqld_safe.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqldump.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqlimport.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqlshow.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/mysqltest.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/pack_isam.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/perror.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/replace.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/resolve_stack_dump.def:
        Allocate 128K stack for all executables (bug#23504)
      netware/resolveip.def:
        Allocate 128K stack for all executables (bug#23504)
      bc671e2f
    • unknown's avatar
      Fixed bug #28449: a crash may happen at some rare conditions when · 89d96dd4
      unknown authored
      a temporary table has grown out of heap memory reserved for it and 
      the remaining disk space is not big enough to store the table as
      a MyISAM table.
      
      The crash happens because the function create_myisam_from_heap
      does not handle safely the mem_root structure associated 
      with the converted table in the case when an error has occurred.
      
      
      sql/sql_select.cc:
        Fixed bug #28449: a crash may happen at some rare conditions when
        a temporary table has grown out of heap memory reserved for it and 
        the remaining disk space is not big enough to store the table as
        a MyISAM table.
        
        The crash happens because the function create_myisam_from_heap
        does not handle safely the mem_root structure associated 
        with the converted table in the case when an error has occurred.
        
        As it's hard to create a sitiation that would throw an error 
        a special code has been added that raises an error for a newly 
        created test called error_simulation.
      mysql-test/r/error_simulation.result:
        New BitKeeper file ``mysql-test/r/error_simulation.result''
        
        Added a test case for bug #28449.
      mysql-test/t/error_simulation-master.opt:
        New BitKeeper file ``mysql-test/t/error_simulation-master.opt''
      mysql-test/t/error_simulation.test:
        New BitKeeper file ``mysql-test/t/error_simulation.test''
        
        Added a test case for bug #28449.
      89d96dd4
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 81d32d9a
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28878-5.0-opt
      
      
      81d32d9a
    • unknown's avatar
      Bug#28878: InnoDB tables with UTF8 character set and indexes cause · 970b26e6
      unknown authored
      wrong result for DML
      When making key reference buffers over CHAR fields whitespace (0x20) 
      must be used to fill in the remaining space in the field's buffer.
      This is what Field_string::store() does.
      Fixed Field_string::get_key_image() to do the same.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug#28878: test case
      mysql-test/t/innodb_mysql.test:
        Bug#28878: test case
      sql/field.cc:
        Bug#28878: Fill with space instead of binary zeros.
      970b26e6
  10. 06 Jun, 2007 3 commits
    • unknown's avatar
      Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS · 8d0d27b5
      unknown authored
      flag is set.
      
      When the CLIENT_FOUND_ROWS flag is set then the server should return
      found number of rows independently whether they were updated or not.
      But this wasn't the case for the INSERT statement which always returned
      number of rows that were actually changed thus providing wrong info to
      the user.
      
      Now the select_insert::send_eof method and the mysql_insert function
      are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
      
      
      tests/mysql_client_test.c:
        Added a test case for the bug#28505: mysql_affected_rows() may return wrong result
        if CLIENT_FOUND_ROWS flag is set.
      sql/sql_insert.cc:
        Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS
        flag is set.
        Now the select_insert::send_eof method and the mysql_insert function
        are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
      8d0d27b5
    • unknown's avatar
      Merge trift2.:/MySQL/M41/mysql-4.1 · 1811c893
      unknown authored
      into  trift2.:/MySQL/M41/push-4.1
      
      
      1811c893
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · cdf0327e
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      CMakeLists.txt:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/t/ctype_cp932_binlog.test:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      cdf0327e