Commit graph

3523 commits

Author SHA1 Message Date
igor@rurik.mysql.com
04974868a1 subselect.result, subselect.test:
Added a couple of new test cases for bug #7351.
2004-12-26 02:04:40 -08:00
igor@rurik.mysql.com
d3fa245363 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.
2004-12-25 19:17:57 -08:00
bar@mysql.com
57ec14d939 Bug#7302: UCS2 data in ENUM field get truncated when new column is added 2004-12-21 17:12:27 +04:00
ram@gw.mysql.r18.ru
dfbdbfd006 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7281
2004-12-21 10:51:11 +04:00
sergefp@mysql.com
1e102d1aaf Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-order-bug
2004-12-21 03:02:38 +03:00
sergefp@mysql.com
0700f27ca1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug6825
2004-12-21 02:32:30 +03:00
ram@gw.mysql.r18.ru
da562b7e02 A fix (bug #7281: RAND(RAND) crashes server). 2004-12-20 13:47:38 +04:00
guilhem@mysql.com
031474cf17 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean
2004-12-18 18:31:49 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
1be319a708 Merge Bug#7391 from 4.0 2004-12-18 15:12:10 +00:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
3047649845 Bug#7391 - Multi-table UPDATE security regression
Add in missing privilege checks. 
  Tests for the privileges.
2004-12-18 02:07:32 +00:00
guilhem@mysql.com
884663662b Fix for BUG#7358: removing warning reporting of mysqldump 4.1.8 when calling SHOW CREATE DATABASE, as we deal almost gracefully with it
(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).
2004-12-17 23:37:43 +01:00
mleich@mysql.com
c5eb9f1e4c Delete files which were accidently created within the last push 2004-12-17 17:03:15 +01:00
matthias@three.local.lan
006a512f8f Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-17 11:02:44 +01:00
sergefp@mysql.com
da332aca40 Fix for BUG#6825: When calculating Item_func_neg::max_length, add 1 for '-'.
For numeric constants we only need to add, since the parser doesn't produce 
negative numbers. 
For strings we only add (we actually could substract 1 if given string is a constant 
and it has '-number' form but we're not doing that because 
 * we set max_length bigger then necessary in other cases as well.  
 * the current solution is simpler and safer (bigger max_length is better then cutting out)
2004-12-17 12:14:45 +03:00
guilhem@mysql.com
f057721954 A .test for BUG#6287 "Slave skips auto_increment values in Replication with InnoDB"
which Heikki fixed in 4.1.8 and 4.0.23. I verified that without Heikki's patch the test fails (7 gets inserted).
Test added to 4.1 because in testsuite of 4.0 it's impossible to start slave with InnoDB.
2004-12-16 23:14:41 +01:00
matthias@three.local.lan
5c4d2286d4 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-16 20:35:16 +01:00
timour@mysql.com
410086b347 Test for BUG#6054. The bug itsel is fixed by the fix for #5837. 2004-12-16 18:46:38 +02:00
timour@mysql.com
cc6a30214c Moved drop table statement to the end. 2004-12-16 18:44:39 +02:00
timour@mysql.com
53a9af8f1d Test for BUG#6054. The bug itsel is fixed by the fix for #5837. 2004-12-16 18:04:51 +02:00
matthias@three.local.lan
b91567cfcb Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-16 10:22:23 +01:00
ram@gw.mysql.r18.ru
d599808fbc Clean-up.
TYPE=MyISAM replaced with ENGINE=MyISAM.
2004-12-14 18:47:34 +04:00
matthias@three.local.lan
621daba7b6 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-14 12:24:59 +01:00
ram@gw.mysql.r18.ru
d35c6c9c03 Portability fix (bug #7203: "delayed" test fails on QNX when using prepared statements) 2004-12-14 11:35:23 +04:00
matthias@three.local.lan
9733292440 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-13 18:53:49 +01:00
sergefp@mysql.com
03acb8155f Merged (will need a post-merge fix) 2004-12-13 20:10:07 +03:00
acurtis@pcgem.rdg.cyberkinetica.com
4864dce086 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/wl2274.2
2004-12-13 14:19:20 +00:00
acurtis@pcgem.rdg.cyberkinetica.com
9818cadd1b WL#2274 - INSERT..SELECT..UPDATE
UPDATE clause conflicts with SELECT for use of item_list field.
  Alter UPDATE clause to use new lex field update_list
  Tests included
2004-12-13 12:26:28 +00:00
matthias@three.local.lan
ac11cba790 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-13 12:24:35 +01:00
bell@sanja.is.com.ua
05c1385c50 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ref-4.1
2004-12-13 01:32:49 +02:00
sergefp@mysql.com
2d9fae642c Merge fix for BUG#6976 from 4.0 2004-12-11 20:13:43 +03:00
sergefp@mysql.com
0de1d4a9a9 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/dbdata/psergey/mysql-4.0-bug6976
2004-12-11 20:02:45 +03:00
sergefp@mysql.com
f78a60593a Fix for BUG#6976:
In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the 
same as in (*ref), because Item_ref::fix_fields() will not be called.  Previously 
maybe_null was 0 always and this produced a bogus state where 
maybe_null==0 && is_null() == true 
which broke evaluation for some upper-level Items, like AND and OR.
2004-12-11 19:59:09 +03:00
bell@sanja.is.com.ua
b9abf25a55 new reference which refer to current value not to result used for resolving outer
refernces if subqueri is not in HAVING clause (BUG#7079)
  and the same used for subquery transformetion
2004-12-11 17:13:19 +02:00
sergefp@mysql.com
5b0e3b132c Post-merge fixes 2004-12-11 16:36:12 +03:00
sergefp@mysql.com
aee9340493 Fix for BUG#5837 merged from 4.0 2004-12-11 15:55:50 +03:00
sergefp@mysql.com
6b55909673 Fix for BUG#5837 - attempt 3.
Call mark_as_null_row in join_read_const and join_read_system.
2004-12-11 15:51:52 +03:00
serg@serg.mylan
d16c9e8615 getting rid of now() is tests 2004-12-11 09:39:29 +01:00
bar@mysql.com
0cfa0adda5 Bug #6819 Some ujis characters cannot be inserted into table
Allow to insert not-assigned UJIS codes.
2004-12-10 16:08:18 +04:00
hf@deer.(none)
192715dbbb Fix for bug #6516 (Server crash loading spatial data)
(after discussion with SerG)
2004-12-10 16:06:49 +04:00
Sinisa@sinisa.nasamreza.org
d7734fd8ac Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2004-12-10 00:19:52 +02:00
Sinisa@sinisa.nasamreza.org
6772f0a721 A fix for a crashing bug #7101, which occures when the
expression involving LEFT() function is used in GROUP BY
field.
2004-12-10 00:17:43 +02:00
bar@mysql.com
c735aaebfc Bugs: #7111: server crashes when regexp is used 2004-12-09 15:56:19 +04:00
dlenev@mysql.com
611abb882b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg6765
2004-12-09 14:14:03 +03:00
monty@mysql.com
b68f2307e0 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-12-09 12:50:37 +02:00
monty@mysql.com
01e4740f4c Ensure that we free memory used with --order-by-primary (in mysqldump)
Simple, non critical, fix to mysql_fix_privilege_tables
2004-12-09 12:47:20 +02:00
dlenev@mysql.com
62a6d9749b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg6765
2004-12-09 13:33:12 +03:00
dlenev@brandersnatch.localdomain
4b0882e0a6 Fix for bug #6765 "Implicit access to time zone description
tables requires privileges for them if some table or column level grants
present" (with after-review fixes).

We should set SELECT_ACL for implicitly opened tables in 
my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
checking in check_grant(). Also we should exclude those tables from
privilege checking in multi-update.
2004-12-09 13:31:46 +03:00
matthias@three.local.lan
2d90fe51b1 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-09 11:24:46 +01:00
konstantin@mysql.com
356005efd7 A fix and test case for Bug#6873 "PS, having with subquery, crash
during execute"
2004-12-09 00:37:17 +03:00
konstantin@mysql.com
b40fc58245 A followup to Bug#6878 "Crash with engine=memory", reported as Bug#6986
""show_check" fails on 64bit platforms": now minimal rec_length
of a HEAP table >= sizeof(void*), hence it's platform-dependant.
2004-12-08 01:34:50 +03:00