| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
optimistic plans
Don't use LIMIT-based query plans if we don't have an accurate estimate
of join output cardinality (the primary reason for that is lack of
data about condition selectivity).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
are inside or outside the sort nest
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rewriting GRANT/REVOKE grammar to use more bison stack and use Sql_cmd_ style
1. Removing a few members from LEX:
- uint grant, grant_to_col, which_columns
- List<LEX_COLUMN> columns
- bool all_privileges
2. Adding classes Grand_object_name, Lex_grant_object_name
3. Adding classes Grand_privilege, Lex_grand_privilege
4. Adding struct Lex_column_list_privilege_st, class Lex_column_list_privilege
5. Rewriting the GRANT/REVOKE grammar to use new classes and pass them through
bison stack (rather than directly access LEX members)
6. Adding classes Sql_cmd_grant* and Sql_cmd_revoke*,
changing GRANT/REVOKE to use LEX::m_sql_cmd.
7. Adding the "sp_handler" grammar rule and removing some duplicate grammar
for GRANT/REVOKE for different kinds of SP objects.
8. Adding a new rule comma_separated_ident_list, reusing it in:
- with_column_list
- colum_list_privilege
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ut_align_down(): Preserve the const qualifier. Use C++ casts.
ha_delete_hash_node(): Correct an assertion expression.
fil_page_get_type(): Perform an assumed-aligned read.
page_align(): Preserve the const qualifier. Assume (some) alignment.
page_get_max_trx_id(): Check the index page type.
page_header_get_field(): Perform an assumed-aligned read.
page_get_autoinc(): Perform an assumed-aligned read.
page_dir_get_nth_slot(): Perform an assumed-aligned read.
Preserve the const qualifier.
|
|
|
|
| |
recv_sys_t::ALIGNMENT: The recv_sys_t::alloc() alignment
|
| |
|
|
|
|
|
|
| |
When using LTO, one can see optimization of stack variables that
are passed to check_stack_overrun as argument buf. That prevents
proper stack overrun detection.
|
|
|
|
| |
Add explicit casts when assigning ulint to m_user_space_id.
|
|
|
|
| |
mtr_log_t and mtr_t::m_log_mode have the same range 0 to 3.
|
|
|
|
|
|
| |
mtr_t::get_log_mode(): Use equivalent static_assert().
mtr_t::m_n_log_recs: Do not exceed the number of bits in uint16_t.
|
|
|
|
|
|
| |
Use bit-fields for some mtr_t members to improve locality of reference.
Because mtr_t is never shared between threads, there are no considerations
regarding concurrent access.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
desc xxx" lead to collapse
Main select should be pushed first.
|
| |
| |
| |
| |
| |
| |
| |
| | |
row_log_table_get_pk_old_col(): For replacing a NULL value for a
column of the being-added primary key, look up the correct
default value, even if columns had been instantly reordered or
dropped earlier. This ought to have been broken ever since
commit 0e5a4ac2532c64a545796c787354dc41d61d0e62 (MDEV-15562).
|
| |
| |
| |
| |
| |
| | |
ha_innobase::commit_inplace_alter_table(): After
ALTER_STORED_COLUMN_ORDER, ensure that the virtual column metadata
will be reloaded also when the table is not being rebuilt.
|
| |
| |
| |
| |
| |
| |
| | |
We need to release global system variables mutex before
doing wsrep_init to avoid race with next show status and
we need to save wsrep_on value as it is changed on wsrep_init.
Added test case.
|
| | |
|
| |
| |
| |
| |
| | |
When wsrep_on is changed to ON we might need to run wsrep_init
if wsrep-provider is set and wsrep is not inited.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
myisam table with HASH indexes
Problem:-
So the issue is when we do bulk insert with rows
> MI_MIN_ROWS_TO_DISABLE_INDEXES(100) , We try to disable the indexes to
speedup insert. But current logic also disables the long unique indexes.
Solution:- In ha_myisam::start_bulk_insert if we find long hash index
(HA_KEY_ALG_LONG_HASH) we will not disable the index.
This commit also refactors the mi_disable_indexes_for_rebuild function,
Since this is function is called at only one place, it is inlined into
start_bulk_insert
mi_clear_key_active is added into myisamdef.h because now it is also used
in ha_myisam.cc file.
(Same is done for Aria Storage engine)
|
| | |
|
| |
| |
| |
| |
| | |
If we have long unique key for aria engine return too long key error, because
Aria does not support key on virtual generated column.
|
| |
| |
| |
| |
| | |
Starting with MariaDB Server 10.4, C++11 is being used.
Hence, std::atomic should be preferred to my_atomic.
|
| |
| |
| |
| | |
Fix up commit f5c080c7353cc9c30d0b269c07024cd38253c3bc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 0e5a4ac2532c64a545796c787354dc41d61d0e62 (MDEV-15562)
we introduced was a bogus debug check failure that does not affect
the correctness of the release build.
With a fixed-length PRIMARY KEY, we do not have to recompute
the rec_get_offsets() after restarting the mini-transaction,
because the offsets of DB_TRX_ID,DB_ROLL_PTR are not going
to change.
row_undo_mod_clust(): Invoke rec_offs_make_valid() to keep the
debug check in page_zip_write_trx_id_and_roll_ptr() happy.
The scenario to reproduce this bug should be rather unlikely:
In the time frame when row_undo_mod_clust() has committed its
first mini-transaction and has not yet started the next one,
another mini-transaction must do something that causes the page
to be reorganized, split or merged.
|
| |
| |
| |
| |
| | |
The variable 'dlh' was being used uninitialized if WSREP_PROVIDER
is not set.
|
| | |
|
| |
| |
| |
| | |
- Fixed possible error in rocksdb/rdb_datadic.cc
|
| |
| |
| |
| | |
This helps to determinate why galera library doesn't load
|