| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Protocol_text::store_field_metadata
|
|
|
|
| |
Closed PR#1383
|
|\ |
|
| | |
|
| |
| |
| |
| | |
(2)fix: bug when call create tmp table
|
| |
| |
| |
| |
| | |
(2) remove empty "--error ER_PARSE_ERROR"
(3) change three members in class select_unit to protected.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This patch introduces the optimization that allows range optimizer to
consider index range scans that are built employing NOT NULL predicates
inferred from WHERE conditions and ON expressions.
The patch adds a new optimizer switch not_null_range_scan.
|
| |
| |
| |
| | |
This fixed a bug that caused the amazon.test to fail
|
| |
| |
| |
| |
| |
| | |
* Collect and pass apply error data to provider
* Rollback failed transaction and continue operation if provider returns
SUCCESS
* MTR tests for inconsistency voting
|
| | |
|
| |
| |
| |
| | |
disable tokudb, because it's being deprecated by the vendor
|
| |
| |
| |
| | |
cmake that old doesn't support VERSION_GREATER_EQUAL
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The extensive usage of stack space, especially when used with ASan
(AdressSanitizer) of mysql_execute_command caused the test
rpl.rpl_row_sp011 to fail because it did run out of stack. In this
test case mysql_execute_command is called recursively for each
function all.
Changes done:
- Changed a few functions that used big local variables to be marked
__attribute__ ((noinline))
- Moved sub parts that used big local variables to external functions.
- Changed wsrep_commit_empty() from inline to normal function as this used
more than 1K of stack space and because there is no reason for this
rarely used function to be inline.
End result (with gcc 7.4.1 on Intel Xeon):
Starting point for stack space usage:
gcc -O: 7800
gcc with -fsanitize=address -O (ASan) : 27240
After this patch:
gcc -O: 1160
gcc -O0 (debug build) 1584
gcc with -fsanitize=address -O (ASan): 4424
gcc with -fsanitize=address -O2 (ASan): 3874
A 6x improvement and will allow us to run all mtr tests with ASan.
|
| |
| |
| |
| |
| |
| | |
- WSREP_DEBUG called WSREP_LOG which allocated a 1K variable on stack
for each macro usage (at least gcc can't reuse the stack space).
Move this concatenation to happen compile-time, not run-time.
|
| |
| |
| |
| |
| | |
and change its semantics so that it could in the future
be used for MSAN, UBSAN, and other sanitizer too.
|
| |
| |
| |
| |
| | |
- Leak detection is now enabled by default
- Also added to mysql-test suppression files for asan and lsan
|
| |
| |
| |
| |
| |
| | |
- Note that some issues was also fixed in 10.2 and 10.4. I also fixed them
here to be able to continue with making 10.5 valgrind safe again
- Disable connection threads warnings when doing shutdown
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- clang complains about register in C++
- Removed not used variables
- Fixed bug when printing date in filamdbf.cpp
- Added {} to fix warning about dangling else
- Changed connect_done_func() to be global to remove conflict with header
files
- Added extra () around assignment in if
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Fixed some unitialized variables
- Removed some warnings:
-Wno-parentheses-equality gives warnings from macro-expressions
-Wno-string-plus-int is not a common problem and it's not trivial to
fix it in connect
|
| |
| |
| |
| | |
Added also -DTRASH_FREE_MEMORY to valgrind builds
|
| |
| |
| |
| | |
it doesn't belong in include/my_base.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes:
- maria_create() now uses a bit in the parameter flags to check if table
should be encrypted instead of using maria_encrypted_tables.
- Don't encrypt tables that are to be converted to S3
- Added encrypted flag to ARIA_TABLE_CAPABILITIES
- maria_chk --description now prints if table is encrypted. Other
operations is not allowed on encrypted tables.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MDEV-19591
Assertion `!table->pos_in_locked_tables' failed in tc_release_table upon
altering table into S3 under lock.
The problem was that thd->open_tables->pos_in_locked_tables was not reset
when alter table failed to reopen a locked table.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Limit increased from 1000 to 2000.
Avoiding stack overflow by only storing keys and pages on the stack in
recursive functions if there is plenty of space on it.
Other things:
- Use less stack space for b-tree operations as we now only allocate as
much space as needed instead of always allocating HA_MAX_KEY_LENGTH.
- Replaced most usage of my_safe_alloca() in Aria with the stack_alloc
interface.
- Moved my_setstacksize() to mysys/my_pthread.c
|
| |
|
|
|
|
| |
It is always LOG_BIN anyway.
|
|
|
|
|
|
| |
Embed MYSQL_LOG::init().
Reduce visibility of MYSQL_LOG::init_and_set_log_file_name().
Cleanup unused mysql_bin_log_file_name() and mysql_bin_log_file_pos().
|
|
|
|
| |
Protocol_text::store_field_metadata
|
|
|
|
|
| |
Kentoku told me that this is ok and that he just had forgot
to do that as part of an earlier bug fix
|
|
|
|
| |
Type_handler_longlong::make_table_field
|
|\ |
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Optimize the test by dropping the table early and by using only
one undo log thread, so that purge will be doing more useful work
and less busy work of suspending and resuming the worker threads.
The test used to cause shutdown timeout on 10.4 on buildbot, and
for me locally when using --mysqld=--innodb-sync-debug.
With these tweaks, it passes for me with --mysqld=--innodb-sync-debug.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It looks like the merge of MySQL 5.7.9 to MariaDB 10.2.2 conflicted with
earlier changes that were made in MDEV-8588.
row_search_mvcc(): If the page is corrupted, avoid invoking
btr_cur_store_position(). The caller should not try to fetch
the next record after a hard error.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
No memory access violated the bounds of fake_extra_buf[],
but GCC does not like the fact that the pointer fake_extra
ends up pointing before the array.
Allocate a dummy element at the start of fake_extra_buf[]
in order to silence the warning.
|
| | |\ \
| | | |/ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This triggered a "may be uninitialized" warning from GCC 9.2.1.
The bogus-looking condition was added in
7e916bb86f512ff79f30d809b813608a625ec5ba
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\ \
| | | |/
| | | |
| | | | |
Merge branch '10.2' into 10.3
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem:
=======
DROP TABLE IF EXISTS was killed. The table still exists on
the master but the DDL was still logged.
Analysis:
=========
During the execution of DROP TABLE command "ha_delete_table" call is invoked
to delete the table. If the query is killed at this point, the kill command
is not handled within the code. This results in two issues.
1) The table which is not dropped also gets written into the binary log.
2) The code continues further upon receiving 'KILL QUERY'.
Fix:
===
Upon receiving the KILL command the query should stop its current execution.
Tables which were successfully dropped prior to KILL command should be
included in the binary log.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ins_node_create() does not initialize all members of que_common_t, so
zero-init them with mem_heap_zalloc().
Handle out-of-memory correctly.
Init insert_node->common.parent to fulfill the contract of thr usage.
Free insert_node subtree at row_update_vers_insert() exit.
|
| | | | |
|