1. 18 Jan, 2005 1 commit
    • unknown's avatar
      Clean up in implementation of f_is_geom()/f_is_bitfield()/f_is_enum() · b1a0f67a
      unknown authored
      macros.
      
      It does not fixes any bugs in 4.0. But it prevents from future error in
      any bugfixes that may use these macros. Also after merging into 4.1 tree
      this cleanup will fix bug #7884 "Able to add invalid unique index on
      TIMESTAMP prefix".
      
      
      sql/field.h:
        Since FIELDFLAG_INTERVAL, FIELDFLAG_BITFIELD, FIELDFLAG_BLOB and
        FIELDFLAG_GEOM flags occupy the same space as number of decimals for
        FIELDFLAG_NUMBER fields, it is safer to check in "f_is_geom()"-type
        macros that we have non-number field, like we already do in f_is_blob()
        macro.
      b1a0f67a
  2. 30 Dec, 2004 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 15017480
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg7297
      
      
      15017480
    • unknown's avatar
      Fix for bug #7515 "from_unixtime(0) now returns NULL instead of · 1ffd688a
      unknown authored
      the Epoch". (With after review fixes).
      
      
      mysql-test/r/func_time.result:
        Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
        the Epoch".
      mysql-test/t/func_time.test:
        Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
        the Epoch".
      sql/item_timefunc.cc:
        Item_func_from_unixtime:
         from_unixtime(0) should return Epoch instead of NULL.
      sql/item_timefunc.h:
        Item_func_from_unixtime:
         - Removed unused method definition.
         - fix_length_and_dec() should set maybe_null to true since now
           from_unixtime() can return NULL even in case when none of its
           arguments is NULL.
      1ffd688a
  3. 27 Dec, 2004 2 commits
    • unknown's avatar
      row0mysql.c: · 4ba981e5
      unknown authored
        Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
      
      
      innobase/row/row0mysql.c:
        Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
      4ba981e5
    • unknown's avatar
      row0ins.c: · a7b984d2
      unknown authored
        Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
      row0mysql.c:
        Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
      
      
      innobase/row/row0mysql.c:
        Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
      innobase/row/row0ins.c:
        Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
      a7b984d2
  4. 24 Dec, 2004 1 commit
  5. 23 Dec, 2004 3 commits
    • unknown's avatar
      Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0 · 8feedada
      unknown authored
      into sinisa.nasamreza.org:/mnt/work/mysql-4.0
      
      
      8feedada
    • unknown's avatar
      Fix for a bug #7495 · 8ccfad76
      unknown authored
      
      mysql-test/r/func_str.result:
        result for test case for a bug in QUOTE() (Bug #7495)
      mysql-test/t/func_str.test:
        test case for a bug in QUOTE() (Bug #7495)
      sql/item_strfunc.cc:
        a better fix for a QUOTE() bug (Bug #7495)
      8ccfad76
    • unknown's avatar
      Make GRANTs, which change SSL attributes and/or user limits, · 4a5ca0bc
      unknown authored
      to behave well on 5.0 tables (well now you can't use tables from 4.1
      and 5.0 with 4.0 because former use utf8, but still it is nice to have
      similar code in acl_init() and replace_user_table()).
      This also will make such GRANTs working in 5.0 (they are broken now).
      
      
      mysql-test/r/grant.result:
        Added test for GRANT which manipulates user limits.
      mysql-test/t/grant.test:
        Added test for GRANT which manipulates user limits.
      4a5ca0bc
  6. 22 Dec, 2004 2 commits
    • unknown's avatar
      A fix for the bug #7495 · 74cc635a
      unknown authored
      
      mysql-test/r/func_str.result:
        A result for test case for the bug #7495 involving either LTRIM() 
        or TRIM() within QUOTE() function.
      mysql-test/t/func_str.test:
        A test case for the bug #7495 involving either LTRIM() or TRIM() 
        within QUOTE() function.
      sql/item_strfunc.cc:
        Changes for LTRIM() and TRIM() functions that aleviate the bug  
        entirely.
      74cc635a
    • unknown's avatar
      ha_innodb.cc: · e6dfed9f
      unknown authored
        If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
      
      
      sql/ha_innodb.cc:
        If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
      e6dfed9f
  7. 21 Dec, 2004 2 commits
    • unknown's avatar
      os0file.c: · fed35d92
      unknown authored
        Put back accidentally removed undef and remove a debug def
      
      
      innobase/os/os0file.c:
        Put back accidentally removed undef and remove a debug def
      fed35d92
    • unknown's avatar
      os0file.c: · b0d26c26
      unknown authored
        Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
      
      
      innobase/os/os0file.c:
        Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
      b0d26c26
  8. 20 Dec, 2004 1 commit
    • unknown's avatar
      configure.in: · 9cee9f69
      unknown authored
        Increment from 4.0.23 to 4.0.24
      
      
      configure.in:
        Increment from 4.0.23 to 4.0.24
      9cee9f69
  9. 18 Dec, 2004 5 commits
  10. 16 Dec, 2004 5 commits
  11. 13 Dec, 2004 1 commit
    • unknown's avatar
      dict0load.c: · f40f838f
      unknown authored
        dict_load_table(): detect the new table format of MySQL 5.0.3
      
      
      innobase/dict/dict0load.c:
        dict_load_table(): detect the new table format of MySQL 5.0.3
      f40f838f
  12. 11 Dec, 2004 3 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0 · b18e8c92
      unknown authored
      into mysql.com:/dbdata/psergey/mysql-4.0-bug6976
      
      
      b18e8c92
    • unknown's avatar
      Fix for BUG#6976: · b5c119e7
      unknown authored
      In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the 
      same as in (*ref), because Item_ref::fix_fields() will not be called.  Previously 
      maybe_null was 0 always and this produced a bogus state where 
      maybe_null==0 && is_null() == true 
      which broke evaluation for some upper-level Items, like AND and OR.
      
      
      mysql-test/r/group_by.result:
        Test for BUG#6976
      mysql-test/t/group_by.test:
        Test for BUG#6976
      sql/item.cc:
        Comment added
      sql/item.h:
        Fix for BUG#6976:
          in Item_ref::Item_ref(Item**...) fix all fields because fix_fields() will not be called.
      b5c119e7
    • unknown's avatar
      Fix for BUG#5837 - attempt 3. · 8e4251dd
      unknown authored
        Call mark_as_null_row in join_read_const and join_read_system.
      
      
      mysql-test/r/multi_update.result:
        Testcase for BUG#5837
      mysql-test/t/multi_update.test:
        Testcase for BUG#5837
      sql/table.h:
        Added comments
      8e4251dd
  13. 10 Dec, 2004 2 commits
    • unknown's avatar
      Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.0 · 96a927b5
      unknown authored
      into hundin.mysql.fi:/home/marko/k/mysql-4.0
      
      
      96a927b5
    • unknown's avatar
      dict0dict.h, dict0dict.c, ha_innodb.cc: · c486461e
      unknown authored
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      
      
      sql/ha_innodb.cc:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      innobase/dict/dict0dict.c:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      innobase/include/dict0dict.h:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      c486461e
  14. 09 Dec, 2004 1 commit
    • unknown's avatar
      srv0srv.c: · f4f4e636
      unknown authored
        srv_printf_innodb_monitor(): Removed extraneous rewind() call.
        The caller of this function calls rewind() if necessary.
        In this way, we avoid rewind()ing stderr in
        srv_lock_timeout_and_monitor_thread().
      
      
      innobase/srv/srv0srv.c:
        srv_printf_innodb_monitor(): Removed extraneous rewind() call.
        The caller of this function calls rewind() if necessary.
        In this way, we avoid rewind()ing stderr in
        srv_lock_timeout_and_monitor_thread().
      f4f4e636
  15. 07 Dec, 2004 2 commits
  16. 02 Dec, 2004 2 commits
    • unknown's avatar
      Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when the · 9286d1c1
      unknown authored
      insertion of new records partially failed. It would get logged because of the
      logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back
      in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled
      back on failure, even for non-transactional tables. (Bug #6682)
      (Original fix reimplemented after review by Serg and Guilhem.)
      
      
      mysql-test/t/insert_select.test:
        Add test case for Bug #6682
      mysql-test/r/insert_select.result:
        Add results for test case for Bug #6682
      sql/sql_table.cc:
        moved tmp_disable_binlog() and reenable_binlog macros to sql/sql_class.h
      sql/sql_insert.cc:
        disable binlog during call to super's ::send_error in select_create class
      sql/sql_class.h:
        add select_create::send_error()
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      9286d1c1
    • unknown's avatar
      A fix (bug #6878: Crash with engine=memory). · a845e882
      unknown authored
      
      heap/hp_open.c:
        A fix (bug #6878: Crash with engine=memory).
        Record length should be >= sizeof(byte*).
      a845e882
  17. 30 Nov, 2004 1 commit
    • unknown's avatar
      two-line fix for BUG#6732 "FLUSH TABLES WITH READ LOCK + COMMIT makes next... · 352ad815
      unknown authored
      two-line fix for BUG#6732 "FLUSH TABLES WITH READ LOCK + COMMIT makes next FLUSH...LOCK hang forever"
      (originally reported as "second run of innobackup hangs forever and can even hang server").
      Plus testcase for the bugfix and comments about global read locks.
      
      
      mysql-test/r/flush_block_commit.result:
        result update
      mysql-test/t/flush_block_commit.test:
        testing bugfix (originally: second run of innobackup hangs)
      sql/lock.cc:
        When we are in start_waiting_global_read_lock(), if we ourselves have
        the global read lock, there is nothing to start. This makes a pair with how 
        wait_if_global_read_lock() behaves when we ourselves have the global read lock.
        Previously, start_waiting_global_read_lock() decremented protect... whereas wait_if_global_read_lock()
        hadn't incremented it => very wrong => hangs.
        Descriptive comments on how global read lock works.
      352ad815
  18. 26 Nov, 2004 2 commits
    • unknown's avatar
      srv0srv.c: · 59abcd44
      unknown authored
        srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
        only if --innodb_status_file=1
      
      
      innobase/srv/srv0srv.c:
        srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file
        only if --innodb_status_file=1
      59abcd44
    • unknown's avatar
      Fixes while reviewing code · 60af9206
      unknown authored
      (Cleanups and better bug fixes)
      
      
      mysql-test/r/select.result:
        Fixed test after wrong merge
      mysql-test/t/select.test:
        Fixed test after wrong merge
      scripts/mysql_fix_privilege_tables.sh:
        Don't read defaults files
      sql/item_cmpfunc.cc:
        Fix wrong value for not_null_tables_cache
      sql/item_cmpfunc.h:
        Remove wrong patch (flags are set in fix_length_and_dec())
      sql/item_func.h:
        Fix wrong value for not_null_tables_cache
      sql/slave.cc:
        Fixed indentation
      60af9206
  19. 25 Nov, 2004 2 commits