Commit graph

7966 commits

Author SHA1 Message Date
unknown
815f62223a bug#7761 - ndb does not autcommit - postreview fixes
sql/sql_table.cc:
  Move ha_enable to before new Copy, to ensure no memory is leaked
2005-01-10 11:33:08 +01:00
unknown
b4871e2973 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2005-01-10 11:20:01 +01:00
unknown
1409b9d7ae bug#7761 - ndb does not autocommit during alter table
sql/sql_table.cc:
  Turn off transactions before locking (as locking will need to know)
2005-01-10 11:17:01 +01:00
unknown
f8f7888b5c set_var.cc:
Whack duplicate variable line. (Affects SHOW VARIABLES.)


sql/set_var.cc:
  Whack duplicate variable line. (Affects SHOW VARIABLES.)
2005-01-08 19:43:15 -06:00
unknown
e528890462 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
2005-01-08 18:32:57 -06:00
unknown
3186b340da ndb - wl-1442 fix Time ordering
mysql-test/r/ndb_index_ordered.result:
  wl-1442 fix Time.  adds new type id 25
mysql-test/t/ndb_index_ordered.test:
  wl-1442 fix Time.  adds new type id 25
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  wl-1442 fix Time.  adds new type id 25
ndb/include/ndbapi/NdbDictionary.hpp:
  wl-1442 fix Time.  adds new type id 25
ndb/include/util/NdbSqlUtil.hpp:
  wl-1442 fix Time.  adds new type id 25
ndb/src/common/util/NdbSqlUtil.cpp:
  wl-1442 fix Time.  adds new type id 25
ndb/src/ndbapi/NdbDictionary.cpp:
  wl-1442 fix Time.  adds new type id 25
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  wl-1442 fix Time.  adds new type id 25
ndb/test/include/NdbSchemaOp.hpp:
  wl-1442 fix Time.  adds new type id 25
ndb/tools/restore/consumer.cpp:
  wl-1442 fix Time.  adds new type id 25
sql/ha_ndbcluster.cc:
  wl-1442 fix Time.  adds new type id 25
2005-01-08 19:28:44 +01:00
unknown
633ee9b099 ndb - wl-1442 fix Date ordering
mysql-test/r/ndb_index_ordered.result:
  wl-1442 fix Date.  reuses old unused Timespec type id
mysql-test/t/ndb_index_ordered.test:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/include/ndbapi/NdbDictionary.hpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/include/util/NdbSqlUtil.hpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/src/common/util/NdbSqlUtil.cpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionary.cpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/test/include/NdbSchemaOp.hpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
ndb/tools/restore/consumer.cpp:
  wl-1442 fix Date.  reuses old unused Timespec type id
sql/ha_ndbcluster.cc:
  wl-1442 fix Date.  reuses old unused Timespec type id
2005-01-08 16:57:51 +01:00
unknown
76266f19e8 Show the index type even for indexes using the default index type in
tables that support multiple index types. (Bug #7235)


sql/sql_show.cc:
  Always output 'TYPE <indextype>' for indexes on tables with multiple index types
mysql-test/r/ctype_utf8.result:
  Fix results for test
2005-01-08 06:15:41 +01:00
unknown
e167837a63 set_var.cc:
Reorder variables to properly alphabetize SHOW VARIABLES output.


sql/set_var.cc:
  Reorder variables to properly alphabetize SHOW VARIABLES output.
2005-01-07 14:17:08 -06:00
unknown
0c57a67ce0 Correctly truncate integers inserted into field and double columns
with a number of decimals specified. (Bug #7361)


mysql-test/t/type_float.test:
  Add test for maximum values of float and double columns with number of decimals
mysql-test/r/type_float.result:
  Add results for new test
mysql-test/r/type_float.result.es:
  Add results for new test
sql/field.cc:
  Use ::store(double nr) from ::store(longlong nr) so we get the same range checking
2005-01-07 17:44:18 +01:00
unknown
888f2fce98 2 small fixes for binlog (sorry for grouping them - I won't do it again):
WL#2335 (wait if binlog or binlog index file hits disk full or quota exceeded),
fix for BUG#7236 ("--expire_logs_days does not apply if all statements
happen in transactions"), and a behaviour change: abort if mysqld can't start
binlog at startup (if running with --log-bin of course).


sql/log.cc:
  2 small fixes for binlog:
  1) We create binlog and binlog index file with flag MY_WAIT_IF_FULL, so that they have the same
  behaviour as MyISAM tables when disk is full or quota exceeded (wait, try to finish write
  every minute, warn in error log every 10 minutes). That's WL#2335.
  2) Honour expire-log-days when we write a transaction to binlog (we honoured it already when writing
  an autocommit statement). This fixes BUG#7236.
sql/mysqld.cc:
  If we fail to create binlog or binlog index file or write to them at mysqld's startup, mysqld
  will exit. The former behaviour was to print error and continue, which led to stupid things like
  if you mispell a directory name in --log-bin, you don't immediately notice your mistake and
  you corrupt your recovery/replication. New behaviour is consistent with if you mispelt innodb_data_file_path.
2005-01-06 23:53:58 +01:00
unknown
5360632639 removed unused label 2005-01-06 17:08:38 +02:00
unknown
8ffe8ab302 Make query_cache_wlock_invalidate visible in SHOW VARIABLES (Bug #7594)
sql/set_var.cc:
  Make query_cache_wlock_invalidate visible in SHOW VARIABLES
2005-01-04 02:45:01 +01:00
unknown
cae189b15e Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


mysql-test/t/multi_update.test:
  Auto merged
2005-01-03 21:14:20 +02:00
unknown
a8341f1b77 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-01-03 15:35:58 +02:00
unknown
d0a3752bac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
2005-01-03 15:35:58 +02:00
unknown
f92ec09043 set_var.cc:
Silence compiler warning.


sql/set_var.cc:
  Silence compiler warning.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-01-02 15:10:08 -06:00
unknown
f0c655b409 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-01-02 15:25:47 +02:00
unknown
cdc425d5a2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
2005-01-02 12:33:42 +02:00
unknown
7a18eb7a6b Fixed failed merge 2005-01-01 22:47:50 +01:00
unknown
e2d17faa2b Fixed failed merge 2005-01-01 22:40:40 +01:00
unknown
c68b044530 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
2004-12-31 18:00:49 +01:00
unknown
4629c7ec87 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2004-12-31 13:50:04 +01:00
unknown
f077d4b06b Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.0
2004-12-31 12:55:42 +01:00
unknown
5eaf65ab4b post-merge
mysql-test/r/grant2.result:
  new test case
mysql-test/r/variables.result:
  don't fail w/o innodb
mysql-test/t/grant2.test:
  new test case
mysql-test/t/multi_update.test:
  don't fail w/o innodb
mysql-test/t/variables.test:
  don't fail w/o innodb
sql/sql_acl.cc:
  cleanup
2004-12-31 11:52:14 +01:00
unknown
9bfdbc0d63 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-12-31 12:05:43 +02:00
unknown
2419fa2684 Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
This allows use to use INSERT IGNORE ... ON DUPLICATE ...


mysql-test/r/drop.result:
  safety fix
mysql-test/t/drop.test:
  safety fix
mysql-test/t/multi_update.test:
  ensure we cover all possible errors
sql/log_event.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/log_event.h:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/mysql_priv.h:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_class.h:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_delete.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_insert.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_lex.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_lex.h:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_load.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_parse.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_repl.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_repl.h:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_select.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_table.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_union.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_update.cc:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
sql/sql_yacc.yy:
  Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
2004-12-31 12:04:35 +02:00
unknown
0e302f5e8b Merged fixes for bug #7297 "Two digit year should be interpreted
correctly even with zero month and day" and bug #7515 "from_unixtime(0)
now returns NULL instead of the Epoch" into 4.1 tree.


mysql-test/r/ps_2myisam.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
mysql-test/r/ps_3innodb.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
mysql-test/r/ps_4heap.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
mysql-test/r/ps_5merge.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
mysql-test/r/ps_6bdb.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
mysql-test/r/ps_7ndb.result:
  Updated test result after merging fix for bug #7297 "Two digit year should
  be interpreted correctly even with zero month and day" into 4.1
sql-common/my_time.c:
  Merged fix for bug #7297 "Two digit year should be interpreted correctly
  even with zero month and day" into 4.1
sql/item_timefunc.cc:
  Small fix after merging patch solving bug #7515 "from_unixtime(0) now
  returns NULL instead of the Epoch" into 4.1.
2004-12-30 23:44:42 +03:00
unknown
ade13078d1 Merged bugfix
BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.h:
  Auto merged
2004-12-30 21:36:16 +01:00
unknown
379613c3e2 merged 2004-12-30 21:11:40 +01:00
unknown
40a0199e77 unsufficient privilege checks in GRANT, when a grantor has column-level privileges 2004-12-30 21:01:11 +01:00
unknown
523882ab71 Fix for bug #7480 Mysqld crash in ha_ndbcluster using Query Browser
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-12-30 19:56:09 +01:00
unknown
e107535fa2 Manual merge of fix for bugs of #7297 and #7515 into 4.1 tree.
mysql-test/r/func_time.result:
  Manual merge.
mysql-test/r/type_datetime.result:
  Manual merge.
mysql-test/t/func_time.test:
  Manual merge.
mysql-test/t/type_datetime.test:
  Manual merge.
sql/item_timefunc.cc:
  Manual merge.
sql/item_timefunc.h:
  Manual merge.
sql/time.cc:
  Manual merge.
2004-12-30 21:37:32 +03:00
unknown
15017480a7 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-bg7297
2004-12-30 21:18:45 +03:00
unknown
1ffd688a4a Fix for bug #7515 "from_unixtime(0) now returns NULL instead of
the Epoch". (With after review fixes).


mysql-test/r/func_time.result:
  Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
  the Epoch".
mysql-test/t/func_time.test:
  Added test for bug #7515 "from_unixtime(0) now returns NULL instead of
  the Epoch".
sql/item_timefunc.cc:
  Item_func_from_unixtime:
   from_unixtime(0) should return Epoch instead of NULL.
sql/item_timefunc.h:
  Item_func_from_unixtime:
   - Removed unused method definition.
   - fix_length_and_dec() should set maybe_null to true since now
     from_unixtime() can return NULL even in case when none of its
     arguments is NULL.
2004-12-30 21:18:10 +03:00
unknown
1382df5aff Fix for bug #6914 "Problems using time()/date() output in expressions".
When we cast datetime value to DATE (TIME) type we should throw away its
time (date) part. This was not done properly if CAST() function was used
in datetime expressions.


mysql-test/r/cast.result:
  Added test for bug #6914 "Problems using time()/date() output in
  expressions".
mysql-test/t/cast.test:
  Added test for bug #6914 "Problems using time()/date() output in
  expressions".
sql/item_timefunc.cc:
  Item_time_typecast::get_time()/Item_date_typecast::get_date():
    When we cast datetime value to DATE we should throw away its time part.
    When we cast such value to TIME type we should throw away its date part.
2004-12-30 13:39:01 +03:00
unknown
8487aa5abc Fix for BUG#7455.
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.
2004-12-28 11:57:56 +02:00
unknown
47efc5f335 Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into mysql.com:/home/timka/mysql/src/4.1-dbg
2004-12-27 14:06:28 +02:00
unknown
b4c61152d3 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.
2004-12-27 14:05:35 +02:00
unknown
7ab0561f42 merge 2004-12-27 13:26:03 +04:00
unknown
2d9eeb04f1 sql_table.cc:
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
2004-12-27 05:03:11 +02:00
unknown
562df4ee0a ha_innodb.cc:
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
2004-12-27 04:40:10 +02:00
unknown
1b7282e3e1 ha_innodb.cc, row0ins.c, fil0fil.c:
Correct typo


innobase/fil/fil0fil.c:
  Correct typo
innobase/row/row0ins.c:
  Correct typo
sql/ha_innodb.cc:
  Correct typo
2004-12-27 04:27:09 +02:00
unknown
00cc66f6e5 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-12-27 04:11:26 +02:00
unknown
708eebea8a Many files:
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
2004-12-27 04:10:25 +02:00
unknown
3217790be5 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2004-12-26 02:08:23 -08:00
unknown
a4d840a09c subselect.result, subselect.test:
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.
2004-12-25 19:17:57 -08:00
unknown
f2a9080c70 Merge bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-12-24 23:33:50 +01:00
unknown
a1110e7069 better fix for bug#7242 (crash in prepared INSERT ... UPDATE)
sql/sql_insert.cc:
  cleanup
2004-12-24 23:30:40 +01:00
unknown
6569fc7dda 4.0 -> 4.1 merge
sql/item_strfunc.cc:
  Auto merged
mysql-test/r/func_str.result:
  merged test results for QUOTE() buf fix
mysql-test/t/func_str.test:
  merged test for QUOTE() buf fix
2004-12-24 23:07:10 +02:00