Commit graph

29286 commits

Author SHA1 Message Date
unknown
53862e6060 Fix for bug#18224 VIEW on information_schema crashes the server
additional check for subselect


mysql-test/r/information_schema.result:
  Fix for bug#18224 VIEW on information_schema crashes the server
    test case
mysql-test/t/information_schema.test:
  Fix for bug#18224 VIEW on information_schema crashes the server
    test case
2006-03-20 14:17:47 +04:00
unknown
ce39d29493 Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
Crash happened when one selected data from one of INFORMATION_SCHEMA
tables and in order to build its contents server had to open view which
used stored function and table or view on which one had not global or
database-level privileges (e.g. had only table-level or had no
privileges at all).

The crash was caused by usage of check_grant() function, which assumes
that either number of tables to be inspected by it is limited explicitly
or table list used and thd->lex->query_tables_own_last value correspond
to each other (the latter should be either 0 or point to next_global
member of one of elements of this table list), in conditions when
above assumptions were not true. This fix just explicitly limits
number of tables to be inspected. Other negative effects which are
caused by the fact that thd->lex->query_tables_own_last might not
be set properly during processing of I_S tables are less disastrous
and will be reported and fixed separetely.



mysql-test/r/information_schema_db.result:
  Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
    test case
mysql-test/t/information_schema_db.test:
  Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
    test case
sql/sql_acl.cc:
    added note
2006-03-20 13:42:02 +04:00
unknown
c560a5b1d4 Merge
sql/ha_innodb.cc:
  Auto merged
2006-03-18 10:11:36 +01:00
unknown
1a78addd4b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  calliope.local:/Volumes/Source/src/mysql-5.0__bug15846
2006-03-17 18:48:27 +01:00
unknown
b835245e83 No longer leak file descriptors in mysql_close. Fixes Bug#15846.
vio/viosocket.c:
  ORs were wrong to begin with, but more importantly, we mustn't use 
  shortable-circuit logic.
  
  Also newly reap the connection-closed event handle.
2006-03-17 18:46:34 +01:00
unknown
c0c6af35fc configure.in:
NDB_VERSION_BUILD has to be numeric


configure.in:
  NDB_VERSION_BUILD has to be numeric
2006-03-17 12:10:08 +01:00
unknown
3adad925fe configure.in:
Changed release name to 5.0.19a
ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)


sql/ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)
configure.in:
  Changed release name to 5.0.19a
2006-03-17 11:32:02 +01:00
unknown
2122a3f9bc Merge mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2006-03-17 10:50:01 +01:00
unknown
367442f754 BUG#18283 When InnoDB returns error 'lock table full', MySQL can write
to binlog too much.

When InnoDB has to rollback a transaction because the lock table has
filled up, it also needs to inform the upper layer that the transaction
was rolled back so that the cached transaction is not written to the
binary log.


sql/ha_innodb.cc:
  When InnoDB rolls back a transaction in HA_ERR_LOCK_TABLE_FULL, it
  needs to inform the upper layer to rollback the transaction also.
2006-03-17 10:25:29 +01:00
unknown
aa3411f54b Merge abelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  production.mysql.com:/usersnfs/abelkin/work-qc-5.0
2006-03-17 00:56:47 +01:00
unknown
48e23ec862 Merge mysql.com:/usr/local/mysql/mysql-4.1
into  mysql.com:/usr/local/mysql/mysql-5.0


mysql-test/lib/mtr_timer.pl:
  Auto merged
ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
2006-03-16 11:23:09 +01:00
unknown
fd6d45f0b0 Fix bug in mysql-test-run.pl in ^C signal handler.
mysql-test/lib/mtr_timer.pl:
  Fix bug where ^C would trigger cleanup handler in both parent and
  timeout child processes, causing duplicated messages and potential
  conflicts.
2006-03-16 11:21:18 +01:00
unknown
978c899233 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0
into  xiphis.org:/home/antony/work2/p1-bug14575.1
2006-03-16 01:24:32 -08:00
unknown
4f1685f604 Merge shellback.(none):/home/msvensson/mysql/bug18195/my50-bug18195
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-03-16 09:37:47 +01:00
unknown
78e37021e5 Bug#14575
¨MySQL server crashes if you try to access to InnoDB table¨
  crash caused by schizophrenic mysqld - 2 memory locations for logically same function
  with conflicting values.
  Fixed by backporting from 5.1 changes to have_xyz_db declarations.


sql/mysql_priv.h:
  Backport have_xyz_db changes from 5.1
sql/mysqld.cc:
  Backport have_xyz_db changes from 5.1
2006-03-16 00:15:23 -08:00
unknown
bb69d16d6b We should prohobit concurent read of inserting file in SP
because it can couse problem with Query cache (BUG#14767)


mysql-test/r/query_cache_notembedded.result:
  BUG#14767 test suite.
mysql-test/t/query_cache_notembedded.test:
  BUG#14767 test suite.
sql/sql_insert.cc:
  Query cache invalidation table we was inserting in just after
  unlocking table added to avoid the race condition as we had
  with SP.
sql/sql_parse.cc:
  Query cache invalidation table we was inserting in just after
  unlocking table added to avoid the race condition as we had
  with SP.
sql/sql_yacc.yy:
  We should prohibit concurent read of unserting file in SP
  because it can cause problem with query cache.
2006-03-15 19:15:52 +02:00
unknown
d15c797900 Merge kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-5.0
into  kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-5.0-r1.2084
2006-03-14 13:32:48 -06:00
unknown
232dec09d9 mysqld.cc:
Backport option description change from 5.1 to 5.0.


sql/mysqld.cc:
  Backport option description change from 5.1 to 5.0.
2006-03-14 13:26:28 -06:00
unknown
5da3a478a1 sql_select.cc:
Afterfix for bug#17366: Unchecked Item_int results in server crash


sql/sql_select.cc:
  Afterfix for bug#17366: Unchecked Item_int results in server crash
2006-03-14 18:49:37 +03:00
unknown
bff2fc2210 Bug#18195 MySQL on Windows not built with YaSSL correctly
- Add HAVE_OPENSSL and HAVE_YASSL to config-win.h


include/config-win.h:
  Define HAVE_OPENSSL and HAVE_YASSL to make the server and client enable SSL support
2006-03-14 14:51:48 +01:00
unknown
09f54a2e5e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into sunlight.local:/work_local/17336-bug-5.0-mysql


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2006-03-14 15:33:13 +03:00
unknown
8ba5a687ed Fixed bug#17366: Unchecked Item_int results in server crash
When there is conjunction of conds, the substitute_for_best_equal_field()
will call the eliminate_item_equal() function in loop to build final
expression. But if eliminate_item_equal() finds that some cond will always
evaluate to 0, then that cond will be substituted by Item_int with value ==
0. In this case on the next iteration eliminate_item_equal() will get that 
Item_int and treat it as Item_cond. This is leads to memory corruption and
server crash on cleanup phase.

To the eliminate_item_equal() function was added DBUG_ASSERT for checking
that all items treaten as Item_cond are really Item_cond.
The substitute_for_best_equal_field() now checks that if
eliminate_item_equal() returns Item_int and it's value is 0 then this 
value is returned as the result of whole conjunction.


mysql-test/t/subselect.test:
  Added test for bug#17366: Unchecked Item_int results in server crash
mysql-test/r/subselect.result:
   Added test for bug#17366: Unchecked Item_int results in server crash
sql/sql_select.cc:
  Fixed bug#17366: Unchecked Item_int results in server crash
   
  To the eliminate_item_equal() function was added DBUG_ASSERT for checking
  that all items treaten as Item_cond are really Item_cond.
  The substitute_for_best_equal_field() now checks that if
  eliminate_item_equal() returns something other than Item_cond and if it is
  then this value is returned as the result of whole conjunction.
2006-03-13 21:11:15 +03:00
unknown
358e08836a Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
2006-03-13 14:44:36 +01:00
unknown
b0a73946dc Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1


ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
2006-03-13 14:43:58 +01:00
unknown
e5ad6196c9 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/50-work


ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
2006-03-13 14:43:30 +01:00
unknown
99824b4e4e Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-03-13 14:43:07 +01:00
unknown
9d8992f7f8 bug#14028 -
ndb crash if trigger record get to big, fix incorrect max size of trigger record


ndb/src/kernel/blocks/backup/Backup.cpp:
  Increase size of max trigger record
2006-03-13 14:42:16 +01:00
unknown
7b3b008b57 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
2006-03-13 14:40:32 +01:00
unknown
0d89407a58 bug#14028 -
ndb crash if trigger record get to big, fix incorrect max size of trigger record


ndb/src/kernel/blocks/backup/Backup.cpp:
  Increase size of max trigger record
2006-03-13 14:38:12 +01:00
unknown
38b40482f7 Merge shellback.(none):/home/msvensson/mysql/init_rm/my50-init_rm
into  shellback.(none):/home/msvensson/mysql/mysql-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-03-13 11:31:15 +01:00
unknown
9f4f77ab90 Remove printouts
mysql-test/mysql-test-run.pl:
  Remove extra printouts
2006-03-13 11:06:14 +01:00
unknown
a7a2db66cc Make mysql-test-run.pl restore the db(s) to a known state before continuing after test case failure
mysql-test/mysql-test-run.pl:
  Take a snapshot of the data dirs just after all db's have been installed and usedthat snasphot to restore the db(s) to a known state after a test case has failed.
  Thus avoiding subsequent test cases to fail because of previous test failures.
2006-03-13 10:30:36 +01:00
unknown
cfcc1dc666 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0.20-bug15101-sysdate
2006-03-11 10:47:25 +02:00
unknown
f15f85bb2f Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new
2006-03-11 01:42:42 +01:00
unknown
0085230782 Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-bug14980
2006-03-10 22:32:37 +01:00
unknown
34e43cd3a9 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug14980
2006-03-10 22:28:50 +01:00
unknown
2722db6dd4 Merge mysql.com:/M50/bug-15861-5.0 into mysql.com:/M50/mysql-5.0 2006-03-10 21:00:15 +01:00
unknown
dafa39f1c4 Fix version of DEFINER-clause in mysqldump.
Now DEFINER-clause in stored routines is expected to appear
in 5.0.20 release, not in 5.0.19. as it was supposed before.


client/mysqldump.c:
  Fixing version.
mysql-test/r/mysqldump.result:
  Updated the result file.
2006-03-10 22:23:04 +03:00
unknown
da1507258f Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/merge-5.0
2006-03-10 19:53:15 +01:00
unknown
e098024dcb Merge mysql.com:/M50/clone-5.0 into mysql.com:/M50/merge-5.0
libmysql/libmysql.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-03-10 19:47:21 +01:00
unknown
7ec0c0d9bc Include the system header file "pthread.h" even in a non-threaded build.
Fixes bug#15861


include/my_no_pthread.h:
  Even in a non-threaded build, some modules (at least "mysys/mf_keycache.c")
  need some type definitions provided by the system header file "pthread.h".
  Rather than add complexity to the code, include the header.
  
  Fixes bug#15861
2006-03-10 17:13:54 +01:00
unknown
adc60cf84d Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0.20-bug15101-sysdate
2006-03-10 17:40:35 +02:00
unknown
8f543b5eb8 BUG#15101 SYSDATE() disregards SET TIMESTAMP.
After the ChangeSet 1.1892.20.1 2005/08/24 (Bug #12562) SYSDATE() is not an alias
   of NOW() and is unsafe for replication.
   `SYSDATE()' backward compatible aliasing clashes with the idea #12562 
   fix. To make it safe-replicatable we have to either use RBR or to restore
   the pre-5.0 style.
   --sysdate-is-now command line flag was introduced to provide backward compatibility.


sql/mysqld.cc:
  New option to force SYSDATE's backward compatible with 4.1 aliasing to NOW (not default)
sql/sql_class.h:
  new slot to fill at init time and check at parse
sql/sql_yacc.yy:
  calling NOW's branches when --sysdate-is-now
mysql-test/r/sysdate_is_now.result:
  New BitKeeper file ``mysql-test/r/sysdate_is_now.result''
mysql-test/t/sysdate_is_now-master.opt:
  New BitKeeper file ``mysql-test/t/sysdate_is_now-master.opt''
mysql-test/t/sysdate_is_now.test:
  New BitKeeper file ``mysql-test/t/sysdate_is_now.test''
2006-03-10 16:47:56 +02:00
unknown
cefb1dc274 Merge mysql.com:/home/mydev/mysql-4.1-bug14980
into  mysql.com:/home/mydev/mysql-5.0-bug14980


include/my_base.h:
  Auto merged
myisam/mi_delete.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/mi_rnext_same.c:
  Auto merged
myisam/mi_unique.c:
  Auto merged
myisam/mi_update.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
mysql-test/r/myisam.result:
  SCCS merged
mysql-test/t/myisam.test:
  SCCS merged
2006-03-10 15:06:04 +01:00
unknown
fbe17c2a36 Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
For "count(*) while index_column = value" an index read
is done. It consists of an index scan and retrieval of
each key.

For efficiency reasons the index scan stores the key in
the special buffer 'lastkey2' once only. At the first 
iteration it notes this fact with the flag 
HA_STATE_RNEXT_SAME in 'info->update'.

For efficiency reasons, the key retrieval for blobs
does not allocate a new buffer, but uses 'lastkey2'...

Now I clear the HA_STATE_RNEXT_SAME flag whenever the 
buffer has been polluted. In this case, the index scan
copies the key value again (and sets the flag again).


include/my_base.h:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Changed the comment for HA_STATE_RNEXT_SAME as a warning
  for future uses.
myisam/mi_delete.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removing the flag HA_STATE_RNEXT_SAME from info->update
  if info->lastkey2 was reused for another purpose than
  index scanning.
myisam/mi_key.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removing the flag HA_STATE_RNEXT_SAME from info->update
  if info->lastkey2 was reused for another purpose than
  index scanning.
myisam/mi_rnext_same.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removed trailing space and fixed a comment.
myisam/mi_unique.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removing the flag HA_STATE_RNEXT_SAME from info->update
  if info->lastkey2 was reused for another purpose than
  index scanning.
myisam/mi_update.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removing the flag HA_STATE_RNEXT_SAME from info->update
  if info->lastkey2 was reused for another purpose than
  index scanning.
myisam/mi_write.c:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Removing the flag HA_STATE_RNEXT_SAME from info->update
  if info->lastkey2 was reused for another purpose than
  index scanning.
mysql-test/r/myisam.result:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Added test result.
mysql-test/t/myisam.test:
  Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX
  Added test.
2006-03-10 15:03:04 +01:00
unknown
cf539a5ac0 Additional fix for BUG#16777: Can not create trigger nor view
w/o definer if --skip-grant-tables specified.
  
The previous patch does not allow to specify empty host name in
DEFINER-clause explicitly.


mysql-test/r/skip_grants.result:
  Updated the result file.
mysql-test/r/view_grant.result:
  Updated the result file.
mysql-test/t/skip_grants.test:
  Added test cases for BUG#16777; re-organized tests.
mysql-test/t/view_grant.test:
  Updated after final fix of BUG#16777.
sql/sql_parse.cc:
  The final part of fixing BUG#16777: allow empty host name in explicitly
  specified DEFINER-clause.
sql/sql_show.cc:
  Quote an identifier if it is empty.
2006-03-10 14:40:15 +03:00
unknown
be42706c8c Merge mysql.com:/M41/comment-4.1 into mysql.com:/M50/mysql-5.0
scripts/make_binary_distribution.sh:
  Auto merged
2006-03-10 11:53:38 +01:00
unknown
50c8c206fc Fixed bug#13575: SP funcs in select with distinct/group and order by can
produce wrong data

By default Item_sp_func::val_str() returns string from it's result_field 
internal buffer. When grouping is present Item_copy_string is used to 
store SP function result, but it doesn't additionally buffer the result.
When the next record is read, internal buffer is overwritten, due to
this Item_copy_string::val_str() will have wrong data. Thus producing
weird query result.

The Item_func_sp::val_str() now makes a copy of returned value to prevent
occasional corruption.


mysql-test/t/sp.test:
  Added test case for bug#13575: SP funcs in select with distinct/group and order by can
  produce wrong data
mysql-test/r/sp.result:
  Added test case for bug#13575: SP funcs in select with distinct/group and
      order by can produce wrong data
sql/item_func.h:
  Fixed bug#13575: SP funcs in select with distinct/group and order by can
      produce wrong data
      The Item_func_sp::val_str() now makes a copy of returned value to prevent
      occasinal corruption.
2006-03-10 13:53:00 +03:00
unknown
bf8fdd382e Merge mysql.com:/M41/comment-4.1 into mysql.com:/M41/mysql-4.1
scripts/make_binary_distribution.sh:
  Auto merged
2006-03-10 11:37:28 +01:00
unknown
58bf749f43 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-03-10 08:16:21 +01:00