1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00
Commit Graph

28653 Commits

Author SHA1 Message Date
Georgi Kodinov
df905524b2 merge mysql-5.1->mysql-5.1-security 2012-04-10 14:21:57 +03:00
Venkata Sidagam
af90fc04ff Bug #11766072 59107: MYSQLSLAP CRASHES IF STARTED WITH NO ARGUMENTS ON WINDOWS
This bug is a duplicate of Bug #31173, which was pushed to the 
mysql-trunk 5.6 on 4th Aug, 2010. This is just a back-port of 
the fix


mysql-test/r/mysqlslap.result:
  A test added as part of the fix for Bug #59107
mysql-test/t/mysqlslap.test:
  A test added as part of the fix for Bug #59107
2012-04-09 16:42:41 +05:30
Igor Babaev
b95ae56b9f Fixed LP bug #972973.
When the function free_tmp_table deletes the handler object for
a temporary table the field TABLE::file for this table should be
set to NULL. Otherwise an assertion failure may occur.
2012-04-07 02:29:04 -07:00
Igor Babaev
c1feaf8d8a Merge. 2012-04-06 16:40:39 -07:00
Igor Babaev
4ca9b8eb3a Fixed bug #915222.
This bug happened because the function find_field_in_view formed
autogenerated names of view columns without a possibility to roll
them back. In some situation it could cause memory misuses reported
by valgrind or even crashes.
2012-04-06 15:08:09 -07:00
Sergei Golubchik
a3073ecd96 merge 2012-04-05 23:07:18 +02:00
unknown
1a48919036 Fix of LP bug#968720.
When a view/derived table is converted from merged to materialized the
items from the used_item lists are substituted for items referring to
the fields of the result of the materialization. The problem appeared
with queries employing natural joins. Since the resolution of a natural
join was performed only once the used_item list formed at the second
execution of the query lacked the references to the fields that were
used only in the equality predicates generated for the natural join.
2012-04-05 23:32:57 +03:00
Sergei Golubchik
cbd52a42ee merge 2012-04-05 12:01:52 +02:00
Sergei Golubchik
dea3544b2d mysql-5.1.62 merge 2012-04-05 10:49:38 +02:00
Sergey Petrunya
cc2298ebb7 Make test results stable. 2012-04-04 21:35:34 +04:00
Michael Widenius
e14d6ef4b7 Merge with 5.2
Fixed additional changed pbxt test cases
2012-04-04 14:19:46 +03:00
Michael Widenius
70a3cafe4d Merge with 5.1 2012-04-04 13:50:24 +03:00
Michael Widenius
6a0c2e8b21 Fixed test cases that changed as part of fixing bugs with record count and partitioning 2012-04-04 13:20:06 +03:00
Sergey Glukhov
b5c690aa54 Bug#11766300 59387: FAILING ASSERTION: CURSOR->POS_STATE == 1997660512 (BTR_PCUR_IS_POSITIONE
Bug#13639204 64111: CRASH ON SELECT SUBQUERY WITH NON UNIQUE INDEX
The crash happened due to wrong calculation
of key length during creation of reference for
sort order index. The problem is that
keyuse->used_tables can have OUTER_REF_TABLE_BIT enabled
but used_tables parameter(create_ref_for_key() func) does
not have it. So key parts which have OUTER_REF_TABLE_BIT
are ommited and it could lead to incorrect key length
calculation(zero key length).


mysql-test/r/subselect_innodb.result:
  test result
mysql-test/t/subselect_innodb.test:
  test case
sql/sql_select.cc:
  added OUTER_REF_TABLE_BIT to the used_tables parameter
  for create_ref_for_key() function.
storage/innobase/handler/ha_innodb.cc:
  added assertion, request from Inno team
storage/innodb_plugin/handler/ha_innodb.cc:
  added assertion, request from Inno team
2012-04-04 13:29:45 +04:00
Sergey Petrunya
4629de4fda Merge 2012-04-04 12:37:46 +04:00
Michael Widenius
daf29d2a7a Merge with 5.2 2012-04-04 01:00:23 +03:00
Michael Widenius
24a67aa816 Merge with 5.1 2012-04-04 00:33:02 +03:00
Michael Widenius
a3bee835ee Fixed lp:970528 "Server crashes in my_strnncollsp_simple on LEFT JOIN with CSV table, TEXT field"
The main problem was a bug in CSV where it provided wrong statistics (it claimed the table was empty when it wasn't)
I also fixed wrong freeing of blob's in the CSV handler. (Any call to handler::read_first_row() on a CSV table with blobs would fail)



mysql-test/r/csv.result:
  Added new test case
mysql-test/r/partition_innodb.result:
  Updated test results after fixing bug with impossible partitions and const tables
mysql-test/t/csv.test:
  Added new test case
sql/sql_select.cc:
  Cleaned up code for handling of partitions.
  Fixed also a bug where we didn't threat a table with impossible partitions as a const table.
storage/csv/ha_tina.cc:
  Allocate blobroot onces.
2012-04-04 00:14:07 +03:00
Sergey Petrunya
d734a13d05 Merge 2012-04-02 21:47:31 +04:00
Sergey Petrunya
2a16e7674b BUG#913030: Optimizer chooses a suboptimal excution plan for Q18 from DBT-3
- When doing join optimization, pre-sort the tables so that they mimic the execution
  order we've had with 'semijoin=off'. 
- That way, we will not get regressions when there are two query plans (the old and the
  new) that have indentical costs but different execution times (because of factors that
  the optimizer was not able to take into account).
2012-04-02 21:41:54 +04:00
Michael Widenius
474ee1eedb Merge from 5.2 2012-03-30 13:54:33 +03:00
Michael Widenius
deaf220c50 Automatic merge 2012-03-30 13:51:16 +03:00
Michael Widenius
9b8542a4f6 Fixed bug lp:967914 "CHECK TABLE persistently reports table corruption after removing Aria logs"
Fixed that repair removes the 'table is moved' mark.

mysql-test/suite/maria/r/maria-autozerofill.result:
  Test case for lp:967914
mysql-test/suite/maria/t/maria-autozerofill.test:
  Test case for lp:967914
storage/maria/ha_maria.cc:
  Fixed that repair removes the 'table is moved' mark.
2012-03-30 13:42:52 +03:00
Sergei Golubchik
bd63a5443d merge 2012-03-30 08:49:57 +02:00
Sergei Golubchik
fb3eb4a7e3 merge 2012-03-29 21:15:30 +02:00
Sergei Golubchik
bbf1a7961a fix the test case for windows: replace_result \\ / 2012-03-29 18:06:08 +02:00
Sergei Golubchik
20c2cea4f4 remove race conditions from the test 2012-03-29 16:32:35 +02:00
Michael Widenius
bb6cc52528 Automatic merge 2012-03-28 13:58:14 +03:00
Michael Widenius
3bc932ec17 Merge with 5.1 2012-03-28 13:49:07 +03:00
Michael Widenius
74b0649332 Fixed lp:944422 "mysql_upgrade destroys Maria tables?"
The issue was that check/optimize/anaylze did not zerofill the table before they started to work on it.
Added one more element to not often used function handler::auto_repair() to allow handler to decide when to auto repair.


mysql-test/suite/maria/r/maria-autozerofill.result:
  Test case for lp:944422
mysql-test/suite/maria/t/maria-autozerofill.test:
  Test case for lp:944422
sql/ha_partition.cc:
  Added argument to auto_repair()
sql/ha_partition.h:
  Added argument to auto_repair()
sql/handler.h:
  Added argument to auto_repair()
sql/table.cc:
  Let auto_repair() decide which errors to trigger auto-repair
storage/archive/ha_archive.h:
  Added argument to auto_repair()
storage/csv/ha_tina.h:
  Added argument to auto_repair()
storage/maria/ha_maria.cc:
  Give better error & warning messages for auto-repaired tables.
storage/maria/ha_maria.h:
  Added argument to auto_repair()
  Always auto-repair in case of moved table.
storage/maria/ma_open.c:
  Remove special handling of HA_ERR_OLD_FILE (this is now handled in auto_repair())
storage/myisam/ha_myisam.h:
  Added argument to auto_repair()
2012-03-28 13:22:21 +03:00
Praveenkumar Hulakund
f3d5127f4d Bug#11763507 - 56224: FUNCTION NAME IS CASE-SENSITIVE
Analysis:
-------------------------------
According to the Manual
(http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html):
"Column, index, stored routine, and event names are not case sensitive on any
platform, nor are column aliases."

In other words, 'lower_case_table_names' does not affect the behaviour of 
those identifiers.

On the other hand, trigger names are case sensitive on some platforms,
and case insensitive on others. 'lower_case_table_names' does not affect
the behaviour of trigger names either.

The bug was that SHOW statements did case sensitive comparison
for stored procedure / stored function / event names.

Fix:
Modified the code so that comparison in case insensitive for routines 
and events for "SHOW" operation.

As part of this commit, only fixing the test failures due to the actual code fix.
2012-03-28 12:05:31 +05:30
Tor Didriksen
10120d363d Backport of fix for Bug#12763207 - ASSERT IN SUBSELECT::SINGLE_VALUE_TRANSFORMER 2012-03-27 14:39:27 +02:00
Sergey Petrunya
84a53543c5 BUG#965872: Server crashes in embedding_sjm on a simple 1-table select with AND and OR
- This is a regession introduced by fix for BUG#951937
- The problem was that there were scenarios where check_simple_equality() would create an
  Item_equal object but would not call item_equal->set_context_field() on it. 
- The fix was to add the missing calls.
2012-03-27 14:43:26 +04:00
Praveenkumar Hulakund
56d4eb21db Bug#11763507 - 56224: FUNCTION NAME IS CASE-SENSITIVE
Analysis:
-------------------------------
According to the Manual
(http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html):
"Column, index, stored routine, and event names are not case sensitive on any
platform, nor are column aliases."

In other words, 'lower_case_table_names' does not affect the behaviour of 
those identifiers.

On the other hand, trigger names are case sensitive on some platforms,
and case insensitive on others. 'lower_case_table_names' does not affect
the behaviour of trigger names either.

The bug was that SHOW statements did case sensitive comparison
for stored procedure / stored function / event names.

Fix:
Modified the code so that comparison in case insensitive for routines 
and events for "SHOW" operation.
2012-03-27 12:42:11 +05:30
Sergey Petrunya
ff731f39ca Merge 2012-03-26 21:38:24 +04:00
Sergey Petrunya
f2947f97a6 BUG#951283: Wrong result (missing rows) with semijoin+firstmatch, IN/ANY subquery
- The problem was with execution strategy for cases where FirstMatch's inner tables
  were interleaved with outer-uncorrelated tables.
- I was unable to find any cases where such join orders would be practically useful,
  so fixed it by disabling them.
2012-03-26 21:34:24 +04:00
Michael Widenius
3bfe3b5ef7 Bug fix for MySQL bug#61209 "auto_increment_offset != 1 + innodb_autoinc_lock_mode=1 => bulk inserts fail"
Patch and test case by Patryk Pomykalski

mysql-test/suite/innodb/r/innodb-autoinc.result:
  updated test case
storage/innodb_plugin/handler/ha_innodb.cc:
  Fixed that we properly reserve values for auto_increment
storage/xtradb/handler/ha_innodb.cc:
  Fixed that we properly reserve values for auto_increment
2012-03-26 16:06:42 +03:00
Michael Widenius
4e96c579ae Sorted some test results that can be different on different machines
mysql-test/t/subselect_sj2.test:
  Added --sorted_result
2012-03-26 15:05:50 +03:00
Sergey Petrunya
e2554b50cd BUG#951937: Wrong result (missing rows) with semijoin+materialization, IN subquery, InnoDB, TEMPTABLE view
- Fix equality propagation to work with SJM nests and OR clauses (full descirption of problem and
  solution in the comment in the patch)
(The second commit with post-review fixes)
2012-03-26 13:47:00 +04:00
Sergey Petrunya
d054709827 BUG#962667: Assertion `0' failed in QUICK_INDEX_SORT_SELECT::need_sorted_output()
- The problem was that
  = we've picked a LooseScan that used full index scan (tab->type==JT_ALL) on certain index.
  = there was also a quick select (tab->quick!=NULL), that used other indexes.
  = some old code assumes that (tab->type==JT_ALL && tab->quick) -> means that the
    quick select should be used, which is not true.
Fixed by discarding the quick select as soon as we know we're using LooseScan
without using the quick select.
2012-03-25 18:31:35 +04:00
Igor Babaev
da9aabbbb6 Fixed LP bug #954900.
If the first component of a ref key happened to be a constant appeared
after constant row substitution then no store_key element should be
created for such a component. Yet create_ref_for_key() erroneously could
create such an element that caused construction of invalid ref keys and
wrong results for some joins.
2012-03-22 19:56:17 -07:00
Georgi Kodinov
b9b6548966 merge mysql-5.1->mysql-5.1-security 2012-03-21 14:53:09 +02:00
Sergey Petrunya
1153d656a9 Merge BUG#952372 2012-03-21 11:18:20 +04:00
Igor Babaev
357331af8a Fixed LP bug #954262.
This bug in the constructor SEL_IMERGE::SEL_IMERGE could 
cause huge excessive memory requests.
2012-03-20 17:03:28 -07:00
unknown
3e623252c7 Merge from mysql-5.1.62-release 2012-03-20 17:35:41 +01:00
Sergey Petrunya
91d17a9c20 BUG#952583: Server crashes in Item_field::fix_after_pullout on INSERT .. SELECT
- Take into account that there may exist Item_field objects with context==NULL.
2012-03-19 01:04:55 +04:00
Sergey Petrunya
5805908bf9 BUG#952372: Server crashes on 2nd execution of PS in find_field_in_tables with semijoin+materialization
- The problem was that convert_subq_to_jtbm() attached the semi-join
  TABLE_LIST object into the wrong list: they used to attach it to the 
  end of parent_lex->leaf_tables.head()->next_local->...->next_local.
  This was apparently inccorect, as one can construct an example where 
  JTBM nest is attached to a table that is inside some mergeable VIEW, which
  breaks (causes crash) for name resolution on the subsequent statement
  re-execution.
- Solution: Attach to the "right" list. The "wording" was copied from
  st_select_lex::handle_derived.
2012-03-18 23:58:20 +04:00
Annamalai Gurusami
08f051df04 Bug #11766634 59783: INNODB DATA GROWS UNEXPECTEDLY WHEN INSERTING, TRUNCATING, INSERTING THE
The test case must insert all the records using a single transaction. Otherwise the test 
case takes more than 15 minutes and will time out in pb2 and mtr.
2012-03-16 12:06:29 +05:30
unknown
5338a28912 Merge 5.2->5.3 2012-03-14 13:58:18 +02:00
unknown
e638e60589 test suite for LP bug#694450 2012-03-14 12:09:03 +02:00