1. 17 May, 2007 2 commits
    • unknown's avatar
      Addition to fix for · b0e40b36
      unknown authored
      BUG#25712 - insert delayed and check table run together report crashed
                  tables
      Fixed wrongly applied patch.
      
      b0e40b36
    • unknown's avatar
      Addition to fix for · 1286c1c3
      unknown authored
      BUG#25712 - insert delayed and check table run together report
                  crashed tables
      
      Let MY_THREADSAFE have distinct value. Some functions call my_seek
      passing MyFlags argument directly to it. This may cause unnecessary
      locks, which may finally lead to a dead-lock (specifically see my_lock).
      
      
      include/my_sys.h:
        Addition to fix for
        BUG#25712 - insert delayed and check table run together report
                    crashed tables
        
        Let MY_THREADSAFE have distinct value. Some functions call my_seek
        passing MyFlags argument directly to it. This may cause unnecessary
        locks, which may finally lead to a dead-lock (specifically see my_lock).
        
        Also it doesn't affect my_pread/my_pwrite in any way. So the comment was
        updated.
      1286c1c3
  2. 16 May, 2007 1 commit
    • unknown's avatar
      BUG#25712 - insert delayed and check table run together report crashed · fe7b572a
      unknown authored
                  tables
      
      In case system doesn't have native pread/pwrite calls (e.g. Windows)
      and there is CHECK TABLE runs concurrently with another statement that
      reads from a table, the table may be reported as crashed.
      
      This is fixed by locking file descriptor when my_seek is executed on
      MyISAM index file and emulated pread/pwrite may be executed concurrently.
      
      Affects MyISAM tables on platforms that do not have native
      pread/pwrite calls (e.g. Windows).
      
      No deterministic test case for this bug.
      
      
      myisam/mi_check.c:
        Key file descriptor is shared among threads and mixed set of
        my_pread/my_pwrite and my_seek calls is possible. This is not
        a problem on systems that have native pread/pwrite calls.
        
        In case system doesn't have native pread/pwrite calls (e.g. Windows)
        we must ensure that my_pread/my_pwrite are not executed at the same
        time with my_seek. This is done by passing MY_THREADSAFE flag to
        my_seek.
      mysys/my_seek.c:
        On platforms that do not have native pread/pwrite calls (e.g. Windows)
        these calls are emulated as follow: lock fd, lseek, read, unlock fd.
        
        In case file descriptor is shared among threads, where one thread
        executes my_pread and another thread executes my_seek, we may read
        from a wrong position. This may happen because my_seek doesn't lock
        fd and thus may be executed by another thread after emulated pread
        has done lseek and before it has done read.
        
        To fix problem mentioned above we introduce new flag MY_THREADSAFE to
        my_seek, which is meaningful only in case pread/pwrite calls are
        emulated. If this flag is set, lseek operation is performed as follow:
        lock fd, seek, unlock fd.
      fe7b572a
  3. 28 Apr, 2007 1 commit
    • unknown's avatar
      BUG#27998 - mysqld crashed when executing INSERT DELAYED · c20b0ff5
      unknown authored
                  on a BLACKHOLE table
      
      Using INSERT DELAYED on BLACKHOLE tables could lead to server
      crash.
      
      This happens because delayed thread wants to upgrade a lock,
      but BLACKHOLE tables do not have locks at all.
      
      This patch rejects attempts to use INSERT DELAYED on MERGE
      tables.
      
      
      mysql-test/r/blackhole.result:
        A test case for BUG#27998.
      mysql-test/t/blackhole.test:
        A test case for BUG#27998.
      sql/ha_blackhole.h:
        Removed HA_CAN_INSERT_DELAYED flag from table_flags().
        The insert delayed thread upgrades the lock. Hence it is
        incapable to handle BLACKHOLE tables, which do not have
        locks at all.
      c20b0ff5
  4. 26 Apr, 2007 2 commits
  5. 24 Apr, 2007 2 commits
  6. 23 Apr, 2007 2 commits
  7. 20 Apr, 2007 1 commit
    • unknown's avatar
      Bug#27704: incorrect comparison of rows with NULL components · 986508fc
      unknown authored
      Support for NULL components was incomplete for row comparison,
      fixed.  Added support for abort_on_null at compare_row() like
      in 5.x
      
      
      sql/item_cmpfunc.h:
        Bug#27704: incorrect comparison of rows with NULL components
        Added support for abort_on_null at Item_bool_func2
        like in 5.x
      sql/item_cmpfunc.cc:
        Bug#27704: incorrect comparison of rows with NULL components
        Support for NULL components was incomplete for row comparison,
        fixed. Added support for abort_on_null at compare_row() like
        in 5.x
      mysql-test/t/row.test:
        Test case updated for Bug#27704 (incorrect comparison 
        of rows with NULL components)
      mysql-test/r/row.result:
        Test case updated for Bug#27704 (incorrect comparison 
        of rows with NULL components)
      mysql-test/r/subselect.result:
        Test case updated for Bug#27704 (incorrect comparison 
        of rows with NULL components)
      986508fc
  8. 19 Apr, 2007 1 commit
  9. 18 Apr, 2007 1 commit
  10. 17 Apr, 2007 3 commits
    • unknown's avatar
      Merge siva.hindu.god:/home/tsmith/m/bk/41 · 81615ee5
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/41
      
      81615ee5
    • unknown's avatar
      Merge trift2.:/MySQL/M41/test-help-4.1 · d78bbe73
      unknown authored
      into  trift2.:/MySQL/M41/push-4.1
      
      d78bbe73
    • unknown's avatar
      Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE · b4308370
      unknown authored
      Added missed DROP privilege check on the original table for RENAME TABLE command.
      
      
      mysql-test/r/grant.result:
        Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
          - test result.
      mysql-test/t/grant.test:
        Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
          - test case.
      sql/sql_parse.cc:
        Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
          - added DROP privilege check on the original table for RENAME TABLE command.
      b4308370
  11. 14 Apr, 2007 1 commit
  12. 12 Apr, 2007 2 commits
    • unknown's avatar
      BUG#25951 - ignore/use index does not work with fulltext · e6c8d34c
      unknown authored
      IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT
      index.
      
      With this fix these hints are ignored. For regular indexes we may
      perform table scan instead of index lookup when IGNORE INDEX was
      specified. We cannot do this for FULLTEXT in NLQ mode.
      
      
      mysql-test/r/fulltext.result:
        A test case for bug#25951.
      mysql-test/t/fulltext.test:
        A test case for bug#25951.
      sql/item_func.cc:
        IGNOR/USE/FORCE INDEX hints should not be honored when choosing FULLTEXT
        index.
        
        Use proper bitmap, that is not modified by IGNORE/USE/FORCE INDEX hints.
      e6c8d34c
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb · 92447690
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt
      
      92447690
  13. 11 Apr, 2007 4 commits
  14. 10 Apr, 2007 9 commits
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · 31f4583a
      unknown authored
      into  mysql.com:/home/kent/bk/tmp3/mysql-4.1-build
      
      31f4583a
    • unknown's avatar
      BUG#24342 - Incorrect results with query over MERGE table · d64d7f4a
      unknown authored
      MERGE engine may return incorrect values when several representations
      of equal keys are present in the index. For example "groß" and "gross"
      or "gross" and "gross " (trailing space), which are considered equal,
      but have different lengths.
      
      The problem was that key length was not recalculated after key lookup.
      
      Only MERGE engine is affected.
      
      
      myisam/mi_rkey.c:
        info->lastkey gets rewritten by mi_search. Later we recalculate found lastkey
        length. This is done to make sure that mi_rnext_same gets true, found (not
        searched) lastkey length. Searched and found key lengths may be different,
        for example in case searched key is "groß" and found is "gross" or in case
        a key has trailing spaces.
        
        Unfortunately we recalculate found lastkey length only for first
        underlying table. To recalculate found key length for non-first underlying
        table we need to know how much key segments were used to create this key.
        
        When mi_rkey is called for first underlying table of a merge table, store
        offset to last used key segment.
        
        Restore last_used_keyseg variable when mi_rkey is called for non-first
        underlying table.
      myisam/myisamdef.h:
        Added last_used_keyseg variable to MI_INFO. It is used by merge engine to calculate
        key length.
      myisammrg/myrg_rkey.c:
        Pass last used key segment returned by first table key read to other
        table key reads.
      mysql-test/r/merge.result:
        A test case for bug#24342.
      mysql-test/t/merge.test:
        A test case for bug#24342.
      d64d7f4a
    • unknown's avatar
      Update result(which mysterioulsy got lost) · b7069c27
      unknown authored
      b7069c27
    • unknown's avatar
      a18fcdbf
    • unknown's avatar
      Init dying to 1 just after passing the guard · c7abe519
      unknown authored
      c7abe519
    • unknown's avatar
      Add OPT_LOG_DIR · 6a7c5b71
      unknown authored
      6a7c5b71
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1 · d69bca68
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
      
      d69bca68
    • unknown's avatar
      Add --logdir option ot mysqltest · faac6d79
      unknown authored
      faac6d79
    • unknown's avatar
      Merge 192.168.0.4:mysql/mysql-4.1-maint · d9534ea8
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
      
      
      client/mysqltest.c:
        Auto merged
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/t/mysqltest.test:
        Auto merged
      d9534ea8
  15. 07 Apr, 2007 2 commits
  16. 05 Apr, 2007 3 commits
    • unknown's avatar
      Add "query_sorted" command to mysqltest · 5e35a8de
      unknown authored
      Usage:
        query_sorted <query>;
      
      
      client/mysqltest.c:
        Add query_sorted command to mysqltest
      mysql-test/r/mysqltest.result:
        Update result
      mysql-test/t/mysqltest.test:
        Add tests for query_sorted
      5e35a8de
    • unknown's avatar
      Protect against dying twice · 4a468e64
      unknown authored
      Cleanup exit handling
      
      4a468e64
    • unknown's avatar
      Deleted reject files accidently checked in · 9574a500
      unknown authored
        configure.in.rej
        include/my_global.h.rej
        BUILD/SETUP.sh.rej
        mysys/thr_alarm.c.rej
        include/my_pthread.h.rej
      
      
      BitKeeper/deleted/.del-SETUP.sh.rej:
        Delete: BUILD/SETUP.sh.rej
      BitKeeper/deleted/.del-configure.in.rej:
        Delete: configure.in.rej
      BitKeeper/deleted/.del-my_global.h.rej:
        Delete: include/my_global.h.rej
      BitKeeper/deleted/.del-my_pthread.h.rej:
        Delete: include/my_pthread.h.rej
      BitKeeper/deleted/.del-thr_alarm.c.rej:
        Delete: mysys/thr_alarm.c.rej
      9574a500
  17. 04 Apr, 2007 3 commits