1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-13 21:42:58 +03:00
Commit Graph

13691 Commits

Author SHA1 Message Date
holyfoot/hf@mysql.com/deer.(none)
eab37de051 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-kt
into  mysql.com:/home/hf/work/mysql-5.0.clean
2006-08-07 11:57:53 +05:00
holyfoot/hf@mysql.com/deer.(none)
ffe2a431b5 information_schema_db.test fixed 2006-08-07 11:56:22 +05:00
tnurnberg@mysql.com/salvation.intern.azundris.com
f25bf84cf4 grant.result:
manual merge
2006-08-07 04:13:05 +02:00
tnurnberg@mysql.com/salvation.intern.azundris.com
f17b889289 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/work/mysql-5.0-maint-20214
2006-08-07 01:39:05 +02:00
msvensson@neptunus.(none)
1d2a5c2e1a Send output from mysql_client_test to var/log/mysql_client_test.log 2006-08-06 20:58:30 +02:00
mikael/pappa@dator5.(none)
db2c48b08d BUG#21339: Crash at EXPLAIN PARTITIONS
Caused by missing check for end of partitions in prune range check
2006-08-05 16:12:24 -04:00
rburnett@bk-internal.mysql.com
86d74dc6dc Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-04 19:19:26 +02:00
rburnett@bk-internal.mysql.com
91c118e224 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-08-04 19:17:17 +02:00
andrey@lmy004.
9c59cfe4d7 Fix for bug#21416 SP: Recursion level higher than zero needed for non-recursive call
The following procedure was not possible if max_sp_recursion_depth is 0
create procedure show_proc() show create procedure show_proc;

Actually there is no recursive call but the limit is checked.

Solved by temporarily increasing the thread's limit just before the fetch from cache
and decreasing after that.
2006-08-04 12:50:49 +02:00
petr/cps@owlet.
af461de728 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/devel/5.1-curs-bug
2006-08-04 14:48:51 +04:00
tsmith@maint1.mysql.com
a4eb61b88c Merge bk-internal:/home/bk/mysql-5.1-new-maint
into  maint1.mysql.com:/data/localhome/tsmith/bk/mrg51-c
2006-08-04 00:40:30 +02:00
tsmith@maint1.mysql.com
d6c4c3bad2 Manual merge resolve, part 6 of 6+ 2006-08-03 19:43:52 +02:00
msvensson@neptunus.(none)
34d48ce10a Use "--source" command instead of "source", makes mysql-test-run.pl dtecte this as test case that need binlog format row. 2006-08-03 19:35:00 +02:00
tsmith@maint1.mysql.com
e0b9910728 Merge maint1.mysql.com:/data/localhome/tsmith/bk/mrg51-a
into  maint1.mysql.com:/data/localhome/tsmith/bk/mrg51-c
2006-08-03 19:28:20 +02:00
petr/cps@mysql.com/owlet.
be2ce2614b Fix Bug #18559 "log tables cannot change engine, and
gets deadlocked when dropping w/ log on"

Log tables rely on concurrent insert machinery to add data.
This means that log tables are always opened and locked by
special (artificial) logger threads. Because of this, the thread
which tries to drop a log table starts to wait for the table
to be unlocked. Which will happen only if the log table is disabled.
Alike situation happens if one tries to alter a log table.
However in addition to the problem above, alter table calls
check_if_locking_is_allowed() routine for the engine. The
routine does not allow alter for the log tables. So, alter
doesn't start waiting forever for logs to be disabled, but 
returns with an error.
Another problem is that not all engines could be used for
the log tables. That's because they need concurrent insert.

In this patch we:
(1) Explicitly disallow to drop/alter a log table if it
    is currently used by the logger.
(2) Update MyISAM to support log tables
(3) Allow to drop log tables/alter log tables if log is
    disabled
At the same time we (4) Disallow to alter log tables to
unsupported engine (after this patch CSV and MyISAM are 
alowed)
Recommit with review fixes.
2006-08-03 21:28:15 +04:00
tsmith@maint1.mysql.com
b9ac526884 5.0 -> 5.1 manual merge, part 5 of 5 (or more?) 2006-08-03 19:27:00 +02:00
msvensson@neptunus.(none)
583675f292 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-03 19:18:24 +02:00
jimw@rama.(none)
b876cf5745 Merge rama.(none):/home/jimw/my/mysql-5.0-10668
into  rama.(none):/home/jimw/my/mysql-5.0-clean
2006-08-03 10:02:47 -07:00
rburnett@bk-internal.mysql.com
22c77e87a2 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-03 16:54:06 +02:00
rburnett@bk-internal.mysql.com
c861f3278c Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-08-03 16:50:41 +02:00
msvensson@neptunus.(none)
b9b2ef9cfb Make test case for bug#21215repeateble by calling "reset master" 2006-08-03 16:47:24 +02:00
msvensson@neptunus.(none)
ac4e03a315 Update result after merge, since the function Item::tmp_table_field_from_field_type()
now takes mbmaxlen into account when calculating max_length of new field.
2006-08-03 15:48:28 +02:00
petr/cps@mysql.com/owlet.
7aec120549 Fix Bug #20139 Infinite loop after "FLUSH" and "LOCK tabX, general_log"
Due to incorrect handling of FLUSH TABLES, log tables were marked for flush,
but not reopened. Later we started to wait for the log table to be closed
(disabled) after the flush. And as nobody disabled logs in concurrent treads,
the command lasted forever.
After internal consultations it was decided to skip logs during FLUSH TABLES.
The reasoning is that logging is done in the "log device", whatever it is
which is always active and controlled by FLUSH LOGS. So, to flush logs
one should use FLUSH LOGS, and not FLUSH TABLES.
2006-08-03 17:23:37 +04:00
tnurnberg@mysql.com/salvation.intern.azundris.com
35c523a6f8 Bug#20214: Incorrect error when user calls SHOW CREATE VIEW on non privileged view
"A SELECT privilege on a view is required for SHOW CREATE VIEW and it will stay
that way because of compatibility reasons." (see #20136)

a test case to illustrate how the ACLs work in this case (and ensure they will continue
to do so in the future)
2006-08-03 14:58:13 +02:00
svoj@may.pils.ru
34c83fba8d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
2006-08-03 15:49:41 +05:00
msvensson@neptunus.(none)
10a7b8cedf Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-03 12:11:07 +02:00
msvensson@neptunus.(none)
61c5d97309 Remove double error printout in mysqldump 2006-08-03 12:09:22 +02:00
msvensson@neptunus.(none)
83167f06a3 Merge neptunus.(none):/home/msvensson/mysql/my41-bug21218
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-08-03 11:57:52 +02:00
msvensson@neptunus.(none)
743948404a Merge neptunus.(none):/home/msvensson/mysql/my50-m-bug21215
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-08-03 11:48:08 +02:00
svoj@may.pils.ru
395d3c3985 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
2006-08-03 14:08:43 +05:00
svoj@may.pils.ru
67db270c71 BUG#7391 - Cross-database multi-table UPDATE uses active database
privileges

This problem is 4.1 specific. It doesn't affect 4.0 and was fixed
in 5.x before.

Having any mysql user who is allowed to issue multi table update
statement and any column/table grants, allows this user to update
any table on a server (mysql grant tables are not exception).

check_grant() accepts number of tables (in table list) to be checked
in 5-th param. While checking grants for multi table update, number
of tables must be 1. It must never be 0 (actually we have
DBUG_ASSERT(number > 0) in 5.x in grant_check() function).
2006-08-03 14:03:08 +05:00
tsmith@maint1.mysql.com
8e0cc34af4 Merge maint1.mysql.com:/data/localhome/tsmith/bk/mrg50-c
into  maint1.mysql.com:/data/localhome/tsmith/bk/mrg51-c
2006-08-03 10:41:14 +02:00
tsmith@maint1.mysql.com
06060fd602 Merge maint1.mysql.com:/data/localhome/tsmith/bk/mrg50-b
into  maint1.mysql.com:/data/localhome/tsmith/bk/mrg51-b
2006-08-03 10:18:04 +02:00
tsmith@maint1.mysql.com
242ed711d2 5.0 -> 5.1 manual merge, part 1 of 3 (or more?) 2006-08-03 10:04:25 +02:00
msvensson@neptunus.(none)
1572beadcd Removing disabling of lowercase_fs_off 2006-08-03 09:48:42 +02:00
msvensson@neptunus.(none)
7280f63100 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-03 09:32:58 +02:00
ingo/istruewing@chilla.local
ff32920719 Bug#18775 - Temporary table from alter table visible to other threads
New test cases. Names with umlauts don't compare well on Windows.
2006-08-03 08:12:56 +02:00
malff/marcsql@weblab.(none)
21f00113b4 Bug#8153 (Stored procedure with subquery and continue handler, wrong result)
Before this fix,
- a runtime error in a statement in a stored procedure with no error handlers
was properly detected (as expected)
- a runtime error in a statement with an error handler inherited from a non
local runtime context (i.e., proc a with a handler, calling proc b) was
properly detected (as expected)
- a runtime error in a statement with a *local* error handler was executed
as follows :
a) the statement would succeed, regardless of the error condition, (bug)
b) the error handler would be called (as expected).

The root cause is that functions like my_messqge_sql would "forget" to set
the thread flag thd->net.report_error to 1, because of the check involving
sp_rcontext::found_handler_here().
Failure to set this flag would cause, later in the call stack,
in Item_func::fix_fields() at line 190, the code to return FALSE and consider
that executing the statement was successful.

With this fix :
- error handling code, that was duplicated in different places in the code,
is now implemented in sp_rcontext::handle_error(),
- handle_error() correctly sets thd->net.report_error when a handler is
present, regardless of the handler location (local, or in the call stack).

A test case, bug8153_subselect, has been written to demonstrate the change
of behavior before and after the fix.

Another test case, bug8153_function_a, as also been writen.
This test has the same behavior before and after the fix.
This test has been written to demonstrate that the previous expected
result of procedure bug18787, was incorrect, since select no_such_function()
should fail and therefore not produce a result.

The incorrect result for bug18787 has the same root cause as Bug#8153,
and the expected result has been adjusted.
2006-08-02 22:18:49 -07:00
jimw@rama.(none)
9d67aacead Merge rama.(none):/home/jimw/my/mysql-5.0-19147
into  rama.(none):/home/jimw/my/mysql-5.0-16502
2006-08-02 19:52:11 -07:00
jimw@rama.(none)
41956bee4f Merge rama.(none):/home/jimw/my/mysql-5.0-16881
into  rama.(none):/home/jimw/my/mysql-5.0-16502
2006-08-02 19:51:34 -07:00
jimw@rama.(none)
95b3b2ea8d Merge bk-internal:/home/bk/mysql-5.0-maint
into  rama.(none):/home/jimw/my/mysql-5.0-16502
2006-08-02 19:48:12 -07:00
cmiller@zippy.cornsilk.net
dd5eeaf676 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/m41-maint--07OBQ
2006-08-02 14:57:12 -04:00
kostja@bodhi.local
35af3d5578 Disable a failing test case (filed a p1 bug) 2006-08-02 22:21:12 +04:00
kostja@bodhi.local
1b145118b9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
2006-08-02 21:54:10 +04:00
cmiller@zippy.cornsilk.net
c9f64f71c8 Bug#9719: DELETE with WHERE on HEAP table just deletes first row of matched
set.

(Ramil's patch, recreated.)
2006-08-02 13:06:59 -04:00
ingo/istruewing@chilla.local
c20030ef26 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug18775
2006-08-02 18:10:51 +02:00
ingo/istruewing@chilla.local
8e4c36ad4a Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)

The intermediate (not temporary) files of the new table
during ALTER TABLE was visible for SHOW TABLES. These
intermediate files are copies of the original table with
the changes done by ALTER TABLE. After all the data is
copied over from the original table, these files are renamed 
to the original tables file names. So they are not temporary 
files. They persist after ALTER TABLE, but just with another 
name.

In 5.0 the intermediate files are invisible for SHOW TABLES
because all file names beginning with "#sql" were suppressed.

This failed since 5.1.6 because even temporary table names were
converted when making file names from them. The prefix became
converted to "@0023sql". Converting the prefix during SHOW TABLES
would suppress the listing of user tables that start with "#sql".

The solution of the problem is to continue the implementation of
the table name to file name conversion feature. One requirement
is to suppress the conversion for temporary table names.

This change is straightforward for real temporary tables as there
is a function that creates temporary file names.

But the generated path names are located in TMPDIR and have no
relation to the internal table name. This cannot be used for
ALTER TABLE. Its intermediate files need to be in the same
directory as the old table files. And it is necessary to be
able to deduce the same path from the same table name repeatedly.

Consequently the intermediate table files must be handled like normal
tables. Their internal names shall start with tmp_file_prefix
(#sql) and they shall not be converted like normal table names.

I added a flags parameter to all relevant functions that are
called from ALTER TABLE. It is used to suppress the conversion
for the intermediate table files.

The outcome is that the suppression of #sql in SHOW TABLES
works again. It does not suppress user tables as these are
converted to @0023sql on file level.

This patch does also fix ALTER TABLE ... RENAME, which could not 
rename a table with non-ASCII characters in its name.

It does also fix the problem that a user could create a table like
`#sql-xxxx-yyyy`, where xxxx is mysqld's pid and yyyy is the thread
ID of some other thread, which prevented this thread from running 
ALTER TABLE.

Some of the above problems are mentioned in Bug 1405, which can
be closed with this patch.

This patch does also contain some minor fixes for other forgotten
conversions. Still known problems are reported as bugs 21370,
21373, and 21387.
2006-08-02 17:57:06 +02:00
kostja@bodhi.local
3d3bf24a93 A post-merge fix. 2006-08-02 19:39:47 +04:00
evgen@moonbone.local
7451ffcd0a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-02 18:16:05 +04:00
evgen@moonbone.local
83896aa8f6 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
2006-08-02 18:11:59 +04:00