1. 31 May, 2005 1 commit
    • unknown's avatar
      Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement. · cf2188ca
      unknown authored
      1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
      Used the new option in create_table_from_items().
      It is necessary to prevent the SELECT table from being reopend.
      It would get new storage assigned for its fields, while the
      SELECT part of the command would still use the old (freed) storage.
      2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
      against a global read lock. This prevents a deadlock in
      CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
      and avoids the creation of new tables during a global read lock.
      3.) Replaced set_protect_against_global_read_lock() and
      unset_protect_against_global_read_lock() by
      wait_if_global_read_lock() and start_waiting_global_read_lock()
      in the INSERT DELAYED handling.
      
      
      mysql-test/r/create.result:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added test results.
      mysql-test/t/create.test:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added tests which do not require concurrency.
      sql/lock.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
        Changed the parameter list.
        Removed two unnecessary functions. Their functionality is included in
        wait_if_global_read_lock() and start_waiting_global_read_lock().
      sql/mysql_priv.h:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Changed the declaration of mysql_lock_tables().
        Added definitions for the new options.
      sql/sql_acl.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_base.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_handler.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_insert.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Replaced set_protect_against_global_read_lock() and
        unset_protect_against_global_read_lock() by
        wait_if_global_read_lock() and start_waiting_global_read_lock()
        in the INSERT DELAYED handling.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_parse.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
        against a global read lock. This prevents a deadlock in
        CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
        and avoids the creation of new tables during a global read lock.
      sql/sql_table.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
        Used the new option in create_table_from_items().
      cf2188ca
  2. 26 May, 2005 2 commits
  3. 25 May, 2005 1 commit
  4. 18 May, 2005 2 commits
  5. 15 May, 2005 2 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0 · b11b13e9
      unknown authored
      into mysql.com:/home/psergey/mysql-4.0-bug10095
      
      
      b11b13e9
    • unknown's avatar
      Fix for BUG#10095: {wrong query results because of incorrect constant propagation} · 06736ab4
      unknown authored
      The problem: base_list::remove didn't modify base_list::last when removing 
      the last list element.
      The fix: If we remove the last element, find the element before it (by walking
      from the beginning of the list) and set base_list::last accordingly.
      
      The list gets corrupted in both 4.0 and 4.1. There are no visible problems in 
      current 4.1 because current 4.1 doesn't call where_cond->fix_fields() after 
      constant propagation step.
      
      
      mysql-test/r/select.result:
        Testcase for BUG#10095
      mysql-test/t/select.test:
        Testcase for BUG#10095
      sql/sql_list.h:
        Fix for BUG#10095: {wrong query results because of incorrect constant propagation} 
        The problem: base_list::remove didn't modify base_list::last when removing 
        the last list element.
        The fix: If we remove the last element, find the element before it (by walking
        from the beginning of the list) and set base_list::last accordingly.
      06736ab4
  6. 14 May, 2005 1 commit
  7. 13 May, 2005 2 commits
    • unknown's avatar
      Fixed wrong buffer usage for auto-increment key with blob part that caused... · cdd6bc9b
      unknown authored
      Fixed wrong buffer usage for auto-increment key with blob part that caused CHECK TABLE to report that the table was wrong. (Bug #10045)
      
      
      myisam/mi_key.c:
        Fixed wrong buffer usage for auto-increment key with blob part that caused
        CHECK TABLE to report that the table was wrong. (Bug #10045)
      mysql-test/r/auto_increment.result:
        New test case
      mysql-test/t/auto_increment.test:
        New test case
      cdd6bc9b
    • unknown's avatar
      Change create_field->offset to store offset from start of fields, independent of null bits. · 7c441dd1
      unknown authored
      Count null_bits separately from field offsets and adjust them in case of primary key parts.
      (Previously a CREATE TABLE with a lot of null fields that was part of a primary key caused MySQL to wrongly count the number of bytes needed to store null bits)
      This is a more complete bug fix for #6236
      
      
      mysql-test/r/alter_table.result:
        More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
      mysql-test/t/alter_table.test:
        More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
      sql/handler.h:
        Add counter for null fields
      sql/sql_table.cc:
        Change create_field->offset to store offset from start of fields, independent of null bits.
        Count null_bits separately from field offsets and adjust them in case of primary key parts.
      sql/unireg.cc:
        Change create_field->offset to store offset from start of fields, independent of null bits.
        Count null_bits separately from field offsets and adjust them in case of primary key parts.
      7c441dd1
  8. 11 May, 2005 1 commit
    • unknown's avatar
      mysqldump.1.in: · 913e2e12
      unknown authored
        Remove obsolete section number. (Bug #10534)
      
      
      man/mysqldump.1.in:
        Remove obsolete section number. (Bug #10534)
      913e2e12
  9. 09 May, 2005 1 commit
  10. 08 May, 2005 4 commits
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.0 · 4d1c68f8
      unknown authored
      into ltantony.mysql.com:/usr/home/antony/work2/megapatch-4.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      4d1c68f8
    • unknown's avatar
      Merge ltantony.mysql.com:/usr/home/antony/work2/p4-bug8191 · cdfc786f
      unknown authored
      into ltantony.mysql.com:/usr/home/antony/work2/megapatch-4.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      cdfc786f
    • unknown's avatar
      Bug#8191 - SELECT INTO OUTFILE insists on FROM clause · 3ac2df4e
      unknown authored
        Fix bug + include test case.
        Enable outfile tests.
      
      
      mysql-test/t/outfile.test:
        Reenable outfile tests
        Add test for Bug#8191
      sql/sql_yacc.yy:
        Fix Bug#8191
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      3ac2df4e
    • unknown's avatar
      Bug#6236 · 3e1dad41
      unknown authored
        Incomplete ALTER TABLE breaks MERGE compatibility
        Fix implicit NOT NULL not set on ALTER of PK columns
      
      
      mysql-test/r/alter_table.result:
        Test for Bug#6236
      mysql-test/t/alter_table.test:
        Test for Bug#6236
      sql/sql_table.cc:
        Implicit NOT NULL not set on ALTER of PK columns
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      3e1dad41
  11. 07 May, 2005 8 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0 · 1cdcc4f6
      unknown authored
      into ultrafly.mysql.com:/Users/mwagner/work/bk/mysql-4.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      1cdcc4f6
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.0 · d868738e
      unknown authored
      into mysql.com:/home/svoj/devel/mysql/7709-mysql-4.0
      
      
      BitKeeper/etc/logging_ok:
        auto-union
      d868738e
    • unknown's avatar
      Test fix. DROP TABLE added. · f5f132fd
      unknown authored
      f5f132fd
    • unknown's avatar
      Backport fix for escaping multibyte characters. (Bug #9864) · e584559f
      unknown authored
      
      libmysql/libmysql.c:
        Backport fix for escaping multibyte characters from 4.1
      e584559f
    • unknown's avatar
      errmsg.txt: · 6e13083d
      unknown authored
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      
      
      sql/share/czech/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/danish/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/dutch/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/english/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/estonian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/french/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/german/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/greek/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/hungarian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/italian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/japanese/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/korean/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/norwegian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/norwegian-ny/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/polish/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/portuguese/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/romanian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/russian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/slovak/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/spanish/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/swedish/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      sql/share/ukrainian/errmsg.txt:
        Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      6e13083d
    • unknown's avatar
      BUG#7709 fix - Boolean fulltext query against unsupported engines does not · 1392f482
      unknown authored
      fail.
      
      
      mysql-test/r/innodb.result:
        Test case for BUG#7709 - Boolean fulltext query against
        unsupported engines does not fail added.
      mysql-test/t/innodb.test:
        Test case for BUG#7709 - Boolean fulltext query against
        unsupported engines does not fail added.
      sql/item_func.cc:
        Check if table supports fulltext.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      1392f482
    • unknown's avatar
      Merge lgrimmer@bk-internal.mysql.com:/home/bk/mysql-4.0 · ce41e0de
      unknown authored
      into mysql.com:/space/my/mysql-4.0
      
      
      ce41e0de
    • unknown's avatar
      [backport of 4.1, because 4.0 autobuild now hits the same problem; · 1570873c
      unknown authored
      when merging just use "ul"] In configure.in, don't remove $AVAILABLE_LANGUAGES_ERRORS_RULES at end
      because config.status may later need this file (if it does not find it
      it won't incorporate dependencies of errmsg.sys in sql/share/Makefile).
      In sql/share/Makefile.am using "all:" leads to double-"all:" in Makefile.
      
      
      configure.in:
        Don't remove $AVAILABLE_LANGUAGES_ERRORS_RULES at end of configure.in
        because config.status may later need this file (if it does not find it
        it won't incorporate dependencies of errmsg.sys in sql/share/Makefile :( )
      sql/share/Makefile.am:
        using "all:" leads to double-"all:" in Makefile (counting the auto-generated);
        all-local is the standard way to :
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      1570873c
  12. 06 May, 2005 3 commits
    • unknown's avatar
      - typo fix in BUILD/compile-dist · 8ec23d0e
      unknown authored
      
      BUILD/compile-dist:
        - typo fix
      8ec23d0e
    • unknown's avatar
      - added some required CXXFLAGS to BUILD/compile-dist to allow the distribution... · bc6457fc
      unknown authored
      - added some required CXXFLAGS to BUILD/compile-dist to allow the distribution build to pass without
        unresolved symbols
      
      
      BUILD/compile-dist:
        - added some required CXXFLAGS to allow the distribution build to pass
      bc6457fc
    • unknown's avatar
      Bug#6616 · 079910b6
      unknown authored
        MySQL server 100% CPU if FLUSH TABLES WITH READ LOCK + INSERT
        Infinite loop caused by missing update to thd version.
      
      
      sql/sql_base.cc:
        Bug#6616
          thd version needs to be updated before reopening tables
          to prevent an infinite loop.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      079910b6
  13. 29 Apr, 2005 1 commit
  14. 28 Apr, 2005 2 commits
    • unknown's avatar
      Bug#8321 - myisampack bug in compression algorithm · 994674c0
      unknown authored
      This is the second of three changesets. It contains the pure bug fix.
      It also contains the second after-review fixes.
      The problem was that with gcc on x86, shifts are done modulo word size. 
      'value' is 32 bits wide and shifting it by 32 bits is a no-op.
      This was triggered by an evil distribution of character incidences. 
      A distribution of 2917027827 characters made of 202 distinct values led to
      34 occurrences of 32-bit Huffman codes.
      This might have been the first time ever that write_bits() had to write
      32-bit values. Since it can be expected that one day even 32 bits might
      be insufficient, the third changeset suggests to enlarge some variables
      to 64 bits.
      
      
      994674c0
    • unknown's avatar
      Backport fix from 4.1 for testing whether CXX is gcc. (Bug #9690) · 7a8716d6
      unknown authored
      
      configure.in:
        Use more flexible for test for CXX being gcc.
      7a8716d6
  15. 27 Apr, 2005 1 commit
    • unknown's avatar
      Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock · f63c8f53
      unknown authored
      Added protection against global read lock while creating and
      initializing a delayed insert handler.
      Allowed to ignore a global read lock when locking the table
      inside the delayed insert handler.
      Added some minor improvements.
      
      
      sql/lock.cc:
        Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
        Changed mysql_lock_tables() to allow for ignoring global read lock.
        Added functions to set/unset protection against global read lock.
      sql/mysql_priv.h:
        Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
        Changed existing and added new function declarations.
      sql/sql_insert.cc:
        Bug#7823 - FLUSH TABLES WITH READ LOCK + INSERT DELAYED = deadlock
        Added and extended some comments.
        Added a protection against global read lock while a handler is
        created and initialized.
        Moved the unlock of the delayed insert object past its last usage
        in delayed_get_table().
        Changed the table locking in handle_delayed_insert() so that it
        does not wait for global read lock.
      f63c8f53
  16. 19 Apr, 2005 3 commits
    • unknown's avatar
      - added missing copyright headers to several Makefile.am's (noticed · 1f1a579a
      unknown authored
        while testing changes to the mysql-copyright scripts
      
      
      libmysqld/examples/Makefile.am:
        - added a copyright header
      sql/share/Makefile.am:
        - added a copyright header
      tools/Makefile.am:
        - added a copyright header
      1f1a579a
    • unknown's avatar
      Updated Docs/Makefile.am: · d0b6c364
      unknown authored
      - fixed copyright header and removed obsolete comments about how to
        build the manual using texinfo
      - added an "install-data-hook" to install the mysql.info info page.
        This seems to be the only way to install info pages, if they are not
        built from texinfo sources directly.
      
      
      Docs/Makefile.am:
        - fixed copyright header and removed obsolete comments about how to
          build the manual using texinfo
        - added an "install-data-hook" to install the mysql.info info page.
          This seems to be the only way to install info pages, if they are not
          built from texinfo sources directly.
      d0b6c364
    • unknown's avatar
      - removed COPYING from txt_files of Docs/Makefile.am · c14f0495
      unknown authored
        (it's already in EXTRA_DIST of the toplevel Makefile.am)
      
      
      Docs/Makefile.am:
        - removed COPYING from txt_files (it's already in EXTRA_DIST of the toplevel
          Makefile.am)
      c14f0495
  17. 17 Apr, 2005 1 commit
  18. 15 Apr, 2005 1 commit
  19. 14 Apr, 2005 3 commits