1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-02 14:22:51 +03:00
Commit Graph

26871 Commits

Author SHA1 Message Date
ca94028a36 Fixed test case to be repeatable (after discussion with Igor) 2010-12-06 11:25:04 +02:00
42746a44a2 Merge with 5.1-release 2010-12-06 11:24:12 +02:00
b7b25dc666 Merge with 5.1-release.
- Fixed problem with oqgraph and 'make dist'

Note that after this merge we have a problem show in join_outer where we examine too many rows in one specific case (related to BUG#57024).
This will be fixed when mwl#128 is merged into 5.3.
2010-12-06 10:25:44 +02:00
1b9e0feb54 Made join order in two queries predetermined. 2010-12-05 19:44:29 -08:00
f7ab607a11 Merge. 2010-12-05 19:30:05 -08:00
67180d655a Fixed LP bug #684117.
A crash may happenin the cases when the range optimizer tried to OR
two index merge such that the second one contained less range trees
than the first one.
The bug was introduced by the patch of MWL#24: 
"index_merge: fair choice between index_merge union and range access".
2010-12-05 19:09:37 -08:00
1684c3e9a0 Fixed LP bug#684086.
If a primary key was used in the index intersection for
an InnoDB database the size of the memory allocated
for the best index intersection plan was one element less
than it was needed. That could cause a memory overwrite
and a crash as a result of it.
2010-12-05 13:49:04 -08:00
6061a11d36 merge with 5.1-release 2010-12-05 15:10:12 +02:00
a585745d4f Fixes to not trigger end-consistency testing of pagecache.
- Moved end_pagecache() to after maria_close()
- Flush page cache before closing files (in maria_pack)
Fixed test suite failure for PBXT

mysql-test/suite/pbxt/r/select.result:
  We mask out the 'rows' column because it may differ from run to run
mysql-test/suite/pbxt/t/select.test:
  We mask out the 'rows' column because it may differ from run to run
storage/maria/maria_chk.c:
  Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
storage/maria/maria_pack.c:
  Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
  flush page cache before closing files.
2010-12-05 14:25:01 +02:00
bfb7727526 Fixed LP bug #684117.
A crash may happenin the cases when the range optimizer tried to OR
two index merge such that the second one contained less range trees
than the first one.
The bug was introduced by the patch of MWL#24: 
"index_merge: fair choice between index_merge union and range access".
2010-12-04 19:19:55 -08:00
25704af0b2 Adjusted results in suite/innodb_plugin/r/innodb_mysql.result.
Made range_vs_index_merge.test platform independent
2010-12-04 10:40:07 -08:00
a924325656 Merge with 5.1 2010-12-04 16:32:42 +02:00
7fc6086192 Automatic merge with 5.1-release 2010-12-04 12:27:51 +02:00
e13406b29b Changed the queries of index_intersect.test to ensure platform
independent execution plans.
Fixed a bug in Unique::unique_add that caused a crash for a query from
index_intersect_innodb on some platforms.
Fixed two bugs in opt_range.cc that led to the choice of not the
cheapest plans for index intersections.
2010-12-03 20:26:15 -08:00
d0ad135b60 Fixed compiler warnings.
Fixed timing test failures.
Fixed a failure in the Aria engines page cache and log handler (found with maria.maria-big test)
- This could cause a core dump when deleting big blobs.
- Added test to end_pagecache() to verify that page cache was correctly used.
  - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
  - All page cache blocks was properly deallocated (empty)


mysql-test/suite/innodb/t/innodb_bug38231.test:
  Fixed timing issue (code comment says it all)
mysql-test/suite/innodb_plugin/t/innodb_bug38231.test:
  Fixed timing issue (code comment says it all)
sql/debug_sync.cc:
  Fixed compiler warning
storage/maria/ma_loghandler.c:
  Fixed bug found by maria.maria-big test:
  - Fixed race condition between update thread logging a very big blog and checkpoint thread.
storage/maria/ma_pagecache.c:
  Added assert to ensure mutex was properly locked.
  Added test to end_pagecache() to verify that page cache was correctly used.
  - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
  - All page cache blocks was properly deallocated (empty)
  In pagecache_delete_internal(), properly reset counters and pins if functions aborts.
  Added missing inc_counter_for_resize_op() to pagecache_wait_lock().
  Added missing dec_counter_for_resize_op() to pagecache_delete()
2010-12-03 23:19:13 +02:00
e2d2cdd7b8 BUG#623315: Query returns less rows when run with join_cache_level=6 on maria-5.3-dsmrr-cpk
- Testcase (but iself is no longer repeatable)
2010-12-02 18:35:12 +03:00
7c7e4f6d07 BUG#623300: Query with join_cache_level = 6 returns extra rows in maria-5.3-dsmrr-cpk
- Testcase (the bug itself was fixed by development on BKA side)
2010-12-02 18:23:34 +03:00
ea72880659 address review comments 2010-12-02 15:56:25 +01:00
799a1b1615 Update .result file (checked) 2010-12-02 15:14:39 +03:00
017c751868 Merge 2010-12-02 14:22:20 +03:00
44be131cd3 MWL#121-125 DS-MRR improvements
- Address Monty's review feedback, part 5
2010-12-02 14:10:52 +03:00
d08e5cfad2 Fix problems seen in Buildbot:
- Make sure creation of t1 is replicated before trying to create trigger on it on slave
 - Use safe #ifdef for declaration as for definition to avoid warning about unused static function.
2010-12-02 09:48:30 +01:00
80377bbf6d MWL #21: "index_merge: non-ROR intersection".
The second (final) patch.
2010-12-01 23:39:39 -08:00
2f7a1564bb Adapt fix_vs_config_dir () for VS2010
MTR_VS_CONFIG is now determined by looking at parent directory 
of sql\*\mysqld.exe,  instead of looking at *\*\BuildLog.htm

Reason : VS2010 does not create BuildLog.htm, hence prior method did not work.
2010-12-01 23:28:47 +01:00
1a2df3f4eb automatic merge with 5.1 2010-12-01 22:24:49 +02:00
34fa79e9b1 Fixed failures in buildbot
mysql-test/suite/innodb_plugin/t/innodb_bug38231.test:
  Sometimes you get a timeout here; Disable the not fatal error message.
storage/xtradb/sync/sync0rw.c:
  Disable compiler warning
2010-12-01 22:18:03 +02:00
1e5061fe3b merge with 5.1 2010-11-30 23:11:03 +02:00
e7337563d7 Make suite/optimizer_unfixed_bugs/t/bug43617.test work with --ps-protocol
- dodge some bug in mysql-test-run that makes it to consider multiple 
  statements as one (most likely it doesn't understand quotes in /* comments */)
2010-11-30 12:49:11 +03:00
e46d0aead0 Bug#54201: "SET INSERT_ID" event must be ignored if corresponding event is ignored
An INSERT query log event is preceeded by an INSERT_ID intvar event if the
INSERT allocates a new auto_increment value. But if we ignore the INSERT
due to --replicate-ignore-table or similar, then the INSERT_ID event is
still executed, and the set value of INSERT_ID lingers around in the
slave sql thread THD object indefinitely until the next INSERT that
happens to need allocation of a new auto_increment value.

Normally this does not cause problems as such following INSERT would
normally come with its own INSERT_ID event. In this bug, the user had
a trigger on the slave which was missing on the master, and this
trigger had an INSERT which could be affected. In any case, it seems
better to not leave a stray INSERT_ID hanging around in the sql thread
THD indefinitely.

Note that events can also be skipped from apply_event_and_update_pos();
however it is not possible in that code to skip the INSERT without also
skipping the INSERT_ID event.
2010-11-30 10:47:08 +01:00
d54f869f8c Fixed some compiler warnings
configure.in:
  Added comment
mysql-test/suite/innodb_plugin/t/innodb_bug56680.test:
  Disable test when run with valgrind as we get errors from buf_buddy_relocate() on work for this test.
  (Should probably be investigated as this may be an issue in xtradb, but probably harmless)
  Work is an amd-64 running openSUSE 1.11 and valgrind 3.4.1
mysys/charset.c:
  Remove static function if not used (to remove compiler warning)
storage/xtradb/srv/srv0srv.c:
  Added casts to get rid of compiler warnings
2010-11-30 01:14:34 +02:00
acb9ba8a4f Make suite/optimizer_unfixed_bugs/t/bug43618.test work in any timezone. 2010-11-29 22:13:16 +03:00
f2abf5f6b1 Make suite/optimizer_unfixed_bugs/t/bug43617.test work in any timezone. 2010-11-29 19:47:32 +03:00
d1afc20e13 Merge maria-5.3-mwl128 -> maria-5.2-mwl128-dsmrr-cpk 2010-11-29 19:00:32 +03:00
2251320840 Auto-merge fix for LP BUG#611622 2010-11-29 13:50:56 +02:00
e68ff46653 Fixed compiler and gmake warnings
- Removed SCCS rule from Makefile.am
- Made dummy rule in sql_yacc.yy to get rid of compiler warning about not used label.
Don't use maintainer mode with valgrind (as we don't want to initialize all variables)

config/ac-macros/maintainer.m4:
  Don't use maintainer mode with valgrind (as we don't want to initialize all variables)
  Force initialization of variables when using -Werror (To get rid of compiler warnings)
configure.in:
  Don't use maintainer mode with valgrind (as we don't want to initialize all variables)
sql/sql_yacc.yy:
  Made dummy rule in sql_yacc.yy to get rid of compiler warning about not used label.
2010-11-29 11:27:52 +02:00
b0d186e006 Disable warning that comes 'occasionable' depending on if HAVING is executed or not. 2010-11-28 15:02:12 +02:00
b2beb40728 Automatic merge 2010-11-28 14:38:59 +02:00
ab2f365116 Automatic merge with 5.3 (support of BIT keys in heap) 2010-11-27 17:23:48 +02:00
171260f37c Automatic merge with 5.1 2010-11-25 22:41:38 +02:00
40b7efb354 Fixed failing test cases
mysql-test/include/have_not_innodb_plugin.inc:
  Also detect if xtradb is installed
mysql-test/suite/innodb/t/innodb_bug56143.test:
  Disabled test case that doesn't work for innodb_plugin/xtradb.
mysql-test/suite/innodb_plugin/r/innodb_bug56632.result:
  Updated result (key_block_size is lower case in MariaDB, as all other options)
mysql-test/suite/pbxt/r/partition_hash.result:
  Updated results (after partition row count optimization changes)
mysql-test/suite/pbxt/r/partition_pruning.result:
  Updated results (after partition row count optimization changes)
mysql-test/suite/pbxt/r/partition_range.result:
  Updated results (after partition row count optimization changes)
mysql-test/suite/pbxt/r/subselect.result:
  Updated result after ROW() changes.
2010-11-25 20:55:52 +02:00
babdbbbfd2 Automatic merge with base 2010-11-25 12:10:02 +02:00
970b46b1dc Fix LP BUG#611622
Fix MySQL BUG#52344 - Subquery materialization: Assertion if subquery in on-clause of outer join

Original fix and comments from Oysten, adjusted for the different
subquery optimization in MariaDB.
"
Problem: If tables of an outer join are constant tables,
the associated on-clause will be evaluated in the optimization
phase. If the on-clause contains a query that is to be
executed with subquery materialization, this will not work
since the infrastructure for such execution is not yet set up.
      
Solution: Do not evaluate on-clause in optimization phase if
is_expensive() returns true for this clause.  This is how the
problem is currently avoided for where-clauses.  This works
because, Item_in_subselect::is_expensive_processor returns true
if query is to be executed with subquery materialization.
"
In addition, after MWL#89, in MariaDB if the IN-EXISTS strategy
is chosen, the in-to-exists predicates are insterted after
join_read_const_table() is called, resulting in evaluation of
the subquery without the in-to-exists predicates.
2010-11-25 11:43:23 +02:00
1a6373e8e2 Merge with MySQL 5.1.53
Open issues:
- A better fix for #57688; Igor is working on this
- Test failure in index_merge_innodb.test ; Igor promised to look at this
- Some Innodb tests fails (need to merge with latest xtradb) ; Kristian promised to look at this.
 - Failing tests: innodb_plugin.innodb_bug56143 innodb_plugin.innodb_bug56632 innodb_plugin.innodb_bug56680 innodb_plugin.innodb_bug57255 
- Werror is disabled;  Should be enabled after merge with xtradb.
2010-11-25 00:57:34 +02:00
0574bc894b Fix LP BUG#680058
Analysis:
The send_data method of the result sink class used to collect
data statistics about materialized subqueries incorrectly assumed
that duplicate rows are removed prior to calling send_data. As
a result the collected statistics was wrong, which resulted in
an incorrect maximal number of keys in the Ordered_key buffer.
  
Solution:
Try to insert each row into the materialized temp table before
collecting statistics, and if the insertion results in a duplicate
row, do not count the current row.
2010-11-25 00:34:50 +02:00
bf5140fb7b Fix test failure when the mysql-test/ directory is not writable. 2010-11-24 18:51:31 +01:00
b3ecd24523 Merge XtraDB from Percona-Server 5.1.52-11.6 into MariaDB 5.1
revid:oleg.tsarev@percona.com-20101118145125-wjhjrb5jwhi0g7sj
2010-11-24 14:04:38 +01:00
b52020221e Merge with MySQL 5.1.52 2010-11-23 23:39:59 +02:00
34c8930c09 Fix of LP BUG#675248.
Registration of pointer change if we assign it to other pointer which should be identical after statement execution (PS/SP).

mysql-test/r/subselect.result:
  Test suite.
mysql-test/t/subselect.test:
  Test suite.
sql/sql_class.cc:
  The procedure of the pointer registration.
sql/sql_class.h:
  The procedure of the pointer registration.
sql/sql_lex.cc:
  Registration of pointer change if we assign it to other pointer which should be identical after statement execution (PS/SP).
2010-11-23 20:43:34 +02:00
ea94906c23 Fix for LP BUG#606013: Adding bit field support for heap tables.
mysql-test/r/heap_btree.result:
  Test of index over bit firld in hash table.
mysql-test/r/heap_hash.result:
  Test of index over bit firld in hash table.
mysql-test/t/heap_btree.test:
  Test of index over bit firld in hash table.
mysql-test/t/heap_hash.test:
  Test of index over bit firld in hash table.
storage/heap/ha_heap.cc:
  Adding bit field support for heap tables.
storage/heap/hp_create.c:
  Adding bit field support for heap tables.
storage/heap/hp_hash.c:
  Adding bit field support for heap tables.
2010-11-23 12:35:37 +02:00
4829e5a43c Automerge mariadb 5.1 into mariadb 5.2 2010-11-23 07:26:07 +01:00