1. 18 Apr, 2007 1 commit
  2. 13 Apr, 2007 1 commit
    • unknown's avatar
      BUG#27516 - divide by zero crash during optimize table · f4a5f3c6
      unknown authored
      When a table status is requested by statement like SHOW TABLE
      STATUS and there is another statement (e.g. DELETE) sets
      number of records to 0 concurrently, we may get division by
      zero error, which crashes a server.
      
      This is fixed by using thread local variable x->records instead
      of shared info->state->records when we check if it is zero and
      divide by it.
      
      
      myisam/mi_info.c:
        Information schema does not lock a table when it requests table
        state info. If another thread sets info->state->records to 0
        after we check if it is 0 and before we divide by it we may get
        division by zero error.
        
        Check and divide by local x->records variable instead of shared
        info->state->records.
      f4a5f3c6
  3. 12 Apr, 2007 1 commit
    • 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
  4. 08 Apr, 2007 1 commit
  5. 06 Apr, 2007 4 commits
  6. 05 Apr, 2007 11 commits
  7. 04 Apr, 2007 3 commits
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 · b651aa03
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      b651aa03
    • unknown's avatar
      Bug #26242 UPDATE with subquery and triggers failing with cluster tables · 2efc0f51
      unknown authored
      In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
      subject table didn't see the results of operation which caused invocation
      of those triggers. In other words AFTER trigger invoked as result of update
      (or deletion) of particular row saw version of this row before update (or
      deletion).
      
      The problem occured because NDB handler in those cases postponed actual
      update/delete operations to be able to perform them later as one batch.
      
      This fix solves the problem by disabling this optimization for particular
      operation if subject table has AFTER trigger for this operation defined.
      To achieve this we introduce two new flags for handler::extra() method:
      HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
      These are called if there exists AFTER DELETE/UPDATE triggers during a
      statement that potentially can generate calls to delete_row()/update_row().
      This includes multi_delete/multi_update statements as well as insert statements
      that do delete/update as part of an ON DUPLICATE statement.
      
      
      include/my_base.h:
        Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible.
      mysql-test/r/ndb_trigger.result:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables
        ---
        Added new test cases
      mysql-test/t/ndb_trigger.test:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables
        ---
        Added new test cases
      sql/ha_ndbcluster.cc:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
      sql/ha_ndbcluster.h:
        Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
      sql/mysql_priv.h:
        Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed.
      sql/sql_delete.cc:
        Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible
      sql/sql_insert.cc:
        Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed.
        Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler
         when batching of delete/update is not possible
      sql/sql_load.cc:
        Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and
        mark fields used by triggers for the insert statement.
      sql/sql_trigger.h:
        Added has_triggers to support what particular triggers exist on a table.
      sql/sql_update.cc:
        Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible
      2efc0f51
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0 · 1895cdb3
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50
      
      
      sql/item_func.cc:
        Auto merged
      1895cdb3
  8. 03 Apr, 2007 3 commits
  9. 02 Apr, 2007 15 commits