1. 28 Dec, 2004 2 commits
    • unknown's avatar
      Merge mysql.com:/home/timka/mysql/src/4.1-virgin · c677099b
      unknown authored
      into mysql.com:/home/timka/mysql/src/4.1-dbg
      
      c677099b
    • unknown's avatar
      Fix for BUG#7455. · ab643104
      unknown authored
      The fix checks if the trim string argument is NULL. If so, the standard
      mandates that the function result must be also NULL.
      
      
      mysql-test/r/func_str.result:
        added test result
      mysql-test/t/func_str.test:
        Added test for NULL arguments.
      sql/item_strfunc.cc:
        Test if the trim argument is NULL.
      ab643104
  2. 27 Dec, 2004 18 commits
    • unknown's avatar
      row0mysql.c: · 2f677c3d
      unknown authored
        Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
      
      
      innobase/row/row0mysql.c:
        Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
      2f677c3d
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1 · 7cf58bd1
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-4.1
      
      7cf58bd1
    • unknown's avatar
      Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-4.1 · c219a6c1
      unknown authored
      into mysql.com:/home/bkroot/mysql-4.1
      
      c219a6c1
    • unknown's avatar
      Merge · 29c98c7e
      unknown authored
      
      innobase/row/row0mysql.c:
        SCCS merged
      29c98c7e
    • unknown's avatar
      WL#2319 V2: Exclude tables from dump · 94accc94
      unknown authored
      - Added a hash to keep track of database-table pairs.
      - Specified database-table tables do not get dumped
      
      
      client/client_priv.h:
        WL#2319 V2: Exclude tables from dump
      client/mysqldump.c:
        WL#2319 V2: Exclude tables from dump
      mysql-test/r/mysqldump.result:
        WL#2319 V2: Exclude tables from dump
      mysql-test/t/mysqldump.test:
        WL#2319 V2: Exclude tables from dump
      94accc94
    • unknown's avatar
      row0mysql.c: · 9e893300
      unknown authored
        Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
      
      
      innobase/row/row0mysql.c:
        Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
      9e893300
    • unknown's avatar
      row0mysql.c: · c861b617
      unknown authored
        Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
      
      
      innobase/row/row0mysql.c:
        Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
      c861b617
    • unknown's avatar
      Merge hundin.mysql.fi:/home/heikki/mysql-4.0 · 478a9b77
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-4.1
      
      
      innobase/row/row0ins.c:
        Auto merged
      innobase/row/row0mysql.c:
        Auto merged
      478a9b77
    • unknown's avatar
      row0ins.c: · 5fded139
      unknown authored
        Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
      row0mysql.c:
        Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
      
      
      innobase/row/row0mysql.c:
        Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
      innobase/row/row0ins.c:
        Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
      5fded139
    • unknown's avatar
      Merge mysql.com:/home/timka/mysql/src/4.1-virgin · bcc1098d
      unknown authored
      into mysql.com:/home/timka/mysql/src/4.1-dbg
      
      bcc1098d
    • unknown's avatar
      Fix for BUG#7377. This fix adds the same implementation for... · 719802da
      unknown authored
      Fix for BUG#7377. This fix adds the same implementation for ha_myisammgr::index_type as in version 5.0.
      
      
      mysql-test/r/merge.result:
        Added test result for BUG#7377.
      mysql-test/t/merge.test:
        Added test for BUG#7377.
      sql/ha_myisammrg.cc:
        Added implementation for handler::index_type.
      sql/ha_myisammrg.h:
        Added implementation for handler::index_type.
      719802da
    • unknown's avatar
      merge · ad98551d
      unknown authored
      ad98551d
    • unknown's avatar
      sql_table.cc: · b5709217
      unknown authored
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      
      
      sql/sql_table.cc:
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      b5709217
    • unknown's avatar
      ha_innodb.cc: · 7e62daa8
      unknown authored
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      
      
      sql/ha_innodb.cc:
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      7e62daa8
    • unknown's avatar
      row0mysql.c: · 547dfa55
      unknown authored
        Fix typo
      
      
      innobase/row/row0mysql.c:
        Fix typo
      547dfa55
    • unknown's avatar
      ha_innodb.cc, row0ins.c, fil0fil.c: · 0949f9c3
      unknown authored
        Correct typo
      
      
      innobase/fil/fil0fil.c:
        Correct typo
      innobase/row/row0ins.c:
        Correct typo
      sql/ha_innodb.cc:
        Correct typo
      0949f9c3
    • unknown's avatar
      Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1 · 35494b6b
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-4.1
      
      35494b6b
    • unknown's avatar
      Many files: · b24e3fdb
      unknown authored
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      
      
      innobase/buf/buf0rea.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/dict0load.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/fil0fil.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/row0mysql.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/trx0trx.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/dict/dict0load.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/fil/fil0fil.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0ins.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0mysql.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0sel.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/srv/srv0start.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/trx/trx0trx.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      sql/ha_innodb.cc:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      b24e3fdb
  3. 26 Dec, 2004 3 commits
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1 · 4a2a2455
      unknown authored
      into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
      
      4a2a2455
    • unknown's avatar
      subselect.result, subselect.test: · f7a1b440
      unknown authored
        Added a couple of new test cases for bug #7351.
      
      
      mysql-test/t/subselect.test:
        Added a couple of new test cases for bug #7351.
      mysql-test/r/subselect.result:
        Added a couple of new test cases for bug #7351.
      f7a1b440
    • unknown's avatar
      subselect.result, subselect.test: · 25372c99
      unknown authored
        Added test cases for bug #7351.
      item_cmpfunc.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        If in the predicate v IN (SELECT a FROM t WHERE cond)
        v is null, then the result of the predicate is either
        INKNOWN or FALSE. It is FALSE if the subquery returns
        an empty set.
      item_subselect.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        The problem was due to not a quite legal transformation
        for 'IN' subqueries. A subquery containing a predicate
        of the form
        v IN (SELECT a FROM t WHERE cond)
        was transformed into
        EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
        Yet, this transformation is valid only if v is not null.
        If v is null, then, in the case when
        (SELECT a FROM t WHERE cond) returns an empty set the value
        of the predicate is FALSE, otherwise the result of the
        predicate is INKNOWN.
        The fix resolves this problem by changing the result
        of the transformation to
        EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
        in the case when v is nullable.
        The new transformation prevents applying the lookup
        optimization for IN subqueries. To make it still
        applicable we have to introduce guarded access methods.
      
      
      sql/item_subselect.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        The problem was due to not a quite legal transformation
        for 'IN' subqueries. A subquery containing a predicate
        of the form
        v IN (SELECT a FROM t WHERE cond)
        was transformed into
        EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
        Yet, this transformation is valid only if v is not null.
        If v is null, then, in the case when
        (SELECT a FROM t WHERE cond) returns an empty set the value
        of the predicate is FALSE, otherwise the result of the
        predicate is INKNOWN.
        The fix resolves this problem by changing the result
        of the transformation to
        EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
        in the case when v is nullable.
        The new transformation prevents applying the lookup
        optimization for IN subqueries. To make it still
        applicable we have to introduce guarded access methods.
      sql/item_cmpfunc.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        If in the predicate v IN (SELECT a FROM t WHERE cond)
        v is null, then the result of the predicate is either
        INKNOWN or FALSE. It is FALSE if the subquery returns
        an empty set.
      mysql-test/t/subselect.test:
        Added test cases for bug #7351.
      mysql-test/r/subselect.result:
        Added test cases for bug #7351.
      25372c99
  4. 24 Dec, 2004 5 commits
  5. 23 Dec, 2004 10 commits
  6. 22 Dec, 2004 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1/ · 82650ab1
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.1
      
      82650ab1
    • unknown's avatar
      BitKeeper/triggers/pre-delta · 34321ede
      unknown authored
          don't checkin for Administrator or mysqldev
      sql/log.cc@1.157
          restored a bugfix that was lost in a merge
      
      
      sql/log.cc:
        restored a bugfix that was lost in a merge
      BitKeeper/triggers/pre-delta:
        don't commit for Administrator or mysqldev
      34321ede