Commit graph

11955 commits

Author SHA1 Message Date
dlenev@mysql.com
589daad10f Fix for bugs#12472/#15137 'CREATE TABLE ... SELECT ... which explicitly
or implicitly uses stored function gives "Table not locked" error'

CREATE TABLE ... SELECT ... statement which was explicitly or implicitly
(through view) using stored function gave "Table not locked" error.

The actual bug resides in the current locking scheme of CREATE TABLE SELECT
code, which first opens and locks tables of the SELECT statement itself,
and then, having SELECT tables locked, creates the .FRM, opens the .FRM and
acquires lock on it. This scheme opens a possibility for a deadlock, which
was present and ignored since version 3.23 or earlier. This scheme also
conflicts with the invariant of the prelocking algorithm -- no table can
be open and locked while there are tables locked in prelocked mode.

The patch makes an exception for this invariant when doing CREATE TABLE ...
SELECT, thus extending the possibility of a deadlock to the prelocked mode.
We can't supply a better fix in 5.0.
2006-05-09 16:39:11 +04:00
mskold@mysql.com
9bde189d55 Changed to use new syntax for PRIMARY/UNIQUE KEY USING HASH 2006-05-09 12:06:50 +02:00
msvensson@neptunus.(none)
2759603c1d Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-05-09 10:44:19 +02:00
msvensson@neptunus.(none)
af47f9092c Merge bk-internal:/home/bk/mysql-5.1-new
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1
2006-05-09 09:44:47 +02:00
msvensson@neptunus.(none)
27c64c715f Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-05-09 08:26:25 +02:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
b8227de1bf BUG#19140: Create index caused crash 2006-05-08 21:41:10 -04:00
serg@sergbook.mysql.com
976f1da21f don't introduce a deprecated syntax 2006-05-08 16:06:16 -04:00
tnurnberg@mysql.com
4033732d48 Bug#19263: variables.test doesn't clean up after itself
save global server variables before fiddling with them and restore them later
2006-05-08 14:59:29 +02:00
tnurnberg@mysql.com
21f4e8aadb Bug#10418: LOAD_FILE does not behave like in manual if file does not exist
load_file() string-function should return NULL rather than throw an error if
the file doesn't exist, as per the manual.
2006-05-08 04:37:58 +02:00
igor@rurik.mysql.com
0928ae9bf4 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-05-07 11:25:33 -07:00
aelkin@mysql.com
49bc52e5c9 Bug#19136: Crashing log-bin and uninitialized user variables in a derived table
recalculating results
2006-05-07 19:54:57 +03:00
aelkin@mysql.com
899cf9b584 Merge mysql.com:/usr_rh9/home/elkin.rh9/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0-bug19136
2006-05-07 16:02:55 +03:00
aelkin@mysql.com
7dcd1383a8 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/4.1-bug19136_unass_user_var
2006-05-07 11:43:27 +03:00
igor@rurik.mysql.com
7977a0c867 Fixed bug #14927.
A query with a group by and having clauses could return a wrong
result set if the having condition contained a constant conjunct 
evaluated to FALSE.
It happened because the pushdown condition for table with
grouping columns lost its constant conjuncts.
Pushdown conditions are always built by the function make_cond_for_table
that ignores constant conjuncts. This is apparently not correct when
constant false conjuncts are present.
2006-05-06 23:48:13 -07:00
sergefp@mysql.com
ce766f2c52 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug16798-merge
2006-05-06 22:24:39 +04:00
sergefp@mysql.com
ceef1105b2 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug16798
2006-05-06 22:15:27 +04:00
kroki@mysql.com
f6c95ee81a Merge mysql.com:/home/tomash/src/mysql_ab/tmp_merge
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-merge
2006-05-06 19:45:24 +04:00
kroki@mysql.com
bf9ccde948 Fix race condition in the test for bug#16501. 2006-05-06 18:24:41 +04:00
anozdrin@mysql.com
3b74668bfa Partial fix for BUG#14106: IM: im_life_cycle and im_utils
tests fail on FreeBSD.

The patch contains of the following:
  - make Instance Manager, running in the daemon mode, dump
    the pid of angel-process in the special file;
  - default value of angel-pid-file-name is 'mysqlmanager.angel.pid';
  - if ordinary (IM) pid-file-name is specified in the configuration,
    angel-pid-file-name is updated according to the following
    rule: extension of the basename of pid-file-name is replaced by
    '.angel.pid.
    For example:
    - pid-file-name: /tmp/im.pid
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/im.txt
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/5.0/im
      => angel-pid-file-name: /tmp/5.0/im.angel.pid
  - add support for configuration option to customize angel
    pid file name;
  - fix test suite to use angel pid to kill Instance Manager
    by all means if something went wrong.

Background
----------

The problem is that on some OSes (FreeBSD for one) Instance
Manager does not get SIGTERM, so can not shutdown gracefully.
Test suite wasn't able to cope with it, so this leads to the
mess in test results.

The problem should be split into two:
  - fix signal handling;
  - fix test suite.

This patch fixes test suite so that it will be able to kill
uncooperative Instance Manager. In order to achieve this,
test suite needs to know PID of IM Angel process.
2006-05-06 13:57:56 +04:00
sergefp@mysql.com
cef2f703bf Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug16798
2006-05-06 13:48:20 +04:00
sergefp@mysql.com
8f8fa5838b Merge mysql.com:/home/psergey/mysql-4.1-bug16798
into mysql.com:/home/psergey/mysql-5.0-bug16798-merge
2006-05-06 13:19:09 +04:00
sergefp@mysql.com
1b349cf85f BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions
The bug was as follows: When merge_key_fields() encounters "t.key=X OR t.key=Y" it will 
try to join them into ref_or_null access via "t.key=X OR NULL". In order to make this 
inference it checks if Y<=>NULL, ignoring the fact that value of Y may be not yet known.

The fix is that the check if Y<=>NULL is made only if value of Y is known (i.e. it is a
constant).
TODO: When merging to 5.0, replace used_tables() with const_item() everywhere in merge_key_fields().
2006-05-06 13:15:00 +04:00
kroki@mysql.com
0acef25de8 Merge mysql.com:/home/tomash/src/mysql_ab/tmp_merge
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-merge
2006-05-06 11:18:42 +04:00
kroki@mysql.com
aeb75a2e41 Fix race condition of concurrent RENAME and SHOW TABLES which caused
random test failures.
2006-05-06 09:41:24 +04:00
monty@mysql.com
9c132f3b6b Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-05-05 20:09:20 +03:00
monty@mysql.com
8c7783c1e0 Don't use row level logging on optimize or repair table.
(Fixes core dump in rpl_failed_optimize.test)
Ensure we end active transcations if we do an admin command (like optimize, repair etc)
2006-05-05 20:08:40 +03:00
jmiller@mysql.com
9d1f5003c1 Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new
2006-05-05 16:54:24 +02:00
tomas@poseidon.ndb.mysql.com
f8c37502b3 do not install ndb slave if no slaves
fixed memleak in ndbcluster_end
2006-05-05 15:34:46 +02:00
jani@hundin.mysql.fi
96d4b9ebd1 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  hundin.mysql.fi:/home/jani/mysql-5.0merge_4_1_2nd
2006-05-05 14:25:33 +03:00
jani@hundin.mysql.fi
b2c66756ab Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  hundin.mysql.fi:/home/jani/mysql-5.0merge_4_1_2nd
2006-05-05 12:46:15 +03:00
pekka@mysql.com
f717495693 Merge mysql.com:/space/pekka/ndb/version/my50
into  mysql.com:/space/pekka/ndb/version/my50-work
2006-05-05 11:18:30 +02:00
monty@mysql.com
3ecf4de288 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-05-05 11:38:05 +03:00
aelkin@mysql.com
8c57924a6a Bug#19136: Crashing log-bin and uninitialized user variables in a derived table
The reason of the bug is in that `get_var_with_binlog' performs missed
assingment of
the variables as side-effect. Doing that it eventually calls
`free_underlaid_joins' to pass as an argument `thd->lex->select_lex' of the lex
which belongs to the user query, not 
to one which is emulated i.e SET @var1:=NULL.


`get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
2006-05-05 11:21:21 +03:00
kroki@mysql.com
bc1b9eb04f Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
2006-05-05 11:35:38 +04:00
monty@mysql.com
3e5d75c4e3 After merge fix 2006-05-05 04:52:32 +03:00
pekka@mysql.com
5ce418b260 ndb - bug#17421, changes NDB API pushdown LIKE arg to plain char 2006-05-05 00:53:34 +02:00
tomas@poseidon.ndb.mysql.com
f814a2184a ndb disabled test case against verified bug 2006-05-05 00:06:44 +02:00
tomas@poseidon.ndb.mysql.com
831031ec02 disable test case since it causes failure in ndb_lock occationally, bug report referenced 2006-05-04 23:35:37 +02:00
jani@ua141d10.elisa.omakaista.fi
8b933cd63d Added more comments to the test cases. 2006-05-05 00:27:12 +03:00
jani@ua141d10.elisa.omakaista.fi
c8e5ade80c Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
2006-05-05 00:22:01 +03:00
monty@mysql.com
0034e1c829 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-05-04 23:49:59 +03:00
tomas@poseidon.ndb.mysql.com
f6ede396c0 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
2006-05-04 21:55:12 +02:00
monty@mysql.com
a9b83df104 After merge fix 2006-05-04 22:30:01 +03:00
monty@mysql.com
7f3c895332 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
2006-05-04 22:27:12 +03:00
monty@mysql.com
9e460e7a25 Fixed wrong free in sql_view.cc
mysql-test-run now fails in case of warnings
2006-05-04 22:19:31 +03:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
8e4a875d8e BUG#19502: Enable/Disable index routines not working for partitioned handlers
Implemented enable/disable index routines for partition handler
2006-05-04 15:15:25 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
d9ca07a715 BUG#19501: Data_Free incorrectly handled for partitioned tables 2006-05-04 14:38:42 -04:00
jani@ua141d10.elisa.omakaista.fi
46f7b3366c Fixed a test case that got broken during merge. 2006-05-04 21:21:22 +03:00
jani@ua141d10.elisa.omakaista.fi
06d6b7472b Fixed Bug#11324:
TIME_FORMAT using "%l:%i" returns 36:00 with 24:00:00 in TIME column
2006-05-04 20:19:37 +03:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
b32237c3a7 BUG 19062: CREATE TABLE ... PARTITION BY ... AS SELECT don't create partitioned table 2006-05-04 13:18:55 -04:00