Commit graph

54223 commits

Author SHA1 Message Date
kostja@bodhi.(none)
6ae3bca94e Bug#27430 "Crash in subquery code when in PS and table DDL changed after
PREPARE", review fixes:
- make the patch follow the specification of WL#4166 and remove  
the new error that was originally introduced.
Now the client never gets an error from reprepare, unless it failed.
I.e. even if the statement at hand returns a completely different
result set, this is not considered a server error.
The C API library, that can not handle this situation, was modified to
return a client error.
Added additional test coverage.
2008-05-20 20:36:26 +04:00
kostja@bodhi.(none)
2c0ce2a832 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-27430
2008-05-20 11:38:17 +04:00
kostja@bodhi.(none)
86396459ae Merge bk-internal.mysql.com:/home/bk/mysql-5.1-27430
into  bodhi.(none):/opt/local/work/mysql-5.1-27430
2008-05-20 11:33:27 +04:00
kostja@bodhi.(none)
6e4af99f5d Bug#27430 "Crash in subquery code when in PS and table DDL changed after
PREPARE": rename members, methods, classes to follow the spec 
(a code review request)
2008-05-20 11:29:16 +04:00
davi@skynet.(none)
2f770c91d2 Bug#27430 Crash in subquery code when in PS and table DDL changed after PREPARE
Add test target to the makefile that will cause all
statements to be re-prepared before execution.
2008-05-19 13:39:31 -03:00
holyfoot/hf@hfmain.(none)
7ec38d1fa7 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mysql.com:/d2/hf/mysql-5.1-bugteam
2008-05-19 11:39:30 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
8718be7763 disabled.def:
rpl_innodb_bug28430 disabled
2008-05-19 11:38:53 +05:00
gshchepa/uchum@host.loc
d044d9f00b Merge host.loc:/work/bk/5.0-bugteam
into  host.loc:/work/bk/5.1-bugteam
2008-05-18 14:27:44 +05:00
gshchepa/uchum@host.loc
80b16212c3 Merge host.loc:/work/bugs/5.0-bugteam-36676
into  host.loc:/work/bk/5.0-bugteam
2008-05-18 14:27:17 +05:00
gshchepa/uchum@host.loc
2459d3a9ad Fixed bug#36676: multiupdate using LEFT JOIN updates only
first row or fails with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''

The server uses intermediate temporary table to store updated
row data.  The first column of this table contains rowid.
Current server implementation doesn't reset NULL flag of that
column even if the server fills a column with rowid.
To keep each rowid unique, there is an unique index.
An insertion into an unique index takes into account NULL
flag of key value and ignores real data if NULL flag is set.
So, insertion of actually different rowids may lead to two
kind of problems.  Visible effect of each of these problems
depends on an initial engine type of temporary table:

1. If multiupdate initially creates temporary table as
a MyISAM table (a table contains blob columns, and the
create_tmp_table function assumes, that this table is
large), it inserts only one single row and updates
only rows with one corresponding rowid. Other rows are
silently ignored. 

2. If multiupdate initially creates MEMORY temporary
table, fills it with data and reaches size limit for
MEMORY tables (max_heap_table_size), multiupdate
converts MEMORY table into MyISAM table and fails
with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''


Multiupdate has been fixed to update the NULL flag of
temporary table rowid columns.
2008-05-18 14:21:25 +05:00
gkodinov/kgeorge@magare.gmz
faa1330836 Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-bugteam
2008-05-18 11:42:55 +03:00
kostja@bodhi.(none)
aef39682d6 Fix mysql_client_test failure in pushbuild 5.1-27430
(Bug#27430)
2008-05-18 10:28:36 +04:00
kostja@bodhi.(none)
7aeeb8f667 Implement some code review fixes for the fix for Bug#27430
"Crash in subquery code when in PS and table DDL changed after PREPARE"
2008-05-18 01:51:18 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
f9d183b5dc Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.
temporary variables of 'long' types were used to store ulong values,
that causes init_key_cache to receive distorted parameters
2008-05-17 12:53:47 +05:00
cmiller@zippy.cornsilk.net
c1f35308cb Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:48:07 -04:00
cmiller@zippy.cornsilk.net
34deab48db Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:40:01 -04:00
cmiller@zippy.cornsilk.net
fd6cce83fb Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-bugteam
2008-05-16 17:37:37 -04:00
gkodinov/kgeorge@magare.gmz
d24dffc819 subselect.result:
updated the testcase for bug 36011
2008-05-16 19:28:24 +03:00
gkodinov/kgeorge@magare.gmz
b98922b7cc Merge magare.gmz:/home/kgeorge/mysql/work/B36011-take2-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/work/B36011-5.1-bugteam
2008-05-16 19:03:50 +03:00
gkodinov/kgeorge@magare.gmz
0b7abbecbe Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/autopush/B36011-take2-5.0-bugteam
2008-05-16 18:56:43 +03:00
cmiller@zippy.cornsilk.net
e0ed56df0a Re-record results from unmerged file. 2008-05-16 11:38:13 -04:00
cmiller@zippy.cornsilk.net
d24b5fb4d2 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
2008-05-16 11:36:11 -04:00
cmiller@zippy.cornsilk.net
1e5fc1089f Fix merge problems and re-record output for legitimate changes. 2008-05-16 11:35:15 -04:00
cmiller@zippy.cornsilk.net
944f793b90 Add a test at Andrei's behest. Show the SHOW CREATE on the
master also, so that we can visually see the slave is the same.
2008-05-16 11:26:29 -04:00
mats@mats-laptop.(none)
3b42cf9096 Merge mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bk/b36197-mysql-5.1-bugteam
2008-05-16 16:13:13 +02:00
mats@mats-laptop.(none)
438f2cff3c Fixes to make rpl_insert_id pass in 5.1-bugteam. 2008-05-16 16:08:24 +02:00
gkodinov/kgeorge@magare.gmz
df3341a764 Bug #36011: server crash with explain extended on query
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.
2008-05-16 17:05:55 +03:00
davi@endora.local
6d2cda6ca7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
2008-05-16 10:55:48 -03:00
davi@endora.local
96d7989950 Merge mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
into  mysql.com:/Users/davi/mysql/mysql-5.1-bugteam
2008-05-16 10:31:55 -03:00
cmiller@zippy.cornsilk.net
b59575830a Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
2008-05-16 09:23:27 -04:00
cmiller@zippy.cornsilk.net
eee06ff14b Updated to address Davi's complaint about missing binlog. 2008-05-16 09:15:56 -04:00
mats@mats-laptop.(none)
09838322bd Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam
2008-05-16 14:56:46 +02:00
pcrews@pcrews-mac-local.local
81b7dd73b0 Merge pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/clean/mysql-5.1-bugteam
into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/test_fix/mysql-5.1-bugteam_35744
2008-05-16 06:52:48 -04:00
mats@mats-laptop.(none)
87d7c13a36 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam
2008-05-16 11:15:22 +02:00
jperkin/mysqldev@mysql.com/production.mysql.com
743ad144eb Raise version number after cloning 5.0.62 2008-05-16 11:01:59 +02:00
mats@mats-laptop.(none)
4040b4241a Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam
2008-05-16 10:03:15 +02:00
gshchepa/uchum@host.loc
4dfd740683 Merge host.loc:/work/bugs/5.0-bugteam-36488
into  host.loc:/work/bk/5.0-bugteam
2008-05-16 13:00:12 +05:00
gshchepa/uchum@host.loc
a91e995c0c Merge host.loc:/work/bugs/5.0-bugteam-36488
into  host.loc:/work/bk/5.1-bugteam
2008-05-16 12:59:32 +05:00
cmiller@zippy.cornsilk.net
15dcc14c8f Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
2008-05-15 19:45:42 -04:00
pcrews@pcrews-mac-local.local
08d9ee8c28 Merge pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/clean/mysql-5.1-bugteam
into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/test_fix/mysql-5.1-bugteam_35744
2008-05-15 19:31:15 -04:00
cmiller@zippy.cornsilk.net
573828aa6a Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \
slave

The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which 
there is, in the "/*!VER */" comments.  The trailing "*/" caused
errors on the slave, naturally.

Now, since by that point we have /properly/ created parse-tree (as 
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.  
Fortunately, there's already a function nearby that does exactly 
that.
---
Update for Bug#36570.  Qualify routine names with db name when
writing to the binlog ONLY if the source text is qualified.
2008-05-15 19:13:24 -04:00
sven@riska.(none)
1e886dad16 Merge riska.(none):/home/sven/bkroot/5.1-bugteam
into  riska.(none):/home/sven/bk/b36433-rpl_insert_id/5.1-bugteam
2008-05-15 22:09:09 +02:00
mats@mats-laptop.(none)
97cf8bd80d Merge mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bk/b36197-mysql-5.1-bugteam
2008-05-15 21:04:13 +02:00
mleich@five.local.lan
746905d705 Merge five.local.lan:/work/merge/mysql-5.1-bugteam-newjp
into  five.local.lan:/work/trees/mysql-5.1-bugteam-src-clean
2008-05-15 20:50:13 +02:00
pcrews@pcrews-mac-local.local
cbd31fd125 Merge pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/clean/mysql-5.1-bugteam
into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/test_fix/mysql-5.1-bugteam_35744
2008-05-15 12:02:33 -04:00
mleich@five.local.lan
464c2de70a Fix for
Bug#28563 Test suite "jp" fails completely
- The main goal of this fix is to make the "jp" suite runnable in general
  and to make it more robust for use in pushbuild under build team conditions.
- It was decided to fix the remaining heavy issues within the
  architecture of this test later
  (-> WL 4327 Redesign the 'jp' testsuite for build team testing conditions)
  Only the test jp_trim_sjis got some significant improvements of its
  architecture (Just as proof of concept for the other tests).
- Tests suffering from
     Bug 36597 Testsuite "jp": Suspicious results for some tests
               (unexpected result sets)
  were disabled
- *.opt files were used to avoid differences on OS (Windows) because of
  case sensitive tablenames within the tests
2008-05-15 18:01:13 +02:00
sven@riska.(none)
365dbaab21 BUG#36433: rpl_insert_id detects inconsistency on master
Problem: If INSERT is immediately followed by SELECT in another thread,
the newly inserted rows may not be returned by the SELECT statement, if
ENGINE=myisam and @@concurrent_insert=1. This caused sporadic errors in
rpl_insert_id.
Fix: The test now uses ENGINE=$engine_type when creating tables (so that
innodb is used). It also turns off @@concurrent_insert around the critical
place, so that it works if someone in the future writes a test that sets
$engine_type=myisam before sourcing extra/rpl_tests/rpl_insert_id.test.
It also adds ORDER BY to all SELECTs so that the result is deterministic.
2008-05-15 17:22:53 +02:00
cmiller@zippy.cornsilk.net
91f2db7cff Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
2008-05-15 11:08:58 -04:00
gkodinov/kgeorge@magare.gmz
80c7d949e3 Disable thread_cache_size_func as reported in bug 36733 2008-05-15 12:50:04 +03:00
cmiller@zippy.cornsilk.net
d48a925a18 Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \
slave

The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which 
there is, in the "/*!VER */" comments.  The trailing "*/" caused
errors on the slave, naturally.

Now, since by that point we have /properly/ created parse-tree (as 
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.  
Fortunately, there's already a function nearby that does exactly 
that.
2008-05-14 19:23:54 -04:00