1. 17 May, 2007 1 commit
    • unknown's avatar
      Addition to fix for · 6e09887f
      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.
      6e09887f
  2. 16 May, 2007 1 commit
    • unknown's avatar
      BUG#25712 - insert delayed and check table run together report crashed · e1e83a8b
      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.
      e1e83a8b
  3. 28 Apr, 2007 1 commit
    • unknown's avatar
      BUG#27998 - mysqld crashed when executing INSERT DELAYED · 0eaf9739
      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.
      0eaf9739
  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 · a8f639fc
      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)
      a8f639fc
  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 · 4e387d6c
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/41
      
      
      4e387d6c
    • unknown's avatar
      Merge trift2.:/MySQL/M41/test-help-4.1 · f7fae982
      unknown authored
      into  trift2.:/MySQL/M41/push-4.1
      
      
      f7fae982
    • unknown's avatar
      Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE · 50e15840
      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.
      50e15840
  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 · 202f34e2
      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.
      202f34e2
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb · 70d753c6
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt
      
      
      70d753c6
  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 · cb8f4d40
      unknown authored
      into  mysql.com:/home/kent/bk/tmp3/mysql-4.1-build
      
      
      cb8f4d40
    • unknown's avatar
      BUG#24342 - Incorrect results with query over MERGE table · 6866ca00
      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.
      6866ca00
    • unknown's avatar
      Update result(which mysterioulsy got lost) · 247c3a81
      unknown authored
      247c3a81
    • unknown's avatar
      da43360e
    • unknown's avatar
      Init dying to 1 just after passing the guard · 3120134a
      unknown authored
      3120134a
    • unknown's avatar
      Add OPT_LOG_DIR · 3f96702b
      unknown authored
      3f96702b
    • unknown's avatar
      Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1 · 76f5c73b
      unknown authored
      into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
      
      
      76f5c73b
    • unknown's avatar
      Add --logdir option ot mysqltest · 5565d329
      unknown authored
      5565d329
    • unknown's avatar
      Merge 192.168.0.4:mysql/mysql-4.1-maint · 8163d5ec
      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
      8163d5ec
  15. 07 Apr, 2007 2 commits
  16. 05 Apr, 2007 3 commits
    • unknown's avatar
      Add "query_sorted" command to mysqltest · e3e600bc
      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
      e3e600bc
    • unknown's avatar
      Protect against dying twice · 390a0ede
      unknown authored
      Cleanup exit handling
      
      
      390a0ede
    • unknown's avatar
      Deleted reject files accidently checked in · f76ab0c4
      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
      f76ab0c4
  17. 04 Apr, 2007 4 commits