1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-01 03:26:54 +03:00
Commit Graph

6928 Commits

Author SHA1 Message Date
6a7f8af3f9 MDEV-3798: EXPLAIN UPDATE/DELETE
- Address review feedback: rename files
2013-10-05 10:25:59 +04:00
fedf769f0b MDEV-3798: EXPLAIN UPDATE/DELETE
- Address review feedback: rename nearly any name used by the new EXPLAIN code.
2013-10-05 09:58:22 +04:00
5e4044e92c MDEV-5093, MDEV-5094:
- Make EXPLAIN {PARTITIONS,EXTENDED} {UPDATE,DELETE} work.
2013-10-04 18:50:47 +04:00
00816a964f Fixed bug mdev-5028.
Apparently in a general case a short-cut for the distinct optimization
is invalid if join buffers are used to join tables after the tables whose
values are to selected.
2013-10-02 17:59:56 -07:00
6519ca51dd EXPLAIN UPDATE/DELETE
- Make EXPLAIN UPDATE/DELETE work inside SPs
- Return correct error code from mysql_delete()
- EXPLAIN <multi-DELETE> will create a multi_delete object (as it 
  affects the optimization). select_result will be only used for 
  producing EXPLAIN output.
2013-10-01 17:49:03 +04:00
f6b65232c7 Fixed bug mdev-4429: fixed another place where selectivity == 0 requires
a special handling.
2013-09-30 17:42:18 -07:00
0b69c44e94 MDEV-5067: Valgrind warnings (Invalid read) in QPF_table_access::print_explain
- Query plan footprint (in new terms, "EXPLAIN structure") should always keep 
  a copy of key_name.  This is because the table might be a temporary table which
  may be already freed by the time we use query plan footprint.
2013-09-26 14:42:30 +04:00
9d83468e78 merge 5.5 -> 10.0-base 2013-09-25 21:07:06 +03:00
64d6d8334f merge 5.3 -> 5.5 2013-09-25 17:16:13 +03:00
ec7da1561e MDEV-5039: incorrect Item_func_regex::update_used_tables()
Other fix of maybe_null problem and revert of revno: 3608 "MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery from a MERGE view."
2013-09-25 15:30:13 +03:00
c0028bd2ac - Fix incorrectly-removed piece of code JOIN::save_qpf
- update mysqld--help.result
2013-09-25 15:51:16 +04:00
e5746665c9 merge 10.0-base -> 10.0 2013-09-26 21:20:15 +03:00
9af177042e 10.0-base merge.
Partitioning/InnoDB changes are *not* merged (they'll come from 5.6)
TokuDB does not compile (not updated to 10.0 SE API)
2013-09-21 10:14:42 +02:00
4ec2e9d7ed 5.5 merge and fixes for compiler/test errors 2013-09-18 13:07:31 +02:00
ae6e95c498 Code cleanup. 2013-09-17 16:03:40 +04:00
abf4a910f2 [SHOW] EXPLAIN UPDATE/DELETE
- Make QPF structures store data members, not strings. 
  This is not fully possible, because table names (and hence 
  key names, etc) can be deleted, and we have to store strings.
2013-09-17 15:01:34 +04:00
b8af3bd4d6 Merge 5.3->5.5 2013-09-15 17:30:53 -07:00
996f6194c6 Fixed bug mdev-5015.
The patch for mdev-4355 had a defect: the cached values for bitmaps of
used tables were not updated when processing degenerate OR formulas.
2013-09-15 12:38:22 -07:00
33f807fd91 Merge 5.3 -> 5.5 2013-09-12 13:54:46 +04:00
7e4845beea MDEV-5011: ERROR Plugin 'MEMORY' has ref_count=1 after shutdown for SJM queries
- Provide a special execution path for cleanup of degenerate 
  non-merged semi-join children of degenerate selects.
2013-09-12 13:53:13 +04:00
62643f81e6 merge with 5.5-tokudb tree. In particular:
* add TokuDB, together with the ft-index library
* cmake support, auto-detecting whether tokudb can be built
* fix packaging - tokudb-engine.rpm, deb
* remove PBXT
* add jemalloc
* the server is built with jemalloc by default even if TokuDB is not built
* documentation files in RPM are installed in the correct location
* support for optional deb packages (tokudb has specific build requirements)
* move plugins from mariadb-server deb to appropriate debs (server/test/libmariadbclient)
* correct mariadb-test.deb to be not architecture-independent
* fix out-of-tree builds to never modify in-tree files
* new handler::prepare_index_scan() method
2013-09-10 23:02:25 +02:00
9c98876ca1 tokudb patches for prepare range scan 2013-09-09 14:00:18 +02:00
b838d081ad mysql-5.5.33 merge 2013-09-06 22:31:30 +02:00
824db55ce5 Merge 5.3->5.5 2013-09-06 10:34:38 -07:00
02338228dd Fixed bug mdev-4996.
The fix for bug mdev-4971 not always correctly set the pointers to
inherited multiple equalities in objects of the Item_equal class.
2013-09-06 09:55:32 -07:00
bbc9e57981 MDEV-4978 - Server cursor is broken with blobs in the select list,
ORDER BY does not work

Use "dynamic" row format (instead of "block") for MARIA internal
temporary tables created for cursors.

With "block" row format MARIA may shuffle rows, with "dynamic" row
format records are inserted sequentially (there are no gaps in data
file while we fill temporary tables).

This is needed to preserve row order when scanning materialized cursors.
2013-09-06 15:59:19 +04:00
69c386d9a6 Code cleanup 2013-09-04 15:37:33 +04:00
92003f0166 MDEV-4836: Merge into 5.5-main 2013-09-03 18:41:07 +04:00
880e166483 Merge 5.3->5.5 2013-08-31 08:18:25 -07:00
576a2b1533 Fixed bug mdev-4971.
The function propagate_new_equalities() did not updated properly
the references to inherited multiple equalities.
2013-08-29 21:02:42 -07:00
59af095da4 Merge 5.3->5.5 2013-08-29 12:32:09 -07:00
37f18d2318 Fixed bug mdev-4962.
When a non-nullable datetime field is used under an IS NULL predicate
of the WHERE condition in a query with outer joins the remove_eq_conds
function should check whether this field belongs to an inner table
of any outer join that can be, in a general case, a nested outer join.
2013-08-29 10:56:12 -07:00
184df98582 Automatic merge of MDEV-4836 fix into 5.5 2013-08-28 20:31:23 +04:00
1906f1388e Fixed bug mdev-4959.
The fix for mdev-4420 was not quite correct. This patch corrects it.
2013-08-28 09:14:57 -07:00
34aa69564d Merge 5.3->5.5 2013-08-27 22:19:14 -07:00
650d3266bb Fixed bug mdev-4952
When in function remove_eq_conds() a sub-formula of the processed condition
is replaced for another formula we should ensure that in the resulting
formula AND/OR levels must alternate.
2013-08-26 15:51:47 -07:00
901737c978 Fixed bug mdev-4944.
The patch to fix mdev-4418 turned out to be incorrect.
At the substitution of single row tables in make_join_statistics()
the used multiple equalities may change and references to the new multiple
equalities must be updated. The function remove_eq_conds() takes care of it and
it should be called right after the substitution of single row tables.
Calling it after the call of make_join_statistics was a mistake.
2013-08-26 12:55:58 -07:00
edd980225a Fix for MDEV-4836 fix: take into account situation where "notnull_col IS NULL" is not
a direct child of the WHERE clause item, but rather is embedded inside Item_cond_and or 
Item_cond_or.
2013-08-26 21:38:04 +04:00
6140393af0 HA_ERR_TABLE_DEF_CHANGED is normal situation, not an server-wide exception,
don't log it to the error log.
2013-08-26 21:04:10 +04:00
af753c2188 Fix for MDEV-4836: Merge with current 5.5 2013-08-26 16:31:58 +04:00
7907b9b4da Merge fix for MDEV-4942, 5.3->5.5 2013-08-26 16:23:14 +04:00
d2d9eb65e4 [SHOW] EXPLAIN UPDATE/DELETE, code re-structuring
- Merge with current 10.0-base
2013-08-24 12:20:51 +04:00
dbc84ff96c Fixed bug mdev-4942.
Made sure that degenerate conjunctions/disjunctions are obtained from
AND/OR conditions.
2013-08-23 22:17:02 -07:00
662bfed027 [SHOW] EXPLAIN UPDATE/DELETE, code re-structuring
- Merge with current 10.0-base
2013-08-24 00:46:49 +04:00
540eeebbb0 Fixed bug mdev-4420.
The code of JOIN::optimize that performed substitutions for the best equal
field in all ref items did not take into account that a multiple equality
could contain the result of the single-value subquery if the subquery is
inexpensive. This code was corrected.
Also made necessary corresponding corrections in the code of make_join_select().
2013-08-23 07:25:45 -07:00
970542ec90 MDEV-4836: Wrong result on <not null date column> IS NULL (old documented hack stopped working)
- When applying optimization introduced by MDEV-4817, ignore the conditions that have form
  "datetime_not_null_col IS NULL".
2013-08-23 16:32:56 +04:00
5d5f3a1ee8 Merge 5.3->5.5 2013-08-21 11:27:02 -07:00
99992f6ec4 Fixed a bug/typo in the patch for mdev-4355, noticed after the patch
had been merged into 5.5.

Corrected the result of the output from the test case for mdev 4895.
2013-08-20 13:47:13 -07:00
35b2883643 merge 5.5 -> 10.0-base 2013-08-20 14:48:29 +03:00
008371b627 Backported from maria-5.5 the fix in the patch for mdev-4418 that
had been discovered when merging the patch from 5.3 into 5.5.
2013-08-19 14:24:48 -07:00