Commit graph

66928 commits

Author SHA1 Message Date
Igor Babaev
c9a349488b Applied Sanja's patch to fix LP bug #784297 in the tree for mwl106.
The patch imposes unconditional materialization for derived tables
used in update and multi-update statements.
Fixed a bug with a wrong order of processing derived tables/views
at the prepare stage that caused a crash for the variant of the 
query from test case for bug 52157.
2011-05-27 00:03:55 -07:00
Igor Babaev
317e04ce67 Fixed 2 valgrind bugs in the tree for mwl #106.
One was due the fact that the field SELECT_LEX::insert_tables was not
initialized while the second was due to missing initialization of
JOIN_TAB::preread_init_done in subselect_hash_sj_engine::make_unique_engine. 
Removed an invalid assert.
2011-05-22 15:47:46 -07:00
Igor Babaev
63d6dbc4ab Fixed 3 valgrind bugs.
Two of them (in the function make_join_statistics and in the function
sort_and_filter_keyuse) were due to bad merges while the third bug was
triggered by uninitialized values of the field JOIN_TAB::preread_init_done.

Fixed a compiler warning in mysql_priv.h.

Commented out some queries from the funcs_1 suite returning wrong
errors due to bugs concerning updatable views (see bugs 784297 and
784303).

Adjusted some results for the test cases with derived tables from
different suites.
2011-05-21 13:12:21 -07:00
Igor Babaev
ac321a3440 Added back the SP calls from the test case for bug 48073.
After the fix of LP bug 784723 the test case returns the
right results.
2011-05-20 12:59:52 -07:00
Igor Babaev
89cf840cd9 Merge 2011-05-20 12:47:39 -07:00
Sergey Petrunya
be6d6e1b3e Fix a comment (unmatched '{' and '}' screw up jumping in advanced editors) 2011-05-20 19:52:24 +04:00
Sergey Petrunya
e3cfbb39d2 Stabilize a testcase after fix for BUG#784723, part 2 2011-05-20 19:08:55 +04:00
Sergey Petrunya
4d7c06b399 Stabilize a testcase after fix for BUG#784723 2011-05-20 14:15:22 +04:00
Igor Babaev
d015b8fa0a Fixed a compiler warning. 2011-05-20 00:06:27 -07:00
Igor Babaev
aabb172f49 Fixed a compiler problem. 2011-05-19 23:13:50 -07:00
Sergey Petrunya
23cfe1261d Merge fix for BUG#784723 2011-05-20 10:13:02 +04:00
Igor Babaev
3d34cadac8 Merge 2011-05-19 20:03:33 -07:00
Igor Babaev
8e33aa9aa7 Merged the fix for bug 777745 into 5.3. 2011-05-19 20:01:43 -07:00
Igor Babaev
016a09cb7d Fixed LP bug #777745.
Fields belonging to views in general cannot be substituted for 
equal items, in particular for constants, because all references
to a view field refer to the same Item_field object while they 
could be used in different OR parts of the where condition and
belong to different equivalence classes (to different Item_equals).
That's why substitution for equal items in any context is allowed
only in place of Item_direct_view_ref objects, but not in place of
Item_fields these objects refer to.
Due to some erroneous code in the patch for bug 717577 substitution
for view fields were allowed in some context.This could lead
to wrong results returned by queries using views.

The fix prohibits substitution of view fields for equal items 
in any context.

The patch also changes slightly the compile method for the Item_func
class. Now if the analyze method returns NULL in his parameter the
compile method is not called for the arguments of the function
at all. A similar change was made for the Item_ref class.
2011-05-19 18:28:38 -07:00
Igor Babaev
2feb13cdb4 Merge 2011-05-19 17:02:47 -07:00
Vladislav Vaintroub
d7fb598c21 merge 2011-05-20 01:41:07 +02:00
Vladislav Vaintroub
f4ae8b7691 - Properly terminate options array with all-zero entry.
- Fix CRLF end of lines, use LF instead
2011-05-20 01:38:42 +02:00
Igor Babaev
98f2be0868 Fixed compiler warnings. 2011-05-19 16:04:01 -07:00
Vladislav Vaintroub
579f644360 Fix warnings 2011-05-20 00:44:21 +02:00
Igor Babaev
a19ddf0117 Fixed compiler warnings. 2011-05-19 14:53:16 -07:00
Sergey Petrunya
d1138283b9 BUG#784723: Wrong result with semijoin + nested subqueries in maria-5.3
- in advance_sj_state(), remember join->cur_dups_producing_tables in 
  pos->prefix_dups_producing_tables *before* we modify it, so that 
  restore_prev_sj_state() restores cur_dups_producing_tables in all cases.
- Updated test results in subselect_sj2[_jcl6].result (the original EXPLAIN
  was invalid there)
2011-05-20 01:05:06 +04:00
Igor Babaev
8ec03d805d Fixed crashes in the rpl suite due to a bug in Item_func_set_user_var::fix_fields.
Adjusted the result files in  the pbxt, innodb and innodb_plugin suites.

Commented out a failing test case in innodb.innodb_multi_update.test.
It should be returned back when the problem with multi-update of derived
tables (bug 784297) is resolved.
2011-05-19 12:26:09 -07:00
Michael Widenius
54a3d1869c Automatic merge 2011-05-19 19:23:06 +03:00
Michael Widenius
29b751c796 Updated comments as part of code review
.bzr-mysql/default.conf:
  5.2 -> 5.3
sql/handler.h:
  Updated comments.
2011-05-19 18:14:02 +03:00
Michael Widenius
4e968b1ec5 Fix based on suggestion by Zardosht Kasheff and Richard Prohaska) for making all clustered indexes equal in test_if_skip_sort_order()
sql/sql_select.cc:
  - Threat all clustered indexes equal in test_if_skip_sort_order().
    This is a temporary fix as the current code doesn't do proper cost analyizes for which index to use.
    I will address this later as the change required is not trivial.
  - Fixed a bug where select_limit was changed in the loop, which made different indexes see diferent values of select_limit
2011-05-19 16:37:57 +03:00
unknown
73f4d0c6e4 PBXT test fix. 2011-05-19 08:45:06 +03:00
Igor Babaev
6d2da32461 Fixed LP bug #784848 that caused failures of func_str.test and
derived_view.test.
Do not register Item_ref objects of the type VIEW_REF as outer
references.
2011-05-18 22:36:33 -07:00
unknown
9036233cd0 automatic merge 2011-05-18 23:03:46 +03:00
Michael Widenius
3631146442 Original idea from Zardosht Kasheff to add HA_CLUSTERED_INDEX
- Added a lot of code comments
- Updated get_best_ror_intersec() to prefer index scan on not clustered keys before clustered keys.
- Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
- For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
- Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.

sql/ha_partition.h:
  Added comment with warning for code unsafe to use with multiple storage engines at the same time
sql/handler.h:
  Added HA_CLUSTERED_INDEX.
  Documented primary_key_is_clustered()
sql/opt_range.cc:
  Added code comments
  Updated get_best_ror_intersec() to ignore clustered keys.
  Optimized away cpk_scan_used and one instance of current_thd (Simpler code)
  Use HA_CLUSTERED_INDEX to define if one should use HA_MRR_INDEX_ONLY
sql/sql_select.cc:
  Changed comment to #ifdef
  For test of using index or filesort to resolve ORDER BY, use HA_CLUSTERED_INDEX flag instead of primary_key_is_clustered()
  (Change is smaller than what it looks beause of indentation change)
sql/sql_table.cc:
  Use HA_TABLE_SCAN_ON_INDEX instead of primary_key_is_clustered() to decide if ALTER TABLE ... ORDER BY will have any effect.
storage/innobase/handler/ha_innodb.h:
  Added support for HA_CLUSTERED_INDEX
storage/innodb_plugin/handler/ha_innodb.cc:
  Added support for HA_CLUSTERED_INDEX
storage/xtradb/handler/ha_innodb.cc:
  Added support for HA_CLUSTERED_INDEX
2011-05-18 19:26:30 +03:00
unknown
d270325a28 automerge 2011-05-18 15:31:20 +02:00
unknown
1177bea2f1 Rewritten patch of percona - switching query cache on and off, removing comments.
client/mysqltest.cc:
  Column names.
mysql-test/r/grant_cache_no_prot.result:
  fix of text.
mysql-test/r/grant_cache_ps_prot.result:
  Fix of test.
mysql-test/r/query_cache.result:
  Switching on and off query cache.
mysql-test/t/query_cache.test:
  Switching on and off query cache.
mysys/charset.c:
  Fix of parser.
sql/handler.cc:
  thd added to parameters.
sql/log_event.cc:
  thd added to parameters.
sql/log_event_old.cc:
  thd added to parameters.
sql/mysql_priv.h:
  Fixed functions definitions.
sql/mysqld.cc:
  Comments stripping.
sql/set_var.cc:
  Switching on and off query cache.
sql/set_var.h:
  Switching on and off query cache.
sql/share/errmsg.txt:
  New errors.
sql/sql_cache.cc:
  Switching query cache on and off, removing comments.
sql/sql_cache.h:
  thd added to parameters.
sql/sql_class.h:
  Comments stripping.
sql/sql_db.cc:
  thd added to parameters.
sql/sql_lex.cc:
  lex fixed.
sql/sql_parse.cc:
  thd added to parameters.
2011-05-18 16:27:19 +03:00
unknown
3622983af3 merge some fixes for rpl_corruption.test from MySQL 5.6. 2011-05-18 15:22:56 +02:00
unknown
fd855154af automerge 2011-05-18 15:19:18 +02:00
unknown
4ea53bc29b automerge 2011-05-18 15:17:26 +02:00
unknown
e55fb3bbe8 Fix mysqltest printing of include stack.
The printing of include stack in the error case in mysqltest omitted the
bottom of the stack (the line number in original test case file), and instead
printed the top of the stack twice. Fix to print each element on the stack
once and only once.
2011-05-18 15:15:36 +02:00
Michael Widenius
5c70f813f3 Added HA_ERR_DISK_FULL handler error
Original code by Zardosht Kasheff

sql/handler.cc:
  Added HA_ERR_DISK_FULL and ENOSPC (for handler that uses normal errno).
  This sets 'fatal_error' to ensure that the error is logged to err file (which hopefully is on another disk...)
2011-05-18 13:36:12 +03:00
Vladislav Vaintroub
2c1c18ed86 Fix compile warning. 2011-05-18 12:28:17 +02:00
Igor Babaev
1018c90107 Fixed LP bug #784281.
When a view is merged into a select all the depended_from fields
pointing to the select of the view should have been corrected to
point to the select where the view is used. It was not done yet.
This could lead to wrong results returned by queries such as
one from the test case for bug 33389.
Correction of outer references required walking through all items
of the proccesed qurery. To avoid this the following solution was
implemented.
Each select now contains a pointer to the select it is merged into
(if there is any). Such pointers allow to get the corrected value
of depended_from on the fly. The function Item_ident::get_depended_from
was introduced for this purpose.
2011-05-17 22:22:33 -07:00
Michael Widenius
0da2df248b Removed some alias warnings
Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail

sql/item.cc:
  Removed alias warnings by changing type from char * to const char*
sql/item.h:
  Removed alias warnings by changing type from char * to const char*
sql/item_subselect.cc:
  Fixed alias bug when compiling with gcc 4.2.4 that caused subselect.test to fail
sql/sql_string.h:
  Removed alias warnings by changing type from char * to const char*
storage/heap/hp_test2.c:
  Removed SAFEMALLOC to get rid of compiler error
  Fixed test case as we can't anymore use heap_rlast() on a HASH key entry.
2011-05-18 00:47:56 +03:00
Igor Babaev
704f97035f Merged the code of MWL#106 into 5.3
Resolved all conflicts, bad merges and fixed a few minor bugs in the code.
Commented out the queries from multi_update, view, subselect_sj, func_str,
derived_view, view_grant that failed either with crashes in ps-protocol or
with wrong results.
The failures are clear indications of some bugs in the code and these bugs
are to be fixed.
2011-05-16 22:39:43 -07:00
unknown
3565a470bf fix dynco test on Windows, really now
(from Wlad)
2011-05-16 16:21:09 +03:00
unknown
157a945318 Fix of compiler errors.
storage/maria/ma_loghandler.c:
  Awoiding signed and unsigned comporison.
storage/maria/ma_loghandler.h:
  debug function.
storage/maria/unittest/ma_loghandler_examples.c:
  debug function.
2011-05-16 16:13:34 +03:00
Michael Widenius
ae0b6f6db9 Automatic merge 2011-05-16 15:16:48 +03:00
Michael Widenius
8543621fa0 Merge with 5.3 main 2011-05-16 15:07:04 +03:00
Michael Widenius
f458e198c0 Merge with 5.2 2011-05-16 14:05:45 +03:00
Michael Widenius
8c5e18c9cf Added more asserts to find out how maria.maria-big could have failed in buildbot.
storage/maria/ma_loghandler.c:
  Added assert if we give wrong type to translog_write_record().
  (This should be impossible, but the failure record in buildbot also looks impossible so we need more information...)
storage/maria/ma_loghandler.h:
  Added prototype for check_translog_description_table()
storage/maria/unittest/ma_loghandler_examples.c:
  Call check_translog_description_table() to register number of log_record_type_descriptor[] events.
2011-05-16 12:16:08 +03:00
Vladislav Vaintroub
19f0d6b2d9 Small CMake fixes :
- add version info for the client library, dynamic plugins and some utilities
- do not recompile client library sources 3 times (for mysqlclient , mysqlclient_notls and libmysql)
  One time is sufficient, so get rid of mysqlclient_notls, and link  static client library  to  the shared.
- remove incremental linking flag
2011-05-15 13:38:18 +02:00
Vladislav Vaintroub
2982738e48 merge2 2011-05-14 18:59:49 +02:00
Vladislav Vaintroub
b898022a6d Fix compile error on Unixes
my_rwlock_destroy=>rwlock_destroy
2011-05-14 18:59:06 +02:00
Vladislav Vaintroub
97da863083 merge 2011-05-14 18:45:33 +02:00