Commit graph

85435 commits

Author SHA1 Message Date
Vicențiu Ciorbaru
71a504ca16 Whitespace fixes 2013-10-17 15:02:29 -07:00
Vicențiu Ciorbaru
dc4126657f Refactored ACL_USER:
Changed ACL_USER.user from char * to LEX_STRING.
Refactored every section that made use of ACL_USER.user as a char*.

This was done so as to be able to quickly check the hash_key of the acl_user.
2013-10-17 15:02:18 -07:00
Vicențiu Ciorbaru
fdc1669793 Fixed memory leaks.
role_grants is no longer used as it will be added to the ACL_USER class
2013-10-17 15:00:30 -07:00
Vicențiu Ciorbaru
aa465ac3ba Removed redundant #include "sql_hset.h"
It was a leftover from attempting to use Hash_set
2013-10-17 14:58:37 -07:00
Vicențiu Ciorbaru
dd5a98da35 Fixed key search in HASH table 2013-10-17 14:58:07 -07:00
Vicențiu Ciorbaru
e0c908ebe7 Changed acl_roles to be stored into a HASH.
There is an issue with correct searching of keys in the HASH.
2013-10-17 14:57:58 -07:00
Vicențiu Ciorbaru
334860cccf Added roles mapping internal structure creation
TODO: Free structures on flush
2013-10-17 14:57:49 -07:00
Vicențiu Ciorbaru
875617c089 Added separation between roles and users in the mysql.user table 2013-10-17 14:57:39 -07:00
Vicențiu Ciorbaru
9f512dca3c Initialized roles_mapping table. Performed a check to see if a mapping exists. 2013-10-17 14:57:22 -07:00
Vicențiu Ciorbaru
8bb04a90c2 Modified test result to accound for the roles_mapping table. 2013-10-17 14:57:15 -07:00
Vicențiu Ciorbaru
f401de7a4a Reordered entries to keep the had_user_table variable correct. 2013-10-17 14:57:10 -07:00
Vicențiu Ciorbaru
dc5fdacfe0 Added the new roles_mapping table to mysql_system_tables.sql script. 2013-10-17 14:57:06 -07:00
timour@askmonty.org
929466401e Removed extra empty line 2013-10-18 12:09:35 +03:00
timour@askmonty.org
afed809297 MDEV-5123 Remove duplicated conditions pushed both to join_tab->select_cond and join_tab->cache_select->cond for blocked joins.
BNL and BNLH joins pre-filter the records from a joined table via JOIN_TAB::cache_select->cond.
There is no need to re-evaluate the same conditions via JOIN_TAB::select_cond. This patch removes
the duplicated conditions from the top-level conjuncts of each pushed condition.

The added "Using where" in few EXPLAINs is due to taking into account tab->cache_select->cond
in addition to tab->select_cond in JOIN::save_explain_data_intern.
2013-10-18 11:45:25 +03:00
Alexander Barkov
adbb439358 Merge 5.5 -> 10.0-base 2013-10-21 13:43:45 +04:00
Alexander Barkov
a06cd2cbe5 Merge 5.3 -> 5.5 2013-10-21 13:37:17 +04:00
Alexander Barkov
046fe91161 Merge 5.2 -> 5.3 2013-10-21 13:36:29 +04:00
Alexander Barkov
c63b72c968 Merge 5.1 -> 5.2 2013-10-21 13:35:43 +04:00
Alexander Barkov
11d141004a A clean-up for DEV-4890 Valgrind warnings on shutdown on a build with openSSL 2013-10-21 13:34:18 +04:00
Sergey Petrunya
dd6bd8bfbd Fix valgrind failure in subselect3.test, "Conditional jump or move
depends on uninitialised value(s) in JOIN::save_explain_data_intern"
- Make find_best()  /* the old join optimizer code */ also use table
  condition selectivity.
2013-10-17 09:45:31 +04:00
Alexander Barkov
b88bf50ec1 Merge 5.5 -> 10.0-base 2013-10-16 20:41:50 +04:00
Alexander Barkov
1039182354 Merge 5.5 -> 10.0-base 2013-10-16 20:26:16 +04:00
Alexander Barkov
70f066eba4 Merge 5.5 -> 10.0-base 2013-10-16 20:24:02 +04:00
Alexander Barkov
3bf20bc7de A clean-up for "MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE".
Local variable table_name_buffer went out of scope while
its content was still being used by a String instance.
Moved the variable to the function scope.
2013-10-16 20:17:22 +04:00
Alexander Barkov
11005f3413 Merge 5.3->5.5 2013-10-16 18:17:51 +04:00
Alexander Barkov
bff85079d3 Merge 5.2->5.3 2013-10-16 18:13:13 +04:00
Alexander Barkov
5064d03b80 Merge 5.3 -> 5.5. 2013-10-16 17:58:54 +04:00
Alexander Barkov
2b60ad3637 Merge 5.1->5.2 2013-10-16 17:58:15 +04:00
Alexander Barkov
049000101a Merge 5.1 -> 5.3 2013-10-16 17:48:31 +04:00
Alexander Barkov
de4ca539b8 MDEV-4890 Valgrind warnings on shutdown on a build with openSSL 2013-10-16 17:37:11 +04:00
unknown
73f8b4dac2 MDEV-4981: Account for queries handled by query-cache in USER_STATISTICS (and in HOST_STATISTICS)
fix for SP & PS
2013-10-16 16:07:25 +03:00
Sergey Petrunya
4bed7aa858 MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE, Memory leak in binlog.binlog_base64_flag:
- It turns out, there are statements that will call lex_start(thd->lex) 
  after parsing has been finished. lex_start() will set lex->explain=NULL,
  which will lose the pointer to already allocated Explain_plan object.
- To get rid of this, switch to lazy creation of lex->explain.  Now, it is 
  created only when we get a part ot query plan.
2013-10-16 12:13:51 +04:00
Sergey Petrunya
207f008220 Fix valgrind failure caused by calling c_ptr() of an empty StringBuffer<N>. 2013-10-15 19:24:43 +04:00
Sergey Petrunya
c0a741f005 Fix buildbot failures:
- MYSQL_MULTI_DELETE_DONE probe compile failure
- show_explain_non_select.test
2013-10-15 16:39:54 +04:00
Sergey Petrunya
7be365ea9c MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE
- When showing EXPLAIN output in the slow query log, 
  format it so that one could use grep or other tool
  to get the output.
2013-10-15 13:21:06 +04:00
Sergey Petrunya
282ff783b1 MDEV-5117: Explain for a query executed as a PS is not written into the slow log
- Save the query plan after the statement was executed so that its gets into
  the slow query log.
2013-10-15 13:14:44 +04:00
Sergey Petrunya
1e36cbfa39 MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE
- Merge with 10.0-base
2013-10-15 11:51:41 +04:00
Sergey Petrunya
25d0175fde MDEV-3798: EXPLAIN UPDATE/DELETE:
- Port grant_explain_non_select.{test,result} from mysql-5.6
- Per Sanja's hint, fix mysql_make_view() to take into 
  account that EXPLAIN now is not necessarily EXPLAIN SELECT.
2013-10-15 11:43:34 +04:00
Sergey Petrunya
e522ebc221 Update test results for the last cset. 2013-10-15 10:36:39 +04:00
Sergey Petrunya
a06170c8d8 MDEV-3798: EXPLAIN UPDATE/DELETE
- Fix a problem with EXPLAIN multi_table UPDATE: 
  = Do use multi_update object, because multi_update::prepare() does
    various setup, e.g. it disables index-only for the tables to be updated.
  = Protect multi_update::prepare() from being invoked multiple times. 
    If the query has subqueries, they may try to invoke it, for some reason.
2013-10-15 10:34:46 +04:00
Sergey Petrunya
a356cfbefb MDEV-3798: EXPLAIN UPDATE/DELETE
- eliminate join_save_qpf() function.
2013-10-15 08:00:48 +04:00
Igor Babaev
eb2c6f4513 Merge 5.5->10.0-base 2013-10-14 13:39:18 -07:00
Sergey Petrunya
1ec399ce03 Code cleanup. 2013-10-15 00:30:32 +04:00
Igor Babaev
eae0a45f4e Merge 2013-10-14 12:30:20 -07:00
Igor Babaev
1381585244 Merge 5.3->5.5 2013-10-14 12:08:55 -07:00
Igor Babaev
81623bdc35 Fixed bug mdev-5135.
The patch for bug mdev-5105 incorrectly counted conditions in nested joins.
2013-10-14 10:29:24 -07:00
Alexey Botchkov
4e243be509 MDEV-5131 create_embedded_thd is not thread safe, libmysqld.
The emb_free_embedded_thd() has the thread-unsafe code
        so should be 'mutexed' also.
2013-10-14 21:23:09 +05:00
Sergey Petrunya
105e3ae6c9 MDEV-3798: EXPLAIN UPDATE/DELETE
Update the SHOW EXPLAIN code to work with the 
new architecture (part#1):
Before, SHOW EXPLAIN operated on real query plan structures, 
which meant it had to check when SELECTs are created/deleted.
SELECTs would call apc_target->enable() when they got a query 
plan and disable() when their query plan was deleted.

Now, Explain data structure becomes available at once (and we
call apc_target->enable()) and then it stays until it is deleted
(when that happens, we call apc_target->disable()).
2013-10-14 20:09:33 +04:00
Sergey Petrunya
f67f8fd00f MDEV-3798: EXPLAIN UPDATE/DELETE
- Fix EXPLAIN INSERT DELAYED ... : do call end_delayed_insert().
2013-10-14 20:01:28 +04:00
Igor Babaev
ddc46740a5 Merge 5.5->10.0-base 2013-10-13 18:10:19 -07:00