1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-28 05:01:24 +03:00
Commit Graph

22843 Commits

Author SHA1 Message Date
f1ab632391 merge 2009-01-07 23:28:49 +01:00
d4461fcc6c Fix of Bug#41932 funcs_1: is_collation_character_set_applicability path too long for tar 2009-01-07 22:38:03 +01:00
dc5a0f4481 Bug#41348: INSERT INTO tbl SELECT * FROM temp_tbl overwrites
locking type of temp table

The problem is that INSERT INTO .. SELECT FROM .. and CREATE
TABLE .. SELECT FROM a temporary table could inadvertently
overwrite the locking type of the temporary table. The lock
type of temporary tables should be a write lock by default.

The solution is to reset the lock type of temporary tables
back to its default value after they are used in a statement.
2009-01-07 10:11:37 -02:00
645b4862c9 merged 5.0-bugteam -> 5.1-bugteam 2009-01-05 20:47:28 +02:00
8c25823f94 merged 5.1-main -> 5.1-bugteam 2009-01-05 18:10:20 +02:00
8d16eb71b3 merge 5.0 -> 5.0-bugteam 2009-01-05 18:04:14 +02:00
e56284128f Reverted the fix for bug because of omissions and non-complete test
case.
2009-01-05 12:37:56 +02:00
33cbf93ced Bug : crash of mysqld on windows with aggregate in case
Execution of queries containing the CASE function of
aggregate function like in "SELECT ... CASE ARGV(...) WHEN ..."
crashed the server.


The CASE function caches pointers to concrete comparison
functions for an each pair of types of CASE-WHERE clause
parameters, i.e. for the "CASE INT_RESULT WHERE REAL_RESULT
THEN ... WHERE DECIMAL_RESULT ... END" function call it
caches comparisons for INT_RESULT with REAL_RESULT and
for INT_RESULT with DECIMAL_RESULT. Usually a result
type is known after a call to the fix_fields function,
however, the setup_copy_fields function call may
wrap aggregate items with Item_copy_string that has
STRING_RESULT result type, so setup_copy_fields may
change argument result types of the CASE function after
call to Item_func_case::fix_fields/fix_length_and_dec.
Then the Item_func_case::find_item function tries to
use comparison function for unexpected pair of the
STRING_RESULT and some other type - that caused
an assertion failure of server crash.

The Item_func_case::fix_length_and_dec function has
been modified to take into account possible STRING_RESULT
result type in the presence of aggregate arguments of
the CASE function.
2008-12-31 15:55:04 +04:00
ef4caafce5 auto-merge 2008-12-30 12:51:00 +01:00
cd42736346 auto-merge 2008-12-30 12:48:38 +01:00
4c788d93b1 auto-merge 2008-12-30 12:47:34 +01:00
db36c3250a BUG#41793: rpl_binlog_corruption disabled in main (needs new mtr)
Disabled rpl_binlog_corruption since it requires the new mtr,
which only exists in 5.1-rpl / 6.0-rpl.
Please re-enable the test in 5.1-rpl / 6.0-rpl.
2008-12-30 09:48:19 +01:00
05d7673340 BUG#40482: server/mysqlbinlog crashes when reading invalid Incident_log_event
Problem: When an Incident_log_event contains a bad incident number on disk,
the server crashes with an assertion.
Fix: Don't validate input with assertions. Use errors.
2008-12-29 17:04:10 +01:00
c9245922d6 Bug#41441 repair csv table crashes debug server
The problem: data file can not be deleted on win because
there is another opened instance of this file.
Data file might be opened twice, on table opening stage and
during write_row execution. We need to close both instances
to satisfy Win.
2008-12-29 16:50:51 +04:00
51b78382cd 5.0-bugteam->5.1-bugteam merge 2008-12-29 16:15:48 +04:00
f67ce47617 Bug#41131 "Questions" fails to increment - ignores statements instead stored procs(5.0 ver)
Added global status variable 'Queries' which represents
total amount of queries executed by server including
statements executed by SPs.
note: It's old behaviour of 'Questions' variable.
2008-12-29 16:06:53 +04:00
7ac7726509 Bug#40972: some sql execution lead the whole databse crashing
Problem was an errornous date that lead to end partition
was before the start, leading to a crash.

Solution was to check greater or equal instead of only
equal between start and end partition.

NOTE: partitioning pruning handles incorrect dates
differently than index lookup, which can give different
results in a partitioned table versus a non partitioned
table for queries having 'bad' dates in the where clause.
2008-12-28 12:33:49 +01:00
5ac5774977 5.0-bugteam->5.1-bugteam merge 2008-12-24 19:26:48 +04:00
a31795b82d Bug#40953 SELECT query throws "ERROR 1062 (23000): Duplicate entry..." error
Table could be marked dependent because it is
either 1) an inner table of an outer join, or 2) it is a part of
STRAIGHT_JOIN. In case of STRAIGHT_JOIN table->maybe_null should not
be assigned. The fix is to set st_table::maybe_null to 'true' only
for those tables which are used in outer join.
2008-12-24 19:24:11 +04:00
d23d1b4b8b 5.0-bugteam->5.1-bugteam merge 2008-12-24 19:16:50 +04:00
026e9c3676 Bug#41456 SET PASSWORD hates CURRENT_USER()
init user->user struct with 
thd->security_ctx->priv_user context
if user->user is not initializied
2008-12-24 19:14:59 +04:00
eec8f7c3f6 5.0-bugteam->5.1-bugteam merge 2008-12-24 19:09:00 +04:00
59543e9f80 Bug#25830 SHOW TABLE STATUS behaves differently depending on table name
replace wild_case_compare with my_wildcmp which is multibyte safe function
2008-12-24 19:01:41 +04:00
c61c1a0d60 Bug#40104 regression with table names?
On Winodws FN_DEVCHAR is ':' symbol.
There is a check in mysql_create_table_no_lock() func
on FN_DEVCHAR presence but this code is obsolete and
unnecessary. So the fix is to remove unnecessary code.
2008-12-23 19:33:46 +04:00
429409eb19 5.0-bugteam->5.1-bugteam merge 2008-12-23 18:21:01 +04:00
26e804d0a7 Bug#37575 UCASE fails on monthname
The MONTHNAME/DAYNAME functions
returns binary string, so the LOWER/UPPER functions
are not effective on the result of MONTHNAME/DAYNAME call.  
Character set of the MONTHNAME/DAYNAME function
result has been changed to connection character set.
2008-12-23 18:08:04 +04:00
adf8aaca5b Merge: mysql-5.0-bugteam -> mysql-5.1-bugteam 2008-12-23 16:28:13 +03:00
6291fa6f4f Merge. 2008-12-23 15:06:30 +04:00
6147201a17 Merge 2008-12-22 23:28:08 +03:00
b82383b8d0 Merge into actual tree 2008-12-19 17:42:52 +01:00
05ae989e76 BUG#40974: Incorrect query results when using clause evaluated using range check
- QUICK_INDEX_MERGE_SELECT deinitializes its rnd_pos() scan when it reaches EOF, but we 
  need to make the deinitialization in QUICK_INDEX_MERGE_SELECT destructor also. This is because
  certain execution strategies can stop scanning without reaching EOF, then then try to do a full
  table scan on this table. Failure to deinitialize caused the full scan to use (already empty) 
  table->sort and produce zero records.
2008-12-19 16:38:39 +03:00
65dec8363e Merge into GCA tree 2008-12-19 10:00:58 +01:00
a146cd941f Auto-merge from 5.1-bugteam 2008-12-19 01:56:58 +01:00
8d89831275 Disable part of innodb-autoinc.test, because the MySQL server asserts when
compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and
increment > 1".  This change should be reverted when that bug is fixed (and a
a few other minor changes to the test as described in comments).
2008-12-19 01:28:51 +01:00
4c0e2e8a1e Merge into GCA tree 2008-12-18 19:28:44 +01:00
d4a7e8686e automerge 2008-12-17 20:57:58 +04:00
fcba66f10c Bug#29263 disabled storage engines omitted in SHOW ENGINES
Static disabled plugins|engines and dynamic plugins which installed but disabled
are not visible in I_S PLUGINS|ENGINES tables because they are not stored into
global plugin array.
The fix: add such plugins|engines to plugin array with PLUGIN_IS_DISABLED status.
I_S.ENGINES 'Transactions', 'XA', 'Savepoints' fields have NULL value in this case.
2008-12-17 19:45:34 +04:00
4d5314a2f2 due to merge 2008-12-17 15:54:25 +01:00
0737be6a5a Final fix for bug#36773: Moved patch in 5.1 from rpl to bug team tree. 2008-12-17 14:38:02 +01:00
7df22ce11e BUG#39746 - Debug flag breaks struct definition
(server crash)

Altering a table with fulltext index[es] which use
pluggable fulltext parser may cause server crash
in debug builds.

The problem was that ALTER TABLE code wrongly assigned
fulltext parser name.

Also fixed that altering a table with fulltext index[es]
leave stale fulltext parser locks, which prevent
fulltext parsers from being uninstalled after
ALTER TABLE.
2008-12-17 17:24:34 +04:00
aae00014e2 Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines(for 5.1) 2008-12-17 17:23:21 +04:00
ed1049f9dc Fix for Bug#39854 events_scheduling fails sporadically on pushbuild
Detail:
- Choose the solution that was already in place (before last fix)
  for 6.0
- minor cleanup in comments
2008-12-16 19:09:09 +01:00
3a8e2eaa64 merge 2008-12-16 12:59:58 +01:00
bd2629b439 post push fix for bug#40595
Addition of hander function was_semi_consistent_read
2008-12-16 12:44:18 +01:00
b774a8dd7a Update test result file for binlog_innodb.result; the tested values (change in binlog_cache_use status variable) don't change, just the starting value is reduced. 2008-12-15 23:58:16 +01:00
aa34e94de2 Auto merge from upstream 5.1-bugteam 2008-12-15 13:38:18 -07:00
60a2e4a90c Bug Running mysql-test from RPM fails for NDB
Adds $glob_basedir/sbin to search path when needed
2008-12-15 15:14:56 +01:00
6e36c50b4d merge 2008-12-15 11:20:05 +08:00
e4dedf7ed8 Apply InnoDB snapshot innodb-5.1-ss2858, part 16. Fix merge mistake which
resulted in a duplicate test case for bug 38231.
2008-12-14 14:26:31 -07:00
220ee82cb7 Apply InnoDB snapshot innodb-5.1-2858, part 7.
A follow-up fix for Bug 38839, which exposed a pre-existing bug in the
autoinc handling.

Detailed revision comments:

r2722 | sunny | 2008-10-04 02:48:04 +0300 (Sat, 04 Oct 2008) | 18 lines
branches/5.1: This bug has always existed but was masked by other errors. The
fix for bug# 38839 triggered this bug. When the offset and increment are > 1
we need to calculate the next value taking into consideration the two
variables. Previously we simply assumed they were 1 particularly offset was
never used. MySQL does its own calculation and that's probably why it seemed
to work in the past. We would return what we thought was the correct next
value and then MySQL would recalculate the actual value from that and return
it to the caller (e.g., handler::write_row()). Several new tests have been
added that try and catch some edge cases. The tests exposed a wrap around
error in MySQL next value calculation which was filed as bug 39828. The tests
will need to be updated once MySQL fix that bug.

One good side effect of this fix is that dict_table_t size has been
reduced by 8 bytes because we have moved the autoinc_increment field to
the row_prebuilt_t structure. See review-board for a detailed discussion.

rb://3
2008-12-14 13:42:37 -07:00