1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-15 00:02:46 +03:00
Commit Graph

22843 Commits

Author SHA1 Message Date
b3d77069e9 Apply InnoDB snapshot innodb-5.1-ss2858, part 4. Fixes
Bug : Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch


Detailed revision comments:

r2719 | vasil | 2008-10-03 18:17:28 +0300 (Fri, 03 Oct 2008) | 49 lines
branches/5.1:

Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch

In ha_innobase::info() - do not try to get the free space for a tablespace
which has been discarded with ALTER TABLE ... DISCARD TABLESPACE or if the
.ibd file is missing for some other reason.

ibd_file_missing and tablespace_discarded are manipulated only in
row_discard_tablespace_for_mysql() and in row_import_tablespace_for_mysql()
and the manipulation is protected/surrounded by
row_mysql_lock_data_dictionary()/row_mysql_unlock_data_dictionary() thus we
do the same in ha_innobase::info() when checking the values of those members
to avoid race conditions. I have tested the code-path with UNIV_DEBUG and
UNIV_SYNC_DEBUG.

rb://20

Reviewed by:	Inaam, Calvin
Approved by:	Heikki
2008-12-14 13:31:13 -07:00
fe769c968e Apply InnoDB snapshot innodb-5.1-ss2858, part 2. Fixes
Bug#38231: Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK

branches/5.1:

Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK

In TRUNCATE TABLE and discard tablespace: do not remove table-level S
and X locks and do not assert on such locks not being wait locks.
Leave such locks alone.

Approved by:    Heikki (rb://14)
2008-12-14 13:00:37 -07:00
fef8e27a79 Apply InnoDB snapshot innodb-5.1-ss2637, part 2. Fixes
Bug : auto increment does not work properly with InnoDB after update


Detailed revision comments:

r2609 | sunny | 2008-08-24 01:19:05 +0300 (Sun, 24 Aug 2008) | 12 lines
branches/5.1: Fix for MySQL Bug#38839. Reset the statement level last
value field in prebuilt. This field tracks the last value in an autoincrement
interval. We use this value to check whether we need to update a table's
AUTOINC counter, if the value written to a table is less than this value
then we avoid updating the table's AUTOINC value in order to reduce
mutex contention. If it's not reset (e.g., after a DELETE statement) then
there is the possibility of missing updates to the table's AUTOINC counter
resulting in a subsequent duplicate row error message under certain 
conditions (see the test case for details).

Bug  - auto increment does not work properly with InnoDB after update
2008-12-14 12:29:59 -07:00
46c1980538 Completing snapshot innodb-5.1-ss2438, part 1. Fixes
Bug : Innodb doesn't increment handler_update and handler_delete


Detailed revision comments:

r2388 | vasil | 2008-03-27 14:02:34 +0200 (Thu, 27 Mar 2008) | 7 lines
branches/5.1:

Swap the order in which mysql_thd, mysql_query_str and *mysql_query_str
are checked for non-NULL.

Suggested by:	Marko

r2421 | calvin | 2008-04-24 15:32:30 +0300 (Thu, 24 Apr 2008) | 6 lines
branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
and handler_delete

Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
2008-12-14 11:24:16 -07:00
c9fb9be329 merging from the repository to my local tree 2008-12-12 21:49:41 +02:00
d083ceabe8 Bug log_bin_trust_function_creators_func test explicitly warns on a bug in it
The test 
1. did not verify that CREATE FUNCTION shall fails in a case of active binlog
   and @@log_bin_trust_function_creators is zero if there is no DETERMINISTIC qualifier
   and super user privilege;
2. contained an explit warning on that CREATE FUNCTION actually succeeded whereas
   it was supposed to fail;
3. did not demand the bin-log be set ON even though it has contained the opt file
   explictily setting the name for the binlog file.
      
Fixed 1-3 with modifying the test accordingly.
2008-12-12 21:15:56 +02:00
97d0c8d9aa merge 5.1-bt repository to my local branch. 2008-12-12 17:33:11 +02:00
e1f93509e1 auto merge 5.0-bugteam --> 5.1-bugteam (bug 40761) 2008-12-12 18:19:33 +04:00
ff1161eb58 Bug Running mysql-test from RPM fails for NDB
Added $glob_basedir/sbin to search path for relevant binaries
2008-12-12 15:10:56 +01:00
c1bf0475cf Bug : Assert on sum function on
IF(..., CAST(longtext AS UNSIGNED), signed_val)
            (was: LEFT JOIN on inline view crashes server)

Select from a LONGTEXT column wrapped with an expression
like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
failed an assertion or crashed the server. IFNULL function was
affected too.

LONGTEXT column item has a maximum length of 32^2-1 bytes,
at the same time this is a maximum possible length of any
MySQL item. CAST(longtext_column AS UNSIGNED) returns some
unsigned numeric result of length 32^2-1, so the result of
IF/IFNULL function of this number and some other signed number
will have text length of (32^2-1)+1=32^2 (one byte for the
minus sign) - there is integer overflow, and the length is
equal to zero. That caused assert/crash.

CAST AS UNSIGNED function has been modified to limit maximal
length of resulting number to 67 (maximal length of DECIMAL
and two characters for minus sign and dot).
2008-12-12 17:16:25 +04:00
2b761ffde9 Bug Test commit1_innodb fails with binlog-format=row
The test explicitly warned on existence of a bug in its 27th part.
The expected values of prepare and commit counters changed, corrected, by
fixes to bug#40221.
Notice, that binlog does not have to register for a statement with
the statement binlog-format because the statement rollback does not need
to do anything in that mode. It's not so with the ROW format which was
bug#40221 concern.

Fixed with correcting the expected values of the mentioned counters and
explained that with comments in the test.
2008-12-12 14:52:20 +02:00
5772a50b7d rollback of bug fix 2008-12-12 15:13:11 +04:00
03f9b2cea6 rollback of bug fix 2008-12-12 14:59:10 +04:00
09219a03b9 manual merge 5.0-bugteam -> 5.1-bugteam (bug 40761) 2008-12-12 02:04:06 +04:00
ce8ad64dd2 Bug : Assert on sum function on
IF(..., CAST(longtext AS UNSIGNED), signed_val)
            (was: LEFT JOIN on inline view crashes server)

Select from a LONGTEXT column wrapped with an expression
like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
failed an assertion or crashed the server. IFNULL function was
affected too.

LONGTEXT column item has a maximum length of 32^2-1 bytes,
at the same time this is a maximum possible length of any
MySQL item. CAST(longtext_column AS UNSIGNED) returns some
unsigned numeric result of length 32^2-1, so the result of
IF/IFNULL function of this number and some other signed number
will have text length of (32^2-1)+1=32^2 (one byte for the
minus sign) - there is integer overflow, and the length is
equal to zero. That caused assert/crash.

The bug has been fixed by the same solution as in the CASE
function implementation.
2008-12-12 00:57:32 +04:00
14f2ce6dbd Merge fix for Bug 33812 from 5.0-bugteam. 2008-12-11 12:46:20 -05:00
cf9126a034 Bug#33812: mysql client incorrectly parsing DELIMITER
Fix parsing of mysql client commands, especially in relation to
single-line comments when --comments was specified.

This is a little tricky, because we need to allow single-line
comments in the middle of statements, but we don't want to allow
client commands in the middle of statements. So in
comment-preservation mode, we go ahead and send single-line
comments to the server immediately when we encounter them on their
own. 

This is still slightly flawed, in that it does not handle a
single-line comment with leading spaces, followed by a client-side
command when --comment has been enabled. But this isn't a new
problem, and it is quite an edge condition. Fixing it would require
a more extensive overall of how the mysql client parses commands.
2008-12-11 12:26:03 -05:00
a0869f7cc6 BUG#38826
Merge from 5.0-bugteam. Additional fix for unused ret variable warning.
2008-12-11 13:29:09 +00:00
c7d03ca35b Merge main 5.1 into 5.1-build 2008-12-10 21:14:50 +01:00
c0301ac03e post push fix for test case for bug#39084. 2008-12-10 19:29:22 +01:00
d571e652a7 merge 2008-12-10 11:50:01 -05:00
22e3c1f6b1 Merge mysql-5.0-bugteam->mysql-5.1-bugteam. 2008-12-10 19:17:58 +03:00
764b9717ef Pull from mysql-5.0-bugteam. 2008-12-10 19:14:32 +03:00
5fdd9c99c2 Bug#35275 INFORMATION_SCHEMA.TABLES.CREATE_OPTIONS omits KEY_BLOCK_SIZE
Added KEY_BLOCK_SIZE option to I_S.TABLES.CREATE_OPTIONS field
2008-12-10 18:38:27 +04:00
33bac53782 Fix for a test failure on Solaris/x86/gcc introduced by the patch for bug .
Removed values with more than 15 significant digits from the test case. Results of 
reading/printing such values using system library functions depend on implementation 
and thus are not portable.
2008-12-10 16:07:32 +03:00
9383631e59 push to 5.0-bugteam tree. 2008-12-10 10:53:22 +00:00
c5d7c038a3 push to 5.1-buteam tree. 2008-12-10 10:51:43 +00:00
03ea91cc0c merge 2008-12-10 10:33:01 +01:00
f5a850109a Bug#38227 EXTRACTVALUE doesn't work with DTD declarations
Problem:
 XML syntax parser allowed to use quoted strings as attribute names,
 and tried to put them into parser state stack instead of identifiers.
 After that parser failed, if quoted string contained some slash characters.
Fix:
 - Disallowing quoted strings in regular tags.
 - Allowing quoted string in DOCTYPE declararion, but
 don't push it into parse state stack (just skip it).
2008-12-10 13:05:57 +04:00
2453e20f7d updating with mysql-5.0-bugteam 2008-12-10 14:26:57 +05:30
575dc079ca merge 2008-12-10 09:11:59 +01:00
7ce5c00c7b merge 2008-12-10 09:06:58 +01:00
d506265f2c backported the fix for bug to 5.0 2008-12-09 20:35:02 +02:00
7213d3c92c merge 2008-12-09 13:34:17 -05:00
2d88514de4 merged 37936 to 5.1-bugteam 2008-12-09 19:58:50 +02:00
71296ae2e2 Bug : ASSERT_COLUMN_MARKED_FOR_WRITE in Field_datetime::store ,
Field_varstring::store
      
The code that temporary saved the bitmaps of the read set and the write set so that
it can set it to all columns for debug purposes was not expecting that the
table->read_set and table->write_set can be the same. And was always saving both in 
sequence.
As a result the original value was never restored.
Fixed by saving & restoring the original value only once if the two sets are the
same (in a special set of functions).
2008-12-09 19:46:03 +02:00
2d0c3f0161 merge 2008-12-09 12:21:22 -05:00
9ce98dd101 due to merge 2008-12-09 17:34:31 +01:00
c77aa9fafd merge 2008-12-09 11:05:01 -05:00
22b701908b automerge 2008-12-09 19:52:50 +04:00
532fd0bd18 Merge of latest changes into GCA tree
no conflicts
2008-12-09 16:40:12 +01:00
9ff609116d updated test results 2008-12-09 19:31:22 +04:00
6e96dd3135 due to merge 2008-12-09 16:15:07 +01:00
c69ca8476c merge 2008-12-09 10:08:52 -05:00
702375158b Merge of fix for Bug 40904 into GCA tree 2008-12-09 15:11:53 +01:00
ed61dee680 5.0-bugteam->5.1-bugteam merge 2008-12-09 17:31:22 +04:00
c5c64a30d4 Bug#31399 Wrong query result when doing join buffering over BIT fields
if table has bit fields then uneven bits(if exist) are stored into null bits place.
So we need to copy null bits in case of uneven bit field presence.
2008-12-09 16:59:47 +04:00
d2b5e0bb94 Bug#31291 ALTER TABLE CONVERT TO CHARACTER SET does not change some data types
added ability for TINY[MEDIUM] text fields 
to be converted to greater subtype during
alter if necessary(altered charset)
2008-12-09 16:38:52 +04:00
f4c648aff8 automerge 2008-12-09 16:17:17 +04:00
904c7c4409 automerge 2008-12-09 16:11:01 +04:00