1. 09 Jan, 2007 2 commits
    • unknown's avatar
      Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0 · 2dab449f
      unknown authored
      into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
      
      
      2dab449f
    • unknown's avatar
      BUG#23443: user-defined variables can consume too much memory in the · 4fe1561f
      unknown authored
                 server
      
      The problem was that when memory was exhausted HEAP engine could crash
      (GROUP BY uses HEAP TABLE).  Alternatively, if SET was used, it could
      report an error "You may only use constant expressions with SET" instead
      of "Out of memory (Needed NNNNNN bytes)".
      
      The solution is:
       - pass MY_WME to (some) calls to my_malloc() to get correct message.
       - fix heap_write() so that the first key is skipped during cleanup
         on ENOMEM because it wasn't inserted and doesn't have to be
         deleted.
      
      No test case is provided because we can't test out-of-memory behaviour
      in our current test framework.
      
      
      heap/hp_block.c:
        If allocation fails, write an error message.
      heap/hp_write.c:
        On ENOMEM, skip the first key in cleanup, as it wasn't inserted yet.
      sql/item_func.cc:
        Add MY_WME so that OOM error will be reported.
      4fe1561f
  2. 03 Jan, 2007 1 commit
  3. 07 Nov, 2006 3 commits
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/lic/my40-lic · f168d7d8
      unknown authored
      into  mysql.com:/Users/kent/mysql/bk/mysql-4.0
      
      
      f168d7d8
    • unknown's avatar
      make_binary_distribution.sh: · 22655de1
      unknown authored
        Added LICENSE.mysql, removed LICENSE.doc README.NW.
        Removed obselete section about MySQLEULA.txt and README.NW.
      README:
        Added reference to the EXCEPTIONS-CLIENT file.
        Changed reference to the commercial license file.
        Corrected references into chapters in the manual.
      .del-MySQLEULA.txt~4a1afd9284f9be5a:
        Delete: Docs/MySQLEULA.txt
      
      
      README:
        Added reference to the EXCEPTIONS-CLIENT file.
        Changed reference to the commercial license file.
        Corrected references into chapters in the manual.
      BitKeeper/deleted/.del-MySQLEULA.txt~4a1afd9284f9be5a:
        Delete: Docs/MySQLEULA.txt
      scripts/make_binary_distribution.sh:
        Added LICENSE.mysql, removed LICENSE.doc README.NW.
        Removed obselete section about MySQLEULA.txt and README.NW.
      22655de1
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint · 06a2c312
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-4.0
      
      
      06a2c312
  4. 06 Nov, 2006 2 commits
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my40-bug23010 · 94a2b704
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
      
      
      94a2b704
    • unknown's avatar
      Bug#23010 _my_b_read() passing illegal file handles to my_seek() · 51a360a0
      unknown authored
      - The io cache flag seek_not_done was not set properly in the 
        reinit_io_cache function call and this led my_seek to be called
        desipite an invalid file handle.
      - Added a test in reinit_io_cache to ensure we have a valid file 
        handle before setting seek_not_done flag.
      
      
      mysys/mf_iocache.c:
        Added a test to only trigger my_seek function calls if we have
        a valid file descriptor.
      mysys/my_seek.c:
        Refactored incomplete condition into an assertion. This also ensures
        that variable newpos is initialized properly.
      51a360a0
  5. 17 Oct, 2006 1 commit
  6. 13 Oct, 2006 1 commit
  7. 02 Oct, 2006 1 commit
  8. 29 Sep, 2006 1 commit
  9. 28 Sep, 2006 1 commit
    • unknown's avatar
      Bug#22384 - DELETE FROM table causes "Incorrect key file for table" · 24a1e6f6
      unknown authored
      Deletes on a big index could crash the index when it needs to
      shrink.
      
      Put a forgotten negation operator in.
      
      No test case. It is too big for the test suite. And it does not
      work with 4.0, only with higher versions. It is attached to the
      bug report.
      
      
      myisam/mi_delete.c:
        Bug#22384 - DELETE FROM table causes "Incorrect key file for table"
        Put a negation operator ('!') before _mi_get_last_key() in del().
        It returns NULL on error, non-NULL on success.
      24a1e6f6
  10. 27 Sep, 2006 1 commit
  11. 23 Sep, 2006 1 commit
  12. 22 Sep, 2006 3 commits
  13. 18 Sep, 2006 1 commit
    • unknown's avatar
      BUG#9678: Client library hangs after network communication failure · 0b2a28f5
      unknown authored
                (back-port to 4.0)
      
      Socket timeouts in client library were used only on Windows.
      Additionally, in 4.0 write operations erroneously set read timeout.
      
      The solution is to use socket timeouts in client library on all
      systems were they are supported, and to differentiate between read
      and write timeouts.
      
      No test case is provided because it is impossible to simulate network
      failure in current test suite.
      
      
      include/violite.h:
        Add argument to vio_timeout() to determine which timeout should be set:
        for read (false) or for write (true).
      libmysqld/lib_vio.c:
        Add argument to vio_timeout() to determine which timeout should be set:
        for read (false) or for write (true).
      sql/net_serv.cc:
        Add argument to vio_timeout() to determine which timeout should be set:
        for read (false) or for write (true).
      vio/viosocket.c:
        Add argument to vio_timeout() to determine which timeout should be set:
        for read (false) or for write (true).
        Implement socket timeouts on POSIX systems.
      0b2a28f5
  14. 15 Sep, 2006 1 commit
    • unknown's avatar
      Bug #4053: too many of "error 1236: 'binlog truncated in the middle of event' from master" · d7a1f97c
      unknown authored
      - Fix my_read/my_write to handle return values from read/write correctly
      - Add debugging 'deprecated function' warning to my_lread/my_lwrite
      - Add debugging 'error, read/write interrupt not handled' warning to my_quick_read/my_quick_write
      
      There is no test case associated with these changes.  However, this is a conservative change,
      and no repeatable test case is available.
      
      
      mysys/my_lread.c:
        Warn about using deprecated function.
      mysys/my_lwrite.c:
        Warn about using deprecated function.
      mysys/my_pread.c:
        Handle interrupted read() or write() (EINTR) properly
      mysys/my_quick.c:
        Warn about interrupted read() or write(), which is not
        handled by my_quick_read() or my_quick_write().
      mysys/my_read.c:
        Handle interrupted read() (EINTR) properly
      mysys/my_write.c:
        Handle interrupted write() (EINTR) properly
      d7a1f97c
  15. 07 Sep, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of · 71314617
      unknown authored
                  "concurrent insert"
      Additional fix for full keys and test case.
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional fix for full keys.
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional results.
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is subject of
                    "concurrent insert"
        Additional test case.
      71314617
  16. 06 Sep, 2006 1 commit
  17. 31 Aug, 2006 1 commit
  18. 30 Aug, 2006 1 commit
    • unknown's avatar
      Bug#4053: too many of "error 1236: 'binlog truncated in the middle of \ · 626abc52
      unknown authored
      	event' from master"
      
      Since there is no repeatable test case, and this is obviously wrong, this is
      the most conservative change that might possibly work.  
      
      The syscall  read()  wasn't checked for a negative return value for an
      interrupted read.  The kernel  sys_read()  returns -EINTR, and the "library" 
      layer maps that to return value of -1 and sets  errno  to EINTR.  It's 
      impossible (on Linux) for  read()  to set errno EINTR without the return 
      value being -1 .
      
      So, if we're checking for EINTR behavior, we should not require that the
      return value be zero.
      
      
      mysys/my_read.c:
        The read() syscall should check for negative one, since that (usually) signals
        errors (like being interrupted) and zero (usually) signals end-of-file .
      626abc52
  19. 29 Aug, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is · 7d600f71
      unknown authored
                  subject of "concurrent insert"
      Better fix by Monty: "The previous bug fix didn't work
      when using partial keys."
      
      
      mysql-test/r/myisam.result:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Added test result
      mysql-test/t/myisam.test:
        Bug#14400 - Query joins wrong rows from table which is
                    subject of "concurrent insert"
        Added test case
      7d600f71
  20. 10 Aug, 2006 1 commit
    • unknown's avatar
      Better bug fix for #14400 "Query joins wrong rows from table which is subject... · dcb66590
      unknown authored
      Better bug fix for #14400 "Query joins wrong rows from table which is subject of "concurrent insert""
      The previous bug fix didn't work when using partial keys.
      Don't use GNUC min/max operations are they are depricated.
      Fixed valgrind warning
      
      
      BitKeeper/etc/ignore:
        Added */.libs/*
      include/my_global.h:
        Don't use GNUC min/max operations are they are depricated
      myisam/mi_rkey.c:
        Better bug fix for #14400 "Query joins wrong rows from table which is subject of "concurrent insert""
        The previous bug fix didn't work when using partial keys.
      myisam/mi_test_all.res:
        Updated results to match mi_test_all.sh
      myisam/mi_test_all.sh:
        Removed confusing warning
      mysql-test/r/myisam.result:
        Added test case for #14400
      mysql-test/t/myisam.test:
        Added test case for #14400
      sql/sql_select.cc:
        Fixed valgrind warning (in field_string::val_int())
      dcb66590
  21. 29 Jul, 2006 1 commit
    • unknown's avatar
      configure.in: · 189a6879
      unknown authored
        Corrected typo
      
      
      configure.in:
        Corrected typo
      189a6879
  22. 28 Jul, 2006 3 commits
    • unknown's avatar
      Makefile.am, configure.in: · d1fde0f7
      unknown authored
        Man page for mysqld command move to section 8 (bug#21220)
      
      
      configure.in:
        Man page for mysqld command move to section 8 (bug#21220)
      man/Makefile.am:
        Man page for mysqld command move to section 8 (bug#21220)
      d1fde0f7
    • unknown's avatar
      make_binary_distribution.sh: · 6f65bffe
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      scripts/make_binary_distribution.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      6f65bffe
    • unknown's avatar
      mysql.spec.sh: · a811cc0a
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      support-files/mysql.spec.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      a811cc0a
  23. 26 Jul, 2006 1 commit
  24. 24 Jul, 2006 1 commit
    • unknown's avatar
      mwasmnlm, mwccnlm, mwldnlm: · ea123dac
      unknown authored
        Filter out strange control characters, messes up logs
      
      
      netware/BUILD/mwasmnlm:
        Filter out strange control characters, messes up logs
      netware/BUILD/mwccnlm:
        Filter out strange control characters, messes up logs
      netware/BUILD/mwldnlm:
        Filter out strange control characters, messes up logs
      ea123dac
  25. 21 Jul, 2006 1 commit
    • unknown's avatar
      Bug#20719 - Reading dynamic records with write buffer could fail · a611fbf1
      unknown authored
      Fixed a possible problem with reading of dynamic records
      when a write cache is active. The cache must be flushed
      whenever a part of the file in the write cache is to be 
      read.
      
      Added a read optimization to _mi_read_dynamic_record().
      
      No test case. This was a hypothetical but existing problem.
      
      
      myisam/mi_dynrec.c:
        Bug#20719 - Reading dynamic records with write buffer could fail
        
        Fixed a possible problem with reading of dynamic records
        when a write cache is active. The cache must be flushed
        whenever a part of the file in the write cache is to be 
        read. This must be done before the read of the header
        and before the read of the rest block.
        
        Renamed the 'flag' and 'skipp_deleted_blocks' variables.
        
        Added a read optimization to _mi_read_dynamic_record()
        that was present in _mi_read_rnd_dynamic_record() already.
        After _mi_get_block_info() we have some bytes of the record
        in the header buffer already. No need to read them again.
      a611fbf1
  26. 08 Jul, 2006 1 commit
  27. 07 Jul, 2006 2 commits
  28. 05 Jul, 2006 1 commit
  29. 01 Jul, 2006 1 commit
    • unknown's avatar
      Bug#19006: 4.0 valgrind problems (in test func_str) · 861096a5
      unknown authored
      On exactly-sized Strings, the String::c_ptr() function peeked beyond the
      end of the buffer, possibly into unititialized space to see whether the 
      buffer was NUL-terminated.
      
      In a place that did peek improperly, we now use a c_ptr_safe() function, 
      which doesn't peek where it shouldn't.
      
      
      client/sql_string.h:
        Back-port String::c_ptr_safe().
      sql/item_func.h:
        Describe side-effect behavior.
      sql/item_strfunc.cc:
        Use the "_safe" version of c_ptr to avoid looking for a terminating 
        NUL character outside the initialized memory area.  Valgrind hates it 
        when one does that, and it theoretically could lead to a SEGV.
      sql/sql_string.h:
        Back-port String::c_ptr_safe().
      861096a5
  30. 28 Jun, 2006 1 commit
    • unknown's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" · 7aa26e26
      unknown authored
      It was possible that fetching a record by an exact key value 
      (including the record pointer) could return a record with a 
      different key value. This happened only if a concurrent insert 
      added a record with the searched key value after the fetching 
      statement locked the table for read.
      
      The search succeded on the key value, but the record was
      rejected as it was past the file length that was remembered
      at start of the fetching statement. With other words it was 
      rejected as being a concurrently inserted record.
      
      The action to recover from this problem was to fetch the 
      record that is pointed at by the next key of the index. 
      This was repeated until a record below the file length was 
      found.
      
      I do now avoid this loop if an exact match was searched. 
      If this match is beyond the file length, it is now treated 
      as "key not found". There cannot be another key with the 
      same record pointer.
      
      
      myisam/mi_rkey.c:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Added a check for exact key match before searching for
        the next key that was not concurrently inserted. If an
        exact key match finds a concurrently inserted row, this
        must be treated as "key not found".
      sql/sql_class.cc:
        Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
        Fixed some DBUG_ENTER strings.
      7aa26e26
  31. 27 Jun, 2006 1 commit