1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-05 01:43:31 +03:00
Commit Graph

25331 Commits

Author SHA1 Message Date
Alexander Nozdrin
ac7ba1bcaa Merge from mysql-next-mr. 2009-10-28 10:55:44 +03:00
Alexander Nozdrin
48c15f0fb0 Automerge from mysql-next-mr. 2009-10-28 10:48:53 +03:00
Mikael Ronstrom
b572e51c30 BUG#48165, needed to introduce length restrictions on partitioning fields to ensure that no stack overruns occur 2009-10-28 01:11:17 +01:00
Mikael Ronstrom
59cc518990 Fixed sql_mode issue in BUG#48164, will ignore sql_mode when generating constants, also warnings will not be tolerated 2009-10-28 00:06:11 +01:00
Luis Soares
520795fa2a BUG#48297: Schema name is ignored when LOAD DATA is written into
binlog, replication aborts

In SBR or MBR, the schema name is not being written to the binlog
when executing a LOAD DATA statement. This becomes a problem when
the current database (lets call it db1) is different from the
table's schema (lets call it db2). For instance, take the
following statements:
  
  use db1;
  load data local infile 'infile.txt' into table db2.t

Should this statement be logged without t's schema (db2), when
replaying it, one can get db1.t populated instead of db2.t (if
db1.t exists). On the other hand, if there is no db1.t at all,
replication will stop.

We fix this by always logging the table (in load file) with fully
qualified name when its schema is different from the current
database or when no default database was selected.
2009-10-27 15:15:53 +00:00
Sergey Vojtovich
c23f756275 Merge 5.1-bugteam -> 5.1-bugteam-local. 2009-10-27 18:30:02 +04:00
Sergey Vojtovich
9fbc44eb09 A follow-up to fix for
BUG#47073 - valgrind errs, corruption,failed repair of partition,
            low myisam_sort_buffer_size

Fixed race conditions discovered with the provided test case and
stabilized test case.
2009-10-27 18:27:27 +04:00
Georgi Kodinov
49a7e81863 Bug #47930: MATCH IN BOOLEAN MODE returns too many results
inside subquery

Re-setting a fulltext index was a no-operation if not all
the matches of a search were consumed by reading them.
This was preventing a joined table using a fulltext index
in a subquery that requires only 1 row of output (e.g. EXISTS) 
from working correctly because the second execution of the 
sub-query has the fulltext index cursor in a wrong state and
was not finding results.
Fixed by making the re-init code _ftb_init_index_search() 
to re-set open cursors in addition to depleted ones.
2009-10-27 14:43:12 +02:00
Georgi Kodinov
1bbd709725 merge 2009-11-10 12:59:02 +02:00
Georgi Kodinov
bb6b57043f merge 2009-11-10 10:58:43 +02:00
Sergey Glukhov
fa63ac117c automerge 2009-10-27 15:04:59 +04:00
He Zhenxing
ea84da107a Auto merge from 5.1-rep+2-delivery1 2009-10-27 18:28:40 +08:00
Sergey Glukhov
1968895ed3 5.0-bugteam->5.1-bugteam merge 2009-10-27 14:09:36 +04:00
Alexander Nozdrin
ca1d413360 Automerge from mysql-trunk-bugfixing. 2009-10-27 13:05:40 +03:00
Alexander Nozdrin
436223fbe3 Make rpl_timezone experimental due to Bug#47017. 2009-10-27 13:05:06 +03:00
Alexander Nozdrin
c6aeab8cfe Automerge from mysql-next-mr. 2009-10-27 12:59:09 +03:00
Alexander Nozdrin
273a0a4f97 Automerge from mysql-next-mr. 2009-10-27 12:57:44 +03:00
Tatiana A. Nurnberg
842039a1fb auto-merge 2009-10-27 02:53:16 -07:00
Dmitry Lenev
b6e5b5e99b Fixed lock_sync.test failure in mysql-next-mr tree in embedded mode.
Disabled execution of this test for embedded server until fix for
bug 41971 'Thread state on embedded server is always "Writing to net"'
is back-ported to this tree.
2009-10-27 12:43:40 +03:00
Alexander Nozdrin
f89b2496ff Test postfix for Bug#43138 (DROP DATABASE failure does not
clean up message list).
2009-10-27 11:54:27 +03:00
He Zhenxing
c841979de4 disable rpl_spec_variables due to it fails constantly on HPUX 2009-10-27 16:42:50 +08:00
Sergey Glukhov
58b7761ed8 Bug#41049 does syntax "grant" case insensitive?
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note: 
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).
2009-10-27 12:09:19 +04:00
Alexander Barkov
02fff878cc A postfix for WL#1349
Fixing locale name: en_US.UTF-8 -> en_US.utf8
2009-10-27 08:38:32 +04:00
Dmitry Lenev
dfa2acb141 Fix for bug #45143 "All connections hang on concurrent ALTER TABLE".
Concurrent execution of statements which require non-table-level
write locks on several instances of the same table (such as
SELECT ... FOR UPDATE which uses same InnoDB table twice or a DML
statement which invokes trigger which tries to update same InnoDB
table directly and through stored function) and statements which
required table-level locks on this table (e.g. LOCK TABLE ... WRITE,
ALTER TABLE, ...) might have resulted in a deadlock.

The problem occured when a thread tried to acquire write lock
(TL_WRITE_ALLOW_WRITE) on the table but had to wait since there was
a pending write lock (TL_WRITE, TL_WRITE_ALLOW_READ) on this table
and we failed to detect that this thread already had another instance
of write lock on it (so in fact we were trying to acquire recursive
lock) because there was also another thread holding write lock on the
table (also TL_WRITE_ALLOW_WRITE). When the latter thread released
its lock neither the first thread nor the thread trying to acquire
TL_WRITE/TL_WRITE_ALLOW_READ were woken up (as table was still write
locked by the first thread) so we ended up with a deadlock.

This patch solves this problem by ensuring that thread which
already has write lock on the table won't wait when it tries
to acquire second write lock on the same table.
2009-10-26 22:38:03 +03:00
Georgi Kodinov
0ce16dbf6d rpl_cross_version made experimental because of bug #43913 2009-10-26 14:33:03 +02:00
Alexander Barkov
7a22056abb A postfix for WL#1349: Fixing test failire problems on HP-UX 2009-10-26 16:29:41 +04:00
Sergey Glukhov
c995288a11 Bug#35427 INFORMATION_SCHEMA.TABLES.TABLE_CATALOG is NULL, should be "def"
additional fix(Betony)
2009-10-26 11:35:20 +04:00
Luis Soares
78172f9e21 automerge: mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge. 2009-10-25 22:58:52 +00:00
Georgi Kodinov
9db41de042 automerge 2009-10-24 09:57:31 +03:00
Ramil Kalimullin
dd1719397e Auto-merge. 2009-10-23 23:37:57 +05:00
Luis Soares
ec9aa90ad9 post-push fixes
Disabled rpl_cross_version (instead of setting it experimental).
Fixed outstanding warning fix in main.debug_sync.
2009-10-23 17:07:45 +01:00
Jon Olav Hauglid
2397923da3 automerge 2009-10-23 16:35:06 +02:00
Georgi Kodinov
fd465c2b57 Revert the fix for bug #47627 as it's causing the regression tests in pb2 to
fail.
2009-10-23 16:54:58 +03:00
He Zhenxing
42743de67d Auto merge 5.1-rep-semisync to 5.1-rep+2-delivery1 2009-10-23 21:34:07 +08:00
He Zhenxing
f09129c6be Skip semisync test if the plugin-dir is not set to semisync plugin dir 2009-10-23 21:26:17 +08:00
Jon Olav Hauglid
111da3a4c0 Bug #47919 assert in open_table during ALTER temporary table
This assertion would occur if UPDATE was used to update multiple
tables containing an AUTO_INCREMENT column and if the inserted
row had a user-supplied value for that column. The assertion 
could then be triggered by the next statement.

The problem was only noticeable on debug builds of the server.

The cause of the problem was that the code for multi update did
not properly reset the TABLE->auto_increment_if_null flag after update.
The flag is used to indicate that a non-null value of an auto_increment field
has been provided by the user or retrieved from a current record.
Open_tables() contains an assertion that tests this flag, and this
was triggered in this case by ALTER TABLE.

This patch fixes the problem by resetting the auto_increment_if_null
field to FALSE once a row has been updated.

This bug is similar to Bug#47274, but for multi update rather
than INSERT DELAYED.

Test case added to update.test.
2009-10-23 15:09:14 +02:00
Georgi Kodinov
cf6359403c merged 5.1-main-> 5.1-bugteam 2009-10-23 15:12:26 +03:00
Ramil Kalimullin
24885e815f Fix for bug#48258: Assertion failed when using a spatial index
Problem: involving a spatial index for "non-spatial" queries
(that don't containt MBRXXX() functions) may lead to failed assert.

Fix: don't use spatial indexes in such cases.
2009-10-23 16:26:48 +05:00
Alexander Nozdrin
069d78c067 Merge from mysql-next-mr. 2009-10-23 15:22:21 +04:00
Sergey Glukhov
dbe504ec7a Bug#35427 INFORMATION_SCHEMA.TABLES.TABLE_CATALOG is NULL, should be "def"
backport to betony
2009-10-23 16:02:20 +05:00
Luis Soares
9ef305232f Added rpl_heartbeat_2slaves to experimental list. 2009-10-23 10:33:12 +01:00
Luis Soares
aa12c04656 post-push fix: Preserving warning codes from mysql-next-mr. Updated
result files.

Warnings affected:
 - WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED
 - ER_TOO_LONG_FIELD_COMMENT
2009-10-23 10:29:59 +01:00
Sergey Glukhov
676c12e2d4 Bug#35428 When selecting from INFORMATION_SCHEMA tables, incomplete metadata
backport to Betony
2009-10-23 14:19:54 +05:00
Alexander Barkov
e17d05cdc7 A postfix for WL#1349.
Fixed problems:
- "mtr --mem mysql_locale_posix" could fail because of wrong temporary
  directory name: var/tmp/ -> $MYSQLTEST_VARDIR/tmp/
- "mtr federated_debug" could fail because of not compiled-in
   locale character set.  Always run mysqladmin with latin1.
2009-10-23 13:02:17 +05:00
Sergey Glukhov
0a0f50e4ab Bug#39270 I_S optimization algorithm does not work properly in some cases
backport to Betony
2009-10-23 12:02:55 +05:00
Sergey Glukhov
424af68331 Bug#24062 Incorrect error msg after execute DROP TABLE IF EXISTS on information_schema
backport to Betony
2009-10-23 11:56:30 +05:00
Sergey Glukhov
0c7e9e3f52 Bug#5299 Remove SHOW COLUMN TYPES, backport to Betony 2009-10-23 11:20:44 +05:00
He Zhenxing
b6529a140b Add semi-sync support for Windows 2009-10-23 12:56:30 +08:00
eddd5403a7 BUG #13963
Postfix
2009-10-23 10:19:50 +08:00
Luis Soares
8a60aa18b6 BUG#34582: mysql-5.1-bugteam-bug-branch --> mysql-5.1-bugteam-latest
(automerge)
2009-10-23 01:03:41 +01:00