1. 05 Oct, 2004 1 commit
    • unknown's avatar
      Reverted patch for new usage of open_count as it caused more problems than it solved · 0d76cb7e
      unknown authored
      Cleaned up patch for checking locks for multi-table updates
      
      
      myisam/mi_close.c:
        Reverted patch for new usage of open_counts
      myisam/mi_locking.c:
        Reverted patch for new usage of open_counts
      sql/ha_myisam.cc:
        Reverted patch for new usage of open_counts
      sql/handler.cc:
        Removed compiler warning
      sql/sql_acl.cc:
        Removed compiler warning
      sql/sql_table.cc:
        No need to unlock after failed call to external_lock()
      sql/sql_update.cc:
        Cleaned up (and made it more secure) patch for checking locks for multi-table updates
      0d76cb7e
  2. 04 Oct, 2004 2 commits
    • unknown's avatar
      patch fixing after review on patch-fixing of · c0364263
      unknown authored
      Bug #5492 
      "set @@session.read_rnd_buffer_size=33554432" crashes server on query
      
      1. added warning comments for uint3korr (need one more byte allocated)
      2. unsigned long in uint3korr was replaced by unsigned int to 
         avoid problems on 64-bits platforms
      3. shorten warning comments in init_rr_cache in sql/records.cc
      
      
      include/config-win.h:
        1. added warning comments for uint3korr (need one more byte allocated)
        2. unsigned long in uint3korr was replaced by unsigned int to 
           avoid problems on 64-bits platforms
      include/my_global.h:
        1. added warning comments for uint3korr (need one more byte allocated)
        2. unsigned long in uint3korr was replaced by unsigned int to 
           avoid problems on 64-bits platforms
      sql/records.cc:
        shorten warning comments for my_malloc_lock in init_rr_cache
      c0364263
    • unknown's avatar
      Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0 · cef86787
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_5492/mysql-4.0
      
      
      cef86787
  3. 02 Oct, 2004 3 commits
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.0 · 34474695
      unknown authored
      into ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/antony/work/bug4118
      
      
      34474695
    • unknown's avatar
      Merge ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/staff/repositories/mysql-4.0 · 52ee9687
      unknown authored
      into ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/antony/work/bug4118
      
      
      sql/sql_parse.cc:
        Auto merged
      52ee9687
    • unknown's avatar
      Bug#4118: multi-table UPDATE takes WRITE lock on read table · a49f5cae
      unknown authored
        Ensures that WRITE lock is not obtained on all tables referenced.
      
      
      mysql-test/r/lock_multi.result:
        Bug#4118
          New test for multi-update locking
      mysql-test/r/multi_update.result:
        Bug#4118
          Fix test
      mysql-test/t/lock_multi.test:
        Bug#4118
          New test for multi-update locking
      mysql-test/t/multi_update.test:
        Bug#4118
          Fix test
      sql/sql_parse.cc:
        Bug#4118
          Split multi-update to its own case statement in sql_parse.cc
      sql/sql_update.cc:
        Bug#4118
          Overview of locking checking:    
            1. Open and acquire READ lock
            2. Check to see which tables need WRITE lock
            3. Unlock tables and relock
      sql/sql_yacc.yy:
        Bug#4118
          Split multi-update to its own case statement in sql_parse.cc
      a49f5cae
  4. 27 Sep, 2004 1 commit
  5. 26 Sep, 2004 4 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · fb1407d5
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg4131-3
      
      
      sql/sql_parse.cc:
        Auto merged
      fb1407d5
    • unknown's avatar
      Fix for bug #4131 "TIMESTAMP columns missing minutes and seconds when · e6f924ef
      unknown authored
      using GROUP BY"
      Now we are setting Field_timestamp::field_length to 19 in open_table()
      if we are in new mode (and we are restoring it back when we are coming
      back to normal mode). This also should solve potential problems with
      some of LOAD DATA INFILE and SELECT * INTO in this mode.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for bug #4131 'TIMESTAMP columns missing minutes and seconds
        when using GROUP BY' and other --new mode related behavior.
      mysql-test/t/type_timestamp.test:
        Added test for bug #4131 'TIMESTAMP columns missing minutes and seconds
        when using GROUP BY' and other --new mode related behavior.
      sql/field.cc:
        Added Field_timestamp::orig_field_length member for saving original
        field_length value, because this member can be modified if new_mode is
        in effect.
        Lot of Field_timestamp code simplified and Field_timestamp::make_field()
        is no longer needed because we are setting field_length to 19 if we are
        in --new mode now.
      sql/field.h:
        Added Field_timestamp::orig_field_length member for saving original
        field_length value, because this member can be modified if new_mode
        is in effect. 
        Field_timestamp::make_field() is no longer needed because we are setting
        field_length to 19 if we are in --new mode now.
      sql/sql_base.cc:
        If --new mode is in effect all TIMESTAMP fields should pretend that they
        have length of 19. We are achieving this by setting 
        Field_timestamp::field_length to 19 (or original value) in open_table().
        We are using TABLE::timestamp_mode variable for avoiding of unnecessary
        looping over all fields of the table and setting field_length if table
        was used with same new_mode value before.
        
        Note: We do not introduce general framework for setting up Field objects
        for usage with current THD here because this fix is only needed in 4.0
        and Monty said that we will also remove looping over all fields when
        updating table_name member at some point. This more general framework
        will also complicate nice optimization with avoiding of unneeded looping.
      sql/sql_parse.cc:
        Now when we are creating TIMESTAMP(19) fields by default in --new mode,
        otherwise we will have unaligned behavior between ALTER and CREATE.
      sql/table.h:
        Added TABLE::timestamp_mode field for saving information whenever we set 
        field_length members of table's TIMESTAMP fields to 19 (to honor 
        new_mode) or they have original values.
      e6f924ef
    • unknown's avatar
      added --without-man option similar to --without-docs · 85d98034
      unknown authored
      (part of BUG#5379)
      
      
      85d98034
    • unknown's avatar
      make --with-openssl work with parameters as expected, · dc955863
      unknown authored
      old options for include path and library settings still
      work for backwards compatibility
      (fix for BUG #5494)
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      dc955863
  6. 25 Sep, 2004 1 commit
    • unknown's avatar
      Bug #5539 SHOW DATABASES LIKE and symlinks · 550c4eb7
      unknown authored
      sql_show.cc:
        Made change suggested by Serge. REmoved else in mysql_find_files so symlink files fall through to the wildcard check
      
      
      sql/sql_show.cc:
        Made change suggested by Serge. REmoved else in mysql_find_files so symlink files fall through to the wildcard check
      550c4eb7
  7. 24 Sep, 2004 2 commits
    • unknown's avatar
      Fix for BUG#3248 "Doc says MyISAM warns if disk full but it does not": · c8682133
      unknown authored
      we force the message to the error log, and we make it more informative;
      we treat EDQUOT like ENOSPC.
      
      
      mysys/errors.c:
        more informative message
      mysys/my_fstream.c:
        Treat EDQUOT like ENOSPC.
      mysys/my_pread.c:
        Treat EDQUOT like ENOSPC.
      mysys/my_write.c:
        Treat EDQUOT like ENOSPC.
      mysys/mysys_priv.h:
        Define EDQUOT when it does not exist. Finally decided to put it here after discussion with Monty:
        as this constant is used only in 3 files only in mysys/, I don't make it visible everywhere
        (there currently is no file of choice for such defines; my_base.h does not contain any).
        Using a value which never happens avoids collisions.
      sql/mysqld.cc:
        If ME_NOREFRESH, we write message to error log, even if it has been saved for client (because if operation
        is hanging, the message does not get to client now; example is MyISAM waiting for free disk space).
      c8682133
    • unknown's avatar
      Bug #5539 SHOW DATABASES LIKE and symlinks · ecd3172b
      unknown authored
      sql_show.cc:
        Added wild card check to symdir block in mysql_find_files
      
      
      sql/sql_show.cc:
        Added wild card check to symdir block in mysql_find_files
      ecd3172b
  8. 23 Sep, 2004 4 commits
  9. 22 Sep, 2004 3 commits
  10. 20 Sep, 2004 1 commit
    • unknown's avatar
      When coyright text is changed, autotools must be run after all · e4e919f9
      unknown authored
      other actions, as otherwise timestamps of "config.h.in" will 
      cause re-run on compilation machine (fatal version problem!).
      
      
      Build-tools/mysql-copyright:
        1) Ensure that autotools are run as last action, after copyright
        change, for proper timestamps.
        2) Move the trimming of subtrees to an own function "trim_the_fat".
        3) Align 4.0 and 4.1 versions.
      e4e919f9
  11. 19 Sep, 2004 3 commits
  12. 18 Sep, 2004 3 commits
    • unknown's avatar
      Merge mysql.com:/home/mydev/mysql-4.0 · 9dbd8179
      unknown authored
      into mysql.com:/home/mydev/mysql-4.0-bug2831
      
      
      9dbd8179
    • unknown's avatar
      bug#2831 - --extenral-locking does not fully work with --myisam-recover. · a7919a11
      unknown authored
      Changed the semantics of open_count so that it is decremented
      at every unlock (if it was incremented due to data changes).
      So it indicates a crash, if it is non-zero after a lock.
      The table will then be repaired.
      
      
      myisam/mi_close.c:
        bug#2831 - --extenral-locking does not fully work with --myisam-recover.
        To avoid flushing the open_count at every unlock,
        we need to do so at close at least.
      myisam/mi_locking.c:
        bug#2831 - --extenral-locking does not fully work with --myisam-recover.
        open_count is now decremented at unlock (from a writelock) with
        mi_unlock_open_count(). After every new lock the state is read
        from the index file and the open_count checked. If not zero,
        another server must have crashed, so the table is marked as crashed.
        In certain situations the decremented open_count mut be flushed to
        the index file. I tried to keep these extra flushes as seldom as possible.
      sql/ha_myisam.cc:
        bug#2831 - --extenral-locking does not fully work with --myisam-recover.
        Added code to repair the table, if it is marked crashed after
        successful locking and the --myisam-recover option is set.
      sql/sql_table.cc:
        This does not really belong to the bugfix for #2831.
        But it was detected during fixing the external locking.
      a7919a11
    • unknown's avatar
  13. 17 Sep, 2004 1 commit
    • unknown's avatar
      Bug#5553 - Multi table UPDATE IGNORE fails on dup key · e84eb55a
      unknown authored
        We don't want the update to abort when IGNORE is specified
      
      
      mysql-test/r/update.result:
        Bug#5553 - UPDATE IGNORE fails on dup key
          New test
      mysql-test/t/update.test:
        Bug#5553 - UPDATE IGNORE fails on dup key
          New test
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      e84eb55a
  14. 16 Sep, 2004 2 commits
    • unknown's avatar
      dict0dict.h, dict0dict.c, row0row.c, pars0opt.c: · a2d94d92
      unknown authored
        Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
      
      
      innobase/pars/pars0opt.c:
        Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
      innobase/row/row0row.c:
        Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
      innobase/dict/dict0dict.c:
        Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
      innobase/include/dict0dict.h:
        Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
      a2d94d92
    • unknown's avatar
      Fixed Bug #5492 "set @@session.read_rnd_buffer_size=33554432" · d47c79a0
      unknown authored
         crashes server on query
      
      incremented size of allocated buffer in the init_rr_cache(sql/records.cc)
      (
      We are going to read the last three bytes of the buffer via uint3korr
      This macro reads actually 4 bytes (for speed)
      So, we have to allocate one more byte at the end of the buffer 
      to avoid memory assertion fault
      )
      
      
      sql/records.cc:
        incremented size of allocated buffer in the init_rr_cache
        (
        We are going to read the last three bytes of the buffer via uint3korr
        This macro reads actually 4 bytes (for speed)
        So, we have to allocate one more byte at the end of the buffer 
        to avoid memory assertion fault
        )
        Fixed Bug #5492 "set @@session.read_rnd_buffer_size=33554432" 
          crashes server on query
      d47c79a0
  15. 14 Sep, 2004 4 commits
  16. 13 Sep, 2004 4 commits
    • unknown's avatar
      sync0arr.c: · e6503e1e
      unknown authored
        Correct the comment on the 'waiting' field in sync_cell_struct
      
      
      innobase/sync/sync0arr.c:
        Correct the comment on the 'waiting' field in sync_cell_struct
      e6503e1e
    • unknown's avatar
      row0mysql.h: · fb91884f
      unknown authored
        Improve the comment on stored_select_lock_type
      ha_innodb.cc:
        Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
      
      
      sql/ha_innodb.cc:
        Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
      innobase/include/row0mysql.h:
        Improve the comment on stored_select_lock_type
      fb91884f
    • unknown's avatar
    • unknown's avatar
      Fix for bug #4809 (Backticks not handled in mysql) · 4015c585
      unknown authored
      
      client/mysql.cc:
        Code added to handle backticks
      4015c585
  17. 11 Sep, 2004 1 commit
    • unknown's avatar
      os0file.c: · c1e84276
      unknown authored
        Add more precise diagnostics about the state of the I/O threads of InnoDB; print in SHOW INNODB STATUS if the event wait semaphore of each I/O thread is set
      
      
      innobase/os/os0file.c:
        Add more precise diagnostics about the state of the I/O threads of InnoDB; print in SHOW INNODB STATUS if the event wait semaphore of each I/O thread is set
      c1e84276