Commit graph

10547 commits

Author SHA1 Message Date
gshchepa/uchum@gshchepa.loc
f5a229b3d1 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
2007-04-20 15:14:09 +05:00
gkodinov/kgeorge@magare.gmz
bcde01f6ff Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27786-5.0-opt
2007-04-20 12:01:54 +03:00
mhansson@dl145s.mysql.com
f0fc4b88e0 Bug #24778: Innodb: No result when using ORDER BY
This bug was intruduced by the fix for bug#17212 (in 4.1). It is not 
ok to call test_if_skip_sort_order since this function will 
alter the execution plan. By contract it is not ok to call 
test_if_skip_sort_order in this context.

This bug appears only in the case when the optimizer has chosen 
an index for accessing a particular table but finds a covering 
index that enables it to skip ORDER BY. This happens in 
test_if_skip_sort_order.
2007-04-20 11:01:53 +02:00
mats@romeo.(none)
f1caa9559c Merge romeo.(none):/home/bkroot/mysql-5.0-rpl
into  romeo.(none):/home/bk/merge-mysql-5.0
2007-04-20 10:35:27 +02:00
mats@romeo.(none)
bb73858835 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  romeo.(none):/home/bkroot/mysql-5.0-rpl
2007-04-20 10:28:44 +02:00
gkodinov/kgeorge@magare.gmz
4c89a5960f Bug #27786:
When merging views into the enclosing statement
the ORDER BY clause of the view is merged to the
parent's ORDER BY clause.
However when the VIEW is merged into an UNION
branch the ORDER BY should be ignored. 
Use of ORDER BY for individual SELECT statements
implies nothing about the order in which the rows
appear in the final result because UNION by default
produces unordered set of rows.
Fixed by ignoring the ORDER BY clause from the merge
view when expanded in an UNION branch.
2007-04-20 10:49:45 +03:00
tsmith@quadxeon.mysql.com
2272cad3f4 innodb_mysql.test, innodb_mysql.result:
Fix test case: add drop table
2007-04-20 00:20:57 +02:00
tsmith@quadxeon.mysql.com
be9c660729 innodb_mysql.test, innodb_mysql.result:
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
2007-04-19 22:38:12 +02:00
msvensson@pilot.blaudden
498c152b11 Add replace for varying errno 2007-04-19 21:35:10 +02:00
msvensson@pilot.blaudden
da93a36a0e mysql_upgrade portability fixes 2007-04-19 21:30:46 +02:00
gkodinov/kgeorge@magare.gmz
83fff26261 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27530-5.0-opt
2007-04-19 15:07:03 +03:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f2b227dc52 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0
2007-04-19 15:02:36 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
bc1805891c Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b22824/my50-b22824
2007-04-19 12:32:38 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
df75e6e50e Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0
2007-04-19 11:45:26 +05:00
tsmith@siva.hindu.god
d232cead7b Apply innodb-5.0-ss1405 snapshot
NULL MERGE: this ChangeSet will be null merged into mysql-5.1

Fixes:

- Bug #26662: mysqld assertion when creating temporary (InnoDB) table on a tmpfs filesystem
  Fix by not open(2)ing with O_DIRECT but rather calling fcntl(2) to set
  this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
- Bug #23313: AUTO_INCREMENT=# not reported back for InnoDB tables
- Bug #21404: AUTO_INCREMENT value reset when Adding FKEY (or ALTER?)
  Report the current value of the AUTO_INCREMENT counter to MySQL.
2007-04-18 19:36:22 -06:00
sergefp@mysql.com
83e6352cc9 BUG#27939: Early NULLs filtering doesn't work for eq_ref access
- Turn it on for JT_EQ_REF access method
2007-04-19 03:04:23 +04:00
tsmith@siva.hindu.god
39496731a2 Merge siva.hindu.god:/home/tsmith/m/bk/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50
2007-04-18 14:50:32 -06:00
msvensson@pilot.blaudden
dd0d2146c3 Merge pilot.blaudden:/home/msvensson/mysql/my50-m-mysql_upgrade
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-04-18 13:22:32 +02:00
svoj@mysql.com/june.mysql.com
2d64de7d7e Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines
2007-04-18 16:22:23 +05:00
msvensson@pilot.blaudden
20e622dcf3 Bug#25452 mysql_upgrade access denied
- Improve mysql_upgrade and add comments describing it's logic
 - Don't look for mysql and mysqlcheck randomly, use dir where mysql_upgrade
  was started from
 - Don't look for mysql_fix_privilege_tables.sql randomly, compile
  in the mysql_fix_privilege_tables.sql file and use that to upgrade
  the system tables of MySQL
 - Check for any unexpected error returned from runnning the mysql_fix_privilege_tables SQL
 - Fix bug#26639, bug#24248 and bug#25405
2007-04-18 13:21:39 +02:00
svoj@mysql.com/june.mysql.com
aa432f0ffb Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
2007-04-18 16:16:58 +05:00
svoj@mysql.com/june.mysql.com
c7ac1e1c6a Merge mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.0-engines
2007-04-18 12:39:04 +05:00
igor@olga.mysql.com
6ad81b4e13 Fixed bug #27870. The bug that causes crashes manifests itself at some
conditions when executing an equijoin query with WHERE condition
containing a subquery predicate of the form join_attr NOT IN (SELECT ...).

To resolve a problem of the correct evaluation of the expression
  attr NOT IN (SELECT ...)
an array of guards is created to make it possible to filter out some 
predicates of the EXISTS subquery into which the original subquery 
predicate is transformed, in the cases when a takes the NULL value. 
If attr is defined as a field that cannot be NULL than such an array 
is not needed and is not created. 
However if the field a occurred also an an equijoin predicate t2.a=t1.b
and table t1 is accessed before table t2 then it may happen that the 
the EXISTS subquery is pushed down to the condition evaluated just after
table t1 has been accessed. In this case any occurrence of t2.a is 
substituted for t1.b. When t1.b takes the value of NULL an attempt is 
made to turn on the corresponding guard. This action caused a crash as 
no guard array had been created.

Now the code of Item_in_subselect::set_cond_guard_var checks that the guard
array has been created before setting a guard variable on. Otherwise the
method does nothing. It cannot results in returning a row that could be
rejected as the condition t2.a=t1.b will be checked later anyway.
2007-04-17 17:35:29 -07:00
tsmith@siva.hindu.god
024aed165d Merge siva.hindu.god:/home/tsmith/m/bk/41
into  siva.hindu.god:/home/tsmith/m/bk/maint/41
2007-04-17 15:38:59 -06:00
joerg@trift2.
97d1cd0fed Merge trift2.:/MySQL/M41/test-help-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-04-17 19:48:18 +02:00
jamppa@bk-internal.mysql.com
82e4afb89f Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel
2007-04-17 15:52:03 +02:00
kent/mysqldev@mysql.com/production.mysql.com
c43a7b9bf7 Raise version number after cloning 5.0.40 2007-04-17 15:22:48 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f4060b4b81 Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
Added missed DROP privilege check on the original table for RENAME TABLE command.
2007-04-17 16:52:50 +05:00
serg@janus.mylan
d5b1c3aea2 reverted the fix for Bug#5507 2007-04-17 12:32:01 +02:00
malff/marcsql@weblab.(none)
86c8ab00e0 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-04-16 21:20:38 -06:00
dkatz@damien-katzs-computer.local
138f003738 Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/50b
2007-04-16 13:49:17 -04:00
tomas@whalegate.ndb.mysql.com
a30755427a Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-maint
2007-04-16 14:51:08 +02:00
tomas@whalegate.ndb.mysql.com
1bf8aad558 Bug #27710 Creating unique index fails during single user mode
- enable indexes to be used always, if in single user, reject will happen before, and if it is kerlel doing stuff, it should always be allowed
2007-04-16 14:07:31 +02:00
joerg@trift2.
d1d95cca9c Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-04-16 11:30:06 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
e62dbcf746 Fix for
bug #27715: mysqld --character-sets-dir buffer overflow
bug ##26851: Mysql Client --pager Buffer Overflow

Using strmov() to copy an argument may cause overflow 
if the argument's length is bigger than the buffer:
use strmake instead.
Also, we have to encrease the error message buffer size to fit 
the longest message.
2007-04-16 12:28:02 +05:00
evgen@moonbone.local
51badaddbc subselect.test, subselect.result:
After merge fix.
2007-04-15 09:22:45 +04:00
evgen@moonbone.local
922a5a969c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql
2007-04-15 08:41:35 +04:00
evgen@moonbone.local
3113ce6383 Bug#27321: Wrong subquery result in a grouping select.
The Item_outer_ref class based on the Item_direct_ref class was always used
to represent an outer field. But if the outer select is a grouping one and the 
outer field isn't under an aggregate function which is aggregated in that
outer select an Item_ref object should be used to represent such a field.
If the outer select in which the outer field is resolved isn't grouping then
the Item_field class should be used to represent such a field.
This logic also should be used for an outer field resolved through its alias
name.

Now the Item_field::fix_outer_field() uses Item_outer_field objects to
represent aliased and non-aliased outer fields for grouping outer selects
only.
Now the fix_inner_refs() function chooses which class to use to access outer
field - the Item_ref or the Item_direct_ref. An object of the chosen class
substitutes the original field in the Item_outer_ref object.
The direct_ref and the found_in_select_list fields were added to the
Item_outer_ref class.
2007-04-15 08:31:34 +04:00
kostja@vajra.(none)
58823d3bdd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  vajra.(none):/opt/local/work/mysql-5.0-runtime
2007-04-14 18:23:48 -04:00
svoj@mysql.com/june.mysql.com
ed81a81a9e BUG#27516 - divide by zero crash during optimize table
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.
2007-04-13 12:38:27 +05:00
tomas@whalegate.ndb.mysql.com
2a917850d2 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
2007-04-13 08:15:49 +02:00
bar@mysql.com
52f4b9343f Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-5.0.b20095
2007-04-13 10:06:50 +05:00
bar@mysql.com
be8fc46db6 Bug#20095 Changing length of VARCHAR field with UTF8 collation does not truncate values
Problem: single byte do_varstring1() function was called, which didn't
check limit on "number of character", and checked only "number of bytes".
Fix: adding a multi-byte aware function do_varstring1_mb(),
to limit on "number of characters"
2007-04-13 10:05:55 +05:00
tomas@whalegate.ndb.mysql.com
5d89ca3a89 Bug#27775 mediumint auto_increment with ndb_restore
- autoincrement column of size medium int not handled in ndb_restore
- added testcase also for other types, tiny, small... etc
2007-04-13 01:37:24 +02:00
dkatz@damien-katzs-computer.local
dac9f99327 Bug #27322 failure to allocate transaction_prealloc_size causes crash
Fix for when memory pre-allocation fails.
2007-04-12 18:03:26 -04:00
svoj@mysql.com/april.(none)
005d8c5284 BUG#25951 - ignore/use index does not work with fulltext
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.
2007-04-13 02:31:34 +05:00
joerg@trift2.
a3c70abb4e Header file "decimal.h" needs to be delivered with binary packages:
Bug#27456    decimal.h is not installed with public include files
2007-04-12 21:50:56 +02:00
gshchepa/uchum@gshchepa.localdomain
4b2aab14ba Bug#5507: TRUNCATE does not work with views.
Support of views wasn't implemented for the TRUNCATE statement.
Now TRUNCATE on views has the same semantics as DELETE FROM view:
mysql_truncate() checks whether the table is a view and falls back
to delete if so.
In order to initialize properly the LEX::updatable for a view
st_lex::can_use_merged() now allows usage of merged views for the
TRUNCATE statement.
2007-04-12 23:21:37 +05:00
tomas@whalegate.ndb.mysql.com
6015317269 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
2007-04-12 18:29:24 +02:00
anozdrin/alik@ibm.
9719af3f2b Test case for BUG#5274: Stored procedure crash if length
of CHAR variable too great.
2007-04-12 19:42:45 +04:00