summaryrefslogtreecommitdiff
path: root/mysys
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-5800 MyISAM support for indexed vcolsSergei Golubchik2016-12-121-1/+1
| | | | | | | * don't issue an error for ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN * support keyread on vcols * callback into the server to compute vcol values from mi_check/mi_repair * DMLs just work. Automatically.
* cleanup: my_printf_error(ER_xxx, ER(ER_xxx), ... )Sergei Golubchik2016-12-121-1/+1
| | | | | only use my_print_error when the error message is not ER(error_code)
* fix stack traces when linking with libbfdSergei Golubchik2016-12-121-12/+18
| | | | also, return different values for different errors in my_addr_resolve()
* fix build and some warningskevg2016-11-241-12/+0
|
* MDEV-11255 LDML: allow defining 2-level UCA collationsAlexander Barkov2016-11-081-7/+38
|
* MDEV-10943 . Workaround linker error on Linux. Linux does not actually use ↵Vladislav Vaintroub2016-10-151-2/+2
| | | | __bss_start, put __bss_start into #ifndef __linux__ section
* MDEV-9736: Window functions: multiple cursors to read filesort resultSergei Petrunia2016-09-241-14/+134
| | | | | | | | | | Add support for having multiple IO_CACHEs with type=READ_CACHE to share the file they are reading from. Each IO_CACHE keeps its own in-memory buffer. When doing a read or seek operation on the file, it notifies other IO_CACHEs that the file position has been changed. Make Rowid_seq_cursor use cloned IO_CACHE when reading filesort result.
* MDEV-10877 xxx_unicode_nopad_ci collationsAlexander Barkov2016-09-232-5/+30
|
* Merge branch '10.2' into bb-10.2-connector-c-integ-submSergei Golubchik2016-09-214-40/+171
|\
| * Merge branch '10.1' into 10.2Sergei Golubchik2016-09-092-14/+33
| |\
| | * Merge branch '10.0' into 10.1Sergei Golubchik2016-08-252-11/+8
| | |\
| | | * Fixed compiler error and some warnings on windowsMonty2016-08-231-1/+1
| | | |
| | | * Merge branch '5.5' into 10.0Sergei Golubchik2016-08-101-10/+7
| | | |\
| | | | * MDEV-10357 my_context_continue() does not store current fiber on WindowsVladislav Vaintroub2016-08-031-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Make sure current fiber is saved in my_context::app_fiber in both my_context_spawn() and my_context_continue()
| | * | | Merge branch '10.0' into 10.1Sergei Golubchik2016-07-131-4/+26
| | |\ \ \ | | | |/ /
| | | * | [MDEV-9127] Crash reporter often fails to show the query that crashedVicențiu Ciorbaru2016-07-121-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addreses are not necessarily between heap_start && heap_end. Malloc calls using mmap can place pointers outside these bounds. In this case, we'll warn the user that the query pointer is potentially invalid. However, we'll attempt to print the data anyway after we're done printing everything else.
| * | | | MDEV-9711 NO PAD collationsAlexander Barkov2016-09-062-5/+45
| | | | | | | | | | | | | | | | | | | | Based on the patch from Daniil Medvedev (a Google Summer of Code task)
| * | | | MDEV-10743 LDML: a new syntax to reuse sort order from another 8bit simple ↵Alexander Barkov2016-09-061-5/+93
| | | | | | | | | | | | | | | | | | | | collation
| * | | | LDML refactoring for "MDEV-9711 NO PAD collations"Alexander Barkov2016-09-031-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moving detection of the MY_CS_CSSORT, MY_CS_PUREASCII, MY_CS_NONASCII flags of loadable collations from add_collation() in mysys.c to my_cset_init_8bit() and my_coll_init_simple() in ctype-simple.c. - Adding tests that these flags are set properly for loadable collations - Moving LDML test related *.xml files from mysql-test/std_data/ to mysql-test/std_data/ldml/, as there will be more *.xml test files
* | | | | name clash with gnutls on on base64_encodeSergei Golubchik2016-09-121-16/+16
| | | | |
* | | | | After-review changesSergei Golubchik2016-09-122-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove redundant code * fix tests * move declarations and defines where they belong
* | | | | MDEV-9293 - Use MariaDB's Connector/C in serverVladislav Vaintroub2016-08-253-1/+217
|/ / / /
* | | | Revert "MDEV-9293 Connector/C integration"Vladislav Vaintroub2016-08-193-217/+1
| | | | | | | | | | | | | | | | This reverts commit 7b89b9f5108c80f4f270da922d7e6c182a663719.
* | | | MDEV-9293 Connector/C integrationVladislav Vaintroub2016-08-193-1/+217
| | | |
* | | | MDEV-9872: New Power8 crc32(ieee) optimized functionsDaniel Black2016-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | These are different from the existing crc32 functions which where really crc32c.
* | | | MDEV-9872 - Add common optimized CRC32 function interfaceSergey Vojtovich2016-08-043-24/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move crc32-vpmsum to extra. Compile static crc32-vpmsum instead of adding sources directly. Make use of crc32-vpmsum via my_checksum(). Based on contribution by Daniel Black.
* | | | Merge branch '10.1' into 10.2Sergei Golubchik2016-06-308-9/+25
|\ \ \ \ | |/ / /
| * | | Merge branch '10.0' into 10.1Sergei Golubchik2016-06-285-6/+13
| |\ \ \ | | |/ /
| | * | Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-215-6/+10
| | |\ \ | | | |/
| | | * MDEV-9433: [PATCH} cppcheck reported a number of minor coding errorsDaniel Black2016-06-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix cppwarning of va_args being opened but not closed. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
| | | * MDEV-9433: [PATCH] cppcheck reported a number of minor coding errorsDaniel Black2016-06-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a bug in testhash.c that caused an out of bounds memory access when command line parameters specified 0 records to be inserted in the hashtable. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
| | | * Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-06-143-4/+6
| | | |\
| | | | * Bug#23251517: SEMISYNC REPLICATION HANGINGmysql-5.5.50Sujatha Sivakumar2016-05-162-16/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert following bug fix: Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK IS FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE This fix results in a deadlock between slave IO thread and SQL thread. (cherry picked from commit e3fea6c6dbb36c6ab21c4ab777224560e9608b53)
| | | | * Bug#22897202: RPL_IO_THD_WAIT_FOR_DISK_SPACE HAS OCCASIONALSujatha Sivakumar2016-04-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAILURES Analysis: ========= Test script is not ensuring that "assert_grep.inc" should be called only after 'Disk is full' error is written to the error log. Test checks for "Queueing master event to the relay log" state. But this state is set before invoking 'queue_event'. Actual 'Disk is full' error happens at a very lower level. It can happen that we might even reset the debug point before even the actual disk full simulation occurs and the "Disk is full" message will never appear in the error log. In order to guarentee that we must have some mechanism where in after we write "Disk is full" error messge into the error log we must signal the test to execute SSS and then reset the debug point. So that test is deterministic. Fix: === Added debug sync point to make script deterministic.
| | | | * BUG#22594514: HANDLE_FATAL_SIGNAL (SIG=11) INNisha Gopalakrishnan2016-03-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNIQUE::~UNIQUE | SQL/UNIQUES.CC:355 Analysis ======== Enabling the sort_buffer_size with a large value can cause operations utilizing the sort buffer like DELETE as mentioned in the bug report to fail. 5.5 and 5.6 versions reports OOM error while in 5.7+, the server crashes. While initializing the mem_root for the sort buffer tree, the block size for the mem_root is determined from the 'sort_buffer_size' value. This unsigned long value is typecasted to unsigned int, hence it becomes zero. Further block_size computation while initializing the mem_root results in a very large block_size value. Hence while trying to allocate a block during the DELETE operation, an OOM error is reported. In case of 5.7+, the PFS instrumentation for memory allocation, overshoots the unsigned value and allocates a block of just one byte. While trying to free the block of the mem_root, the original block_size is used. This triggers the crash since the server tries to free unallocated memory. Fix: ==== In order to restrict usage of such unreasonable sort_buffer_size, the typecast of block size to 'unsigned int' is removed and hence reports OOM error across all versions for sizes exceeding unsigned int range.
| | | | * Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK ISSujatha Sivakumar2016-03-012-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE Problem: ======== Currently SHOW SLAVE STATUS blocks if IO thread waits for disk space. This makes automation tools verifying server health block on taking relevant action. Finally this will create SHOW SLAVE STATUS piles. Analysis: ========= SHOW SLAVE STATUS hangs on mi->data_lock if relay log write is waiting for free disk space while holding mi->data_lock. mi->data_lock is needed to protect the format description event (mi->format_description_event) which is accessed by the clients running FLUSH LOGS and slave IO thread. Note relay log writes don't need to be protected by mi->data_lock, LOCK_log is used to protect relay log between IO and SQL thread (see MYSQL_BIN_LOG::append_event). The code takes mi->data_lock to protect mi->format_description_event during relay log rotate which might get triggered right after relay log write. Fix: ==== Release the data_lock just for the duration of writing into relay log. Made change to ensure the following lock order is maintained to avoid deadlocks. data_lock, LOCK_log data_lock is held during relay log rotations to protect the description event.
| | | | * Bug#21770366 backport bug#21657078 to 5.5 and 5.6Jon Olav Hauglid2016-01-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post-push fix: The problem was that condition variable timeouts could in some cases (slow machines and/or short timeouts) be infinite. When the number of milliseconds to wait is computed, the end time is computed before the now() time. This can result in the now() time being later than the end time, leading to negative timeout. Which after conversion to unsigned becomes ~infinite. This patch fixes the problem by explicitly checking if we get negative timeout and then using 0 if this is the case.
| | * | | MDEV-10001 my_b_seek() may not work correctly after my_b_read() hits EOFSergei Golubchik2016-06-151-0/+3
| | | | | | | | | | | | | | | | | | | | applied the patch from David Gow
| | * | | Merge branch 'mdev9991' into mdev9991-10.0Kristian Nielsen2016-06-081-2/+2
| | |\ \ \ | | | |/ /
| * | | | Merge branch 'mdev9991' into mdev9991-10.1MDEV-8947Kristian Nielsen2016-06-081-2/+2
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Fix compiler check for stack unwind hintKristian Nielsen2016-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check inserts a DWARF directive to tell stack unwinding that the bottom of the (co-routine) stack has been reached. Without this, stack traces may attempt to continue past the bottom of the stack. The GCC version check was incorrect, and failed to trigger for GCC version 5.[0123].
| * | | | Adding collationsmasterAlexander Barkov2016-05-301-2/+10
| | | | | | | | | | | | | | | | | | | | utf8mb4_thai_520_w2, ucs2_thai_520_w2, utf16_thai_520_w2, utf32_thai_520_w2
| * | | | Multi-level collation in UCA, Thai sorting with contraction for UTF8.pruet2016-05-261-0/+2
| | | | |
| * | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-05-041-1/+0
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Merge branch '5.5' into 10.0Sergei Golubchik2016-04-261-1/+0
| | |\ \ \ | | | |/ /
| | | * | MDEV-9748 Include Twin (mysys_err.h is included twice in mysys/my_copy.c)Sergei Golubchik2016-04-191-1/+0
| | | | |
* | | | | Fixed compiler warnings and test failures found by buildbotMonty2016-06-244-12/+12
| | | | | | | | | | | | | | | | | | | | Fixed ccfilter to detect errors where the column is included in the error message
* | | | | General spell fixing in comments and stringsOtto Kekäläinen2016-06-081-1/+1
| | | | |
* | | | | MDEV-9857 - CACHE_LINE_SIZE in innodb should be 128 on POWERSergey Vojtovich2016-06-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced hard-coded cache line size. Changes based on Daniel Black's work.
* | | | | Reuse THD for new user connectionsMonty2016-06-042-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - To ensure that mallocs are marked for the correct THD, even if it's allocated in another thread, I added the thread_id to the THD constructor - Added st_my_thread_var to thr_lock_info_init() to avoid a call to my_thread_var - Moved things from THD::THD() to THD::init() - Moved some things to THD::cleanup() - Added THD::free_connection() and THD::reset_for_reuse() - Added THD to CONNECT::create_thd() - Added THD::thread_dbug_id and st_my_thread_var->dbug_id. These are needed to ensure that we have a constant thread_id used for debugging with a THD, even if it changes thread_id (=connection_id) - Set variables.pseudo_thread_id in constructor. Removed not needed sets.