1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-20 13:13:59 +03:00

76796 Commits

Author SHA1 Message Date
Michael Widenius
f2d7609ac0 Use less memory when growing HEAP tables. See MDEV-436
mysql-test/suite/heap/heap.result:
  Added test case for MDEV-436
mysql-test/suite/heap/heap.test:
  Added test case for MDEV-436
storage/heap/hp_block.c:
  Don't allocate a set of HP_PTRS when not needed. This saves us about 1024 bytes for most allocations.
storage/heap/hp_create.c:
  Made the initial allocation of block sizes depending on min_records and max_records.
2012-08-07 01:58:05 +03:00
Michael Widenius
a7123f5075 Fixed compiler warnings
sql/log.h:
  Fixed compiler warnings reported for gcc 2.7.1
storage/xtradb/handler/ha_innodb.cc:
  Remove not used variables
2012-08-06 16:33:11 +03:00
Chaithra Gopalareddy
f79b8d6ffe Merge from 5.1 to 5.5 2012-08-06 10:40:03 +05:30
Chaithra Gopalareddy
c61abdadcf Bug #14099846: EXPORT_SET CRASHES DUE TO OVERALLOCATION OF MEMORY
Backport the fix from 5.6 to 5.1
Base bug number : 11765562

sql/item_strfunc.cc:
  In Item_func_export_set::val_str, verify that the size of the end
  result is within reasonable bounds.
2012-08-05 16:29:28 +05:30
unknown
639e4967a9 Merge from mysql-5.5.27-release 2012-08-02 21:09:42 +02:00
Elena Stepanova
4f3674c8c0 MDEV-369 (Mismatches in MySQL engines test suite)
Following reasons caused mismatches:
  - different handling of invalid values;
  - different CAST results with fractional seconds;
  - microseconds support in MariaDB;
  - different algorithm of comparing temporal values;
  - differences in error and warning texts and codes;
  - different approach to truncating datetime values to time;
  - additional collations;
  - different record order for queries without ORDER BY;
  - MySQL bug#66034.
More details in MDEV-369 comments.
2012-08-02 00:58:13 +04:00
Sergei Golubchik
6ed4a283fd MDEV-399 Combinations defined in the base suite cannot be skipped by overlay
When appliying parent combinations to the overlay,
filter them through the %skip_combinations using the overlayed filename
2012-08-01 19:57:36 +02:00
Vladislav Vaintroub
bd39599668 fix oqgraph on MSVC 2012-08-02 23:17:27 +02:00
Elena Stepanova
b69e8d46b6 MDEV-369: Mismatches in MySQL engines test suite
Post-merge fixes for mismatches that only affect 5.5 (but not 5.3)
2012-08-02 04:48:33 +04:00
Elena Stepanova
f2b4305bd4 Merge 5.3->5.5 2012-08-02 04:22:43 +04:00
Sergei Golubchik
6d4acc43e5 MDEV-336 oqgraph 5.5 crashes in buildbot
make CMakeLists.txt to detect if the installed boost can be compiled with the
installed compile and specified set of compiler options.

Background: even sufficiently new Boost cannot be compiled with the sufficiently old gcc
in the presence of -fno-rtti
2012-07-31 22:39:33 +02:00
Joerg Bruehe
d20a8b694e INSTALL-BINARY placeholder (upmerge from 5.1): change invalid URLs (request from Kristofer) 2012-07-31 20:45:36 +02:00
Joerg Bruehe
d0f2e1b0d1 INSTALL-BINARY placeholder: change invalid URLs (request from Kristofer) 2012-07-31 20:41:46 +02:00
Sergei Golubchik
0117a92fed MDEV-419 ensure that all HAVE_XXX constants can be set by cmake
add missing checks to configure.cmake
remove dead code and unused HAVE_xxx constants from the sources
2012-07-31 19:29:07 +02:00
Sergei Golubchik
42ea25d4c5 MDEV-375 Server crashes in THD::print_aborted_warning with log_warnings > 3
Don't use ER(xxx) in THD::close_connection(), when current_thd is already reset to NULL.
Prefer ER_THD() or ER_DEFAULT() instead.
2012-07-31 18:32:46 +02:00
Alexey Botchkov
9705ad5e33 MDEV-340 Save replication comments for DROP TABLE.
mysql_rm_table_no_locks() function was modified.
      When we construct log record for the DROP TABLE, now we
      look if there's a comment before the first table name and
      add it to the record if so.
  
per-file comments:
  sql/sql_table.cc
  MDEV-340 Save replication comments for DROP TABLE.
        comment_length() function implemented to find comments in the query,
        call it in mysql_rm_table_no_locks() and use the result to form log record.
  mysql-test/suite/binlog/r/binlog_drop_if_exists.result
  MDEV-340 Save replication comments for DROP TABLE.
        test result updated.
  mysql-test/suite/binlog/t/binlog_drop_if_exists.test
  MDEV-340 Save replication comments for DROP TABLE.
        test case added.
2012-07-31 16:21:53 +05:00
Sergei Golubchik
7368ef56c6 MDEV-418 Feedback plugin statisics problem
Add the check for sys/utsname.h to configure.cmake
2012-07-31 11:31:26 +02:00
Vladislav Vaintroub
257fd9d3d9 MDEV-417 - fix typo that prevented use of atomic instructions on Windows
use correct macro for Microsoft compiler. It is _MSC_VER , not _MSV_VER
2012-07-30 20:13:23 +02:00
Elena Stepanova
d1a90e852b MDEV-369 (Mismatches in MySQL engines test suite)
Following reasons caused mismatches:
  - different handling of invalid values;
  - different CAST results with fractional seconds;
  - microseconds support in MariaDB;
  - different algorithm of comparing temporal values;
  - differences in error and warning texts and codes;
  - different approach to truncating datetime values to time;
  - additional collations;
  - different record order for queries without ORDER BY;
  - MySQL bug#66034.
More details in MDEV-369 comments.
2012-07-30 04:16:49 +04:00
Tor Didriksen
a81c2b5842 merge 5.1 => 5.5 2012-07-27 09:19:35 +02:00
Tor Didriksen
5f2f37cd41 Bug#14111180 HANDLE_FATAL_SIGNAL IN PTR_COMPARE_1 / QUEUE_INSERT
Space available for merging was calculated incorrectly.
2012-07-27 09:13:10 +02:00
Venkata Sidagam
345da95761 Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Null merge from 5.1 to 5.5
2012-07-27 12:12:15 +05:30
Venkata Sidagam
e130d9efbf Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Fixed the missing of federated/include folder at the time 
of preparing package distribution, issue happens only in 5.1
2012-07-27 12:05:37 +05:30
Elena Stepanova
3ca3b44dbb Result files were wrong due to MySQL bug#66034 2012-07-26 23:31:08 +04:00
Joerg Bruehe
11fc7b64d3 Spec file: Declare conflicts with the ULN RPMs. 2012-07-26 21:20:15 +02:00
Joerg Bruehe
5bb0b7759f ULN spec file: Some comment or message text alignments. 2012-07-26 21:02:41 +02:00
Joerg Bruehe
aa36e25cb2 Spec file: transfer the 'runselftest' macro to a work tree. 2012-07-26 20:41:45 +02:00
Joerg Bruehe
15cc028427 Spec file for ULN RPMs:
- Add the vendor and release series checks from our traditional spec file,
  to protect against errors during upgrade.

- Do some reformatting, to reduce the differences to our traditional spec file.
2012-07-26 20:33:06 +02:00
Joerg Bruehe
d06273ef43 Spec file polishing: Handle 'MySQL-*' and 'mysql-*', part 1 2012-07-26 20:24:51 +02:00
Praveenkumar Hulakund
0c75ba44fe Merge from 5.1 to 5.5 2012-07-26 23:53:45 +05:30
Praveenkumar Hulakund
44cd81da86 BUG#13868860 - LIMIT '5' IS EXECUTED WITHOUT ERROR WHEN '5'
IS PLACE HOLDER AND USE SERVER-SIDE 

Analysis:
LIMIT always takes nonnegative integer constant values. 

http://dev.mysql.com/doc/refman/5.6/en/select.html

So parsing of value '5' for LIMIT in SELECT fails.

But, within prepared statement, LIMIT parameters can be
specified using '?' markers. Value for the parameter can
be supplied while executing the prepared statement.

Passing string values, float or double value for LIMIT
works well from CLI. Because, while setting the value
for the parameters from the variable list (added using
SET), if the value is for parameter LIMIT then its 
converted to integer value. 

But, when prepared statement is executed from the other
interfaces as J connectors, or C applications etc.
The value for the parameters are sent to the server
with execute command. Each item in log has value and
the data TYPE. So, While setting parameter value
from this log, value is set to all the parameters
with the same data type as passed.
But here logic to convert value to integer type
if its for LIMIT parameter is missing.
Because of this,string '5' is set to LIMIT.
And the same is logged into the binlog file too. 

Fix:
When executing prepared statement having parameter for
CLI it worked fine, as the value set for the parameter
is converted to integer. And this failed in other 
interfaces as J connector,C Applications etc as this 
conversion is missing.

So, as a fix added check while setting value for the
parameters. If the parameter is for LIMIT value then
its converted to integer value.
2012-07-26 23:44:43 +05:30
Venkata Sidagam
fe7a28e759 Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Merged pb2 test failure fix from mysql-5.1 to mysql-5.5
2012-07-26 23:27:01 +05:30
Venkata Sidagam
b6ecca263c Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Fix for pb2 test failure.
2012-07-26 23:23:04 +05:30
Nirbhay Choubey
251545431d Merge of patch for Bug#13741677 from mysql-5.1. 2012-07-26 21:59:05 +05:30
Nirbhay Choubey
55f3fd4d63 Bug#13741677 MYSQL_SECURE_INSTALLATION DOES NOT
WORK + SAVES ROOT PASSWORD TO DISK!

The secure installation scripts connect to the
server by storing the password in a temporary
option file. Now, if the script gets killed or
fails for some reason, the removal of the option
file may not take place.

This patch introduces following enhancements :
* (.sh) Made sure that cleanup happens at every
  call to 'exit 1'. This is performed implicitly
  by END{} in pl.in.
* (.pl.in) Added a warning in case unlink fails
  to delete the option/query files.
* (.sh/.pl.in) Added more signals to the signal
  handler list. SIG# 1, 3, 6, 15
2012-07-26 21:47:03 +05:30
Tor Didriksen
35785ed8b0 merge 5.1 => 5.5 2012-07-26 15:06:43 +02:00
Tor Didriksen
d24a78d1ea Backport of Bug#14171740 65562: STRING::SHRINK SHOULD BE A NO-OP WHEN ALLOCED=0 2012-07-26 15:05:24 +02:00
Venkata Sidagam
fdaafddd80 Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Merged from mysql-5.1 to mysql-5.5
2012-07-26 15:29:19 +05:30
Venkata Sidagam
aef1982be0 Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Problem description:
Table 't' created with two colums having compound index on both the 
columns under innodb/myisam engine at remote machine. In the local 
machine same table is created undet the federated engine.
A select having where clause with along 'AND' operation gives wrong 
results on local machine.

Analysis: 
The given query at federated engine is wrongly transformed by 
federated::create_where_from_key() function and the same was sent to 
the remote machine. Hence the local machine is showing wrong results.

Given query "select c1 from t where c1 <= 2 and c2 = 1;"
Query transformed, after ha_federated::create_where_from_key() function is:
SELECT `c1`, `c2` FROM `t` WHERE  (`c1` IS NOT NULL ) AND 
( (`c1` >= 2)  AND  (`c2` <= 1) ) and the same sent to real_query().
In the above the '<=' and '=' conditions were transformed to '>=' and 
'<=' respectively.

ha_federated::create_where_from_key() function behaving as below:
The key_range is having both the start_key and end_key. The start_key 
is used to get "(`c1` IS NOT NULL )" part of the where clause, this 
transformation is correct. The end_key is used to get "( (`c1` >= 2) 
AND  (`c2` <= 1) )", which is wrong, here the given conditions('<=' and '=') 
are changed as wrong conditions('>=' and '<=').
The end_key is having {key = 0x39fa6d0 "", length = 10, keypart_map = 3, 
flag = HA_READ_AFTER_KEY}

The store_length is having value '5'. Based on store_length and length 
values the condition values is applied in HA_READ_AFTER_KEY switch case.
The switch case 'HA_READ_AFTER_KEY' is applicable to only the last part of 
the end_key and for previous parts it is going to 'HA_READ_KEY_OR_NEXT' case, 
here the '>=' is getting added as a condition instead of '<='.

Fix:
Updated the 'if' condition in 'HA_READ_AFTER_KEY' case to affect for all 
parts of the end_key. i.e 'i > 0' will used for end_key, Hence added it in 
the if condition.


mysql-test/suite/federated/federated.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_archive.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_bug_13118.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_bug_25714.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_bug_35333.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_debug.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_innodb.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_server.test:
  modified the federated.inc file location
mysql-test/suite/federated/federated_transactions.test:
  modified the federated.inc file location
mysql-test/suite/federated/include/federated.inc:
  moved the file from federated suite to federated/include folder
mysql-test/suite/federated/include/federated_cleanup.inc:
  moved the file from federated suite to federated/include folder
mysql-test/suite/federated/include/have_federated_db.inc:
  moved the file from federated suite to federated/include folder
storage/federated/ha_federated.cc:
  updated the 'if condition' in ha_federated::create_where_from_key() 
  function.
2012-07-26 15:09:22 +05:30
Joerg Bruehe
dbfe6a6d42 Merge 5.5.27 into the tree for ULN RPMs. 2012-07-25 22:22:34 +02:00
Sergey Petrunya
55597a4869 MDEV-410: EXPLAIN shows type=range, while SHOW EXPLAIN and userstat show full table scan is used
- Make Item_subselect::fix_fields() ignore UNCACHEABLE_EXPLAIN flag when deciding whether 
  the subquery item should be marked as constant.
2012-07-25 20:41:48 +04:00
Thayumanavar
fa0d2df5ff Bug#13699303 - THREAD POOL PLUGIN IGNORES TIMEOUT.
PROBLEM: 
mysql provides a feature where in a session which is 
idle for a period specified by the wait_timeout variable
(whose value is in seconds), the session is closed
This feature is not present when we use thread pool.
FIX:
This patch implements the interface functions which is 
required to implement the wait_timeout functionality
in the thread pool plugin.
2012-07-25 16:24:18 +05:30
Sujatha Sivakumar
aca566d798 Follow up patch for BUG#13961678. Fixing compilation warning given below.
"warning: integer constant is too large for 'long' type"
2012-07-25 14:56:37 +05:30
unknown
cedccf1157 2012-07-25 14:45:43 +05:30
Annamalai Gurusami
39ddd89658 Null merge from mysql-5.1 to mysql-5.5. 2012-07-25 13:53:01 +05:30
Annamalai Gurusami
1383660024 Bug #13113026 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRUFROM 5.6 BACKPORT
Backporting the WL#5716, "Information schema table for InnoDB 
buffer pool information". Backporting revisions 2876.244.113, 
2876.244.102 from mysql-trunk.

rb://1175 approved by Jimmy Yang.
2012-07-25 13:51:39 +05:30
unknown
45176d9f14 2012-07-25 09:09:13 +02:00
Annamalai Gurusami
1c6f78e337 Bug #13113026 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRUFROM 5.6 BACKPORT
Backporting the WL#5716, "Information schema table for InnoDB
buffer pool information". Backporting revisions 2876.244.113,
2876.244.102 from mysql-trunk.

rb://1177 approved by Jimmy Yang.
2012-07-25 10:48:16 +05:30
unknown
a742d49c90 Awoiding registering partiton engine underlying tables whan it has no sens. 2012-07-24 17:50:06 +03:00
Harin Vadodaria
7baba64497 Bug#13904906: YASSL PRE-AUTH CRASH WITH 5.1.62, 5.5.22
Problem: Valgrind reports errors when an invalid certificate is used on the
         client.

Solution: Updated yaSSL to version 2.2.2.
2012-07-24 18:45:58 +05:30