summaryrefslogtreecommitdiff
path: root/storage/mroonga
Commit message (Collapse)AuthorAgeFilesLines
* Fixed compiler warnings from gcc and clang 5.0.1Monty2020-05-2312-38/+39
|
* cleanup: ha_external_unlock() helperSergei Golubchik2020-05-051-1/+1
| | | | | as mentioned in f9f33b85be6 and generally to make it easier to talk about
* Merge 10.4 into 10.5Marko Mäkelä2020-04-251-1/+1
|\ | | | | | | | | The functional changes of commit 5836191c8f0658d5d75484766fdcc3d838b0a5c1 (MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
| * Merge 10.3 into 10.4Marko Mäkelä2020-04-161-1/+1
| |\ | | | | | | | | | | | | | | | | | | In main.index_merge_myisam we remove the test that was added in commit a2d24def8cc42d27c72d833abfb39ef24a2b96ba because it duplicates the test case that was added in commit 5af12e463549e4bbc2ce6ab720d78937d5e5db4e.
| | * Merge 10.2 into 10.3Marko Mäkelä2020-04-151-1/+1
| | |\
| | | * MDEV-20604: Duplicate key value is silently truncated to 64 characters in ↵Oleksandr Byelkin2020-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | print_keydup_error Added indication of truncated string for "s" and "M" formats
* | | | Added support for more functions when using partitioned S3 tablesMonty2020-04-192-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-22088 S3 partitioning support All ALTER PARTITION commands should now work on S3 tables except REBUILD PARTITION TRUNCATE PARTITION REORGANIZE PARTITION In addition, PARTIONED S3 TABLES can also be replicated. This is achived by storing the partition tables .frm and .par file on S3 for partitioned shared (S3) tables. The discovery methods are enchanced by allowing engines that supports discovery to also support of the partitioned tables .frm and .par file Things in more detail - The .frm and .par files of partitioned tables are stored in S3 and kept in sync. - Added hton callback create_partitioning_metadata to inform handler that metadata for a partitoned file has changed - Added back handler::discover_check_version() to be able to check if a table's or a part table's definition has changed. - Added handler::check_if_updates_are_ignored(). Needed for partitioning. - Renamed rebind() -> rebind_psi(), as it was before. - Changed CHF_xxx hadnler flags to an enum - Changed some checks from using table->file->ht to use table->file->partition_ht() to get discovery to work with partitioning. - If TABLE_SHARE::init_from_binary_frm_image() fails, ensure that we don't leave any .frm or .par files around. - Fixed that writefrm() doesn't leave unusable .frm files around - Appended extension to path for writefrm() to be able to reuse to function for creating .par files. - Added DBUG_PUSH("") to a a few functions that caused a lot of not critical tracing.
* | | | fix mroonga: change field's table as well as ptr for ad-hoc // fixes ↵Nikita Malyavin2020-03-313-43/+26
| | | | | | | | | | | | | | | | ptr_in_record usage
* | | | Updated optimizer costs in multi_range_read_info_const() and sql_select.ccMonty2020-03-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - multi_range_read_info_const now uses the new records_in_range interface - Added handler::avg_io_cost() - Don't calculate avg_io_cost() in get_sweep_read_cost if avg_io_cost is not 1.0. In this case we trust the avg_io_cost() from the handler. - Changed test_quick_select to use TIME_FOR_COMPARE instead of TIME_FOR_COMPARE_IDX to align this with the rest of the code. - Fixed bug when using test_if_cheaper_ordering where we didn't use keyread if index was changed - Fixed a bug where we didn't use index only read when using order-by-index - Added keyread_time() to HEAP. The default keyread_time() was optimized for blocks and not suitable for HEAP. The effect was the HEAP prefered table scans over ranges for btree indexes. - Fixed get_sweep_read_cost() for HEAP tables - Ensure that range and ref have same cost for simple ranges Added a small cost (MULTI_RANGE_READ_SETUP_COST) to ranges to ensure we favior ref for range for simple queries. - Fixed that matching_candidates_in_table() uses same number of records as the rest of the optimizer - Added avg_io_cost() to JT_EQ_REF cost. This helps calculate the cost for HEAP and temporary tables better. A few tests changed because of this. - heap::read_time() and heap::keyread_time() adjusted to not add +1. This was to ensure that handler::keyread_time() doesn't give higher cost for heap tables than for normal tables. One effect of this is that heap and derived tables stored in heap will prefer key access as this is now regarded as cheap. - Changed cost for index read in sql_select.cc to match multi_range_read_info_const(). All index cost calculation is now done trough one function. - 'ref' will now use quick_cost for keys if it exists. This is done so that for '=' ranges, 'ref' is prefered over 'range'. - scan_time() now takes avg_io_costs() into account - get_delayed_table_estimates() uses block_size and avg_io_cost() - Removed default argument to test_if_order_by_key(); simplifies code
* | | | Added page_range to records_in_range() to improve range statisticsMonty2020-03-272-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prototype change: - virtual ha_rows records_in_range(uint inx, key_range *min_key, - key_range *max_key) + virtual ha_rows records_in_range(uint inx, const key_range *min_key, + const key_range *max_key, + page_range *res) The handler can ignore the page_range parameter. In the case the handler updates the parameter, the optimizer can deduce the following: - If previous range's last key is on the same block as next range's first key - If the current key range is in one block - We can also assume that the first and last block read are cached! This can be used for a better calculation of IO seeks when we estimate the cost of a range index scan. The parameter is fully implemented for MyISAM, Aria and InnoDB. A separate patch will update handler::multi_range_read_info_const() to take the benefits of this change and also remove the double records_in_range() calls that are not anymore needed.
* | | | Replace handler::primary_key_is_clustered() with handler::pk_is_clustering_key()Monty2020-03-242-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was done to both simplify the code and also to be easier to handle storage engines that are clustered on some other index than the primary key. As pk_is_clustering_key() and is_clustering_key now are using only index_flags, these where removed from all storage engines.
* | | | handler::rebind()Sergey Vojtovich2020-03-242-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | - rename PFS specific rebind_psi() to generic rebind() - call rebind independently of PFS compilation status - allow rebind() return an error
* | | | merge 10.4 to 10.5Monty2020-03-1820-3/+20
|\ \ \ \ | |/ / /
| * | | Removed double records_in_range calls from multi_range_read_info_constMonty2020-03-1720-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was to remove a performance regression between 10.3 and 10.4 In 10.5 we will have a better implementation of records_in_range that will enable us to get more statistics. This change was not done in 10.4 because the 10.5 will be part of a larger change that is not suitable for the GA 10.4 version Other things: - Changed default handler block_size to 8192 to fix things statistics for engines that doesn't set the block size. - Fixed a bug in spider when using multiple part const ranges (Patch from Kentoku)
* | | | cleanup: PSI key is *always* the first argumentSergei Golubchik2020-03-101-3/+2
| | | |
* | | | perfschema compilation, test and misc fixesSergei Golubchik2020-03-103-12/+3
| | | |
* | | | perfschema memory related instrumentation changesSergei Golubchik2020-03-101-64/+3
| | | |
* | | | MDEV-18650: Options deprecated in previous versions - mroonga_default_parserVicențiu Ciorbaru2020-02-137-15/+15
| | | | | | | | | | | | | | | | | | | | Variable is marked as deprecated since 10.1.6. Update tests to not make use of it.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-02-071-24/+24
|\ \ \ \ | |/ / /
| * | | Fixed compiler warnings from gcc 7.4.1Monty2020-01-291-24/+24
| | | | | | | | | | | | | | | | - Fixed possible error in rocksdb/rdb_datadic.cc
* | | | MDEV-14024 PCRE2.Alexey Botchkov2019-12-214-40/+2
| | | | | | | | | | | | | | | | Related changes in the server code.
* | | | MDEV-8844 Unreadable control characters printed as is in warningsAlexander Barkov2019-12-061-1/+1
| | | |
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-10-111-1/+6
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-10-101-1/+6
| |\ \ \ | | |/ /
| | * | Fix compilation 2 (GCC 9)Aleksey Midenkov2019-10-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fixed warning: -Woverloaded-virtual for GCC 9 (Clang treats it differently) Caused by c9cba59749e1b5a39a9e3a0a5b8bd762507245f9
| | * | Fix Mroonga compilationAleksey Midenkov2019-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixed warnings: -Woverloaded-virtual, -Winconsistent-missing-override Caused by c9cba59749e1b5a39a9e3a0a5b8bd762507245f9
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-061-0/+6
|\ \ \ \ | |/ / /
| * | | Merge branch '10.3' into 10.4Sergei Golubchik2019-09-061-0/+6
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Monty2019-09-031-0/+6
| | |\ \ | | | |/
| | | * Updated mtr files to support different compiled in optionsMonty2019-09-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
| * | | Merge 10.3 into 10.4, except for MDEV-20265Marko Mäkelä2019-08-231-0/+3
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | The MDEV-20265 commit e746f451d57def4be679caafc29976741b3e89f7 introduces DBUG_ASSERT(right_op == r_tbl) in st_select_lex::add_cross_joined_table(), and that assertion would fail in several tests that exercise joins. That commit was skipped in this merge, and a separate fix of MDEV-20265 will be necessary in 10.4.
| | * | Merge 10.2 into 10.3Marko Mäkelä2019-08-211-0/+3
| | |\ \ | | | |/
| | | * MDEV-20379 Mroonga has memory leak in ha_mroonga::is_foreign_key_fieldMonty2019-08-201-0/+3
| | | |
* | | | Fixed issues when running mtr with --valgrindMonty2019-08-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-162-2/+2
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-08-142-2/+2
| |\ \ \ | | |/ /
| | * | Merge 10.2 to 10.3Marko Mäkelä2019-08-132-2/+2
| | |\ \ | | | |/
| | | * Fixed some errors & warnings found by clangMonty2019-08-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - pcretest.c could use macro with side effect - maria_chk could access freed memory - Initialized some variables that could be accessed uninitalized - Fixed compiler warning in my_atomic-t.c
* | | | Revert "MDEV-20342 Turn Field::flags from a member to a method"Alexander Barkov2019-08-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e86010f909fb6b8c4ffd9d6df92991ac079e67e7. Reverting on Monty's request, as this change makes merging things from 10.5 to 10.2 much harder.
* | | | MDEV-20342 Turn Field::flags from a member to a methodAlexander Barkov2019-08-141-4/+4
| | | |
* | | | Merge remote-tracking branch 'origin/10.4' into 10.5Alexander Barkov2019-08-131-0/+2
|\ \ \ \ | |/ / /
| * | | Merge commit '43882e764d6867c6855b1ff057758a3f08b25c55' into 10.4Alexander Barkov2019-08-131-0/+2
| |\ \ \ | | |/ /
| | * | MDEV-17544 No warning when trying to name a primary key constraint.Alexey Botchkov2019-07-301-0/+2
| | | | | | | | | | | | | | | | Warning added.
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-138-226/+110
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-07-257-214/+98
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Eugene Kosov2019-07-165-208/+94
| | |\ \ | | | |/
| | | * fix clang warningsEugene Kosov2019-07-095-208/+94
| | | |
| | * | cmake 3.14.3 warningsSergei Golubchik2019-07-122-6/+4
| | | |
| * | | MDEV-19955 make argument of handler::ha_write_row() constEugene Kosov2019-07-052-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-19486 and one more similar bug appeared because handler::write_row() interface welcomes to modify buffer by storage engine. But callers are not ready for that thus bugs are possible in future. handler::write_row(): handler::ha_write_row(): make argument const
* | | | MDEV-20004 Move Field_geom from field.cc to sql_type_geom.ccAlexander Barkov2019-07-091-3/+3
| | | |