- 05 Dec, 2017 1 commit
-
-
Vesa Pentti authored
This reverts commit 1af2d7ba.
-
- 04 Dec, 2017 6 commits
-
-
Vesa Pentti authored
* Note: breaking change; since this commit, a plugin that has worked so far might get rejected due to plugin maturity * mariabackup is not affected (allows all plugins) * VERSION file defines SERVER_MATURITY, which defines the corresponding numeric value as SERVER_MATURITY_LEVEL in include/mysql_version.h * The default value for 'plugin_maturity' is SERVER_MATURITY_LEVEL - 1 * Logs a warning if a plugin has maturity lower than SERVER_MATURITY_LEVEL * Tests suppress the plugin maturity warning * Tests use --plugin-maturity=unknown by default so as not to fail due to the stricter plugin maturity handling
-
Varun Gupta authored
This commit implements aggregate stored functions. The basic idea behind the feature is: * Implement a special instruction FETCH GROUP NEXT ROW that will pause the execution of the stored function. When the instruction is reached, execution of the initial query resumes "as if" the function returned. This gives the server the opportunity to advance to the next row in the result set. * Stored aggregates behave like regular aggregate functions. The implementation of thus resides in the class Item_sum_sp. Because it is an aggregate function, for each new row in the group, the Item_sum_sp::add() method will be called. This is when execution resumes and the function does another iteration to "add" one extra element to the final result. * When the end of group is reached, val_xxx() method will be called for the item. This case is handled by another execute step for the stored function, only with a special flag to force a call to the return handler. See Item_sum_sp::execute() for details. To allow this pause and resume semantic, we must preserve the function context across executions. This is stored in Item_sp::sp_query_arena only for aggregate stored functions, but has no impact for regular functions. We also enforce aggregate functions to include the "FETCH GROUP NEXT ROW" instruction. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
-
Vicențiu Ciorbaru authored
Item_sp::init_result_field no longer takes sp_head* parameter. It expects the m_sp member to be already set to something valid.
-
Varun Gupta authored
In preparation for implementing custom aggregate functions, refactor the common code between regular stored functions and aggregate stored functions. This includes: * initialising SP result field * executing a SP * access checks In addition, refactor sp_head::execute_function to take two extra parameters, a function rcontext and a Query_arena. These two paremeters were initially initialised and destroyed within sp_head::execute_function, but for aggregate stored functions we will require control over their lifetime. The owner of these objects now becomes Item_sp. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
-
Marko Mäkelä authored
Suggested-by: Sergey Vojtovich <svoj@mariadb.org>
-
Marko Mäkelä authored
-
- 03 Dec, 2017 21 commits
-
-
Monty authored
-
Monty authored
Includes Spider patches - 062_mariadb-10.2.0.direct_join_1and3.diff - 063_mariadb-10.2.0.direct_join_for_single_partition.diff - Test cases from Kentoku Allows Spider to push full joins to the Spider engine trough the create_group_by interface. Other things: - Increased MYSQL_VERSION_ID to check for 10211 (latest 10.2 version) - Fix for const_table at calling create_group_by(). Original author: Kentoku SHIBA
-
Jacob Mathew authored
Signed-off-by: Monty <monty@mariadb.org>
-
Kentoku SHIBA authored
New features in 3.3.13 are: - Join Push Down for 1 by 1 table and single partition.
-
Kentoku SHIBA authored
Add support for direct update and direct delete requests for spider. A direct update/delete request handles all qualified rows in a single operation rather than one row at a time. Contains Spiral patches: 006_mariadb-10.2.0.direct_update_rows.diff MDEV-7704 008_mariadb-10.2.0.partition_direct_update.diff MDEV-7706 010_mariadb-10.2.0.direct_update_rows2.diff MDEV-7708 011_mariadb-10.2.0.aggregate.diff MDEV-7709 027_mariadb-10.2.0.force_bulk_update.diff MDEV-7724 061_mariadb-10.2.0.mariadb-10.1.8.diff MDEV-12870 - The differences compared to the original patches: - Most of the parameters of the new functions are unnecessary. The unnecessary parameters have been removed. - Changed bit positions for new handler flags upon consideration of handler flags not needed by other Spiral patches and handler flags merged from MySQL. - Added info_push() (Was originally part of bulk access patch) - Didn't include code related to handler socket - Added HA_CAN_DIRECT_UPDATE_AND_DELETE Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
-
Michael Widenius authored
-
Michael Widenius authored
- Ensure that var= doesn't have a space before = - Fixed DBUG_PRINT to use %u for unsigned types - Use "enter" when printing function arguments - Fixed typos - Added some extra DBUG_PRINT - Removed not needed assignment
-
Monty authored
This is about adding more options to force slave retries Two new variables has been added: slave_transaction_retry_errors - Tells the slave thread to retry transaction for replication when a query event returns an error from the provided list. Deadlock and elapsed lock wait timeout errors are automatically added to this list slave-transaction-retry-interval - Interval of the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout or listed in slave_transaction_retry_errors Other changes: - Simplifed code for slave_skip_errors (to be aligned with slave_transaction_retry_errors) - Renamed print_slave_skip_errors() to make_slave_skip_errors_printable() - Remove printing error from init_slave_skip_errors as my_bitmap_init() will do that if needed. - Generalize has_temporary_error()
-
Monty authored
Spiral Patch 057: 057_mariadb-10.2.0.partition_index_end.diff MDEV-12999 Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
-
Monty authored
- In Spider, calling cmp_ref() can be very expensive. In ha_partition.cc we don't anymore sort rows according to position for the Spider engine. - Removed Spider specific call info(HA_EXTRA_STARTING_ORDERED_INDEX_SCAN) from handle_ordered_index_scan(). It's caused performance issues and does not change results for queries with ORDER BY. - The visible effect of this patch is that for some storage engines, rows may be returned in a different order if there is no ORDER BY clause. - Based in Spiral Patch 052: 052_mariadb-10.2.0.add_partition_skip_pk_sort_for_non_clustered_index MDEV-7748 - The major difference from original patch is that there is no variable to get the old behaviour. Other things: - Optimized ha_partition::cmp_ref() and cmp_part_ids() to make them simpler and faster. - Changed arguments to cmp_key_part_id() to be same as cmp_key_rowid_part_id to simplify code. Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
-
Monty authored
Contains Spiral patches: 022_mariadb-10.2.0.auto_increment.diff MDEV-7720 030: 030_mariadb-10.2.0.partition_auto_inc_init.diff MDEV-7726 These patches have the following differences compared to the original patches: - Added the new #defines for the feature in spd_environ.h instead of in handler.h because these #defines are needed by Spider and are not needed by the server. - Cleaned up code related to the removed variable m_need_info_for_auto_inc . Changed variable assignment in lock_auto_increment() and unlock_auto_increment() so that the assignments are done under locks. - Added a test case. - Added test result changes resulting from a bug that was fixed by these patches. Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
-
Monty authored
Contains Spiral patches: 007_mariadb-10.2.0.partition_fulltext.diff MDEV-7705 038_mariadb-10.2.0.partition_fulltext2.diff MDEV-7734 This commit has the following differences compared to the original patches: - Added necessary full text search cleanup at the storage engine layer that was omitted in the original patch. - Added test case. - A lot of code cleanups to make the code notable smaller. - Changed SQL code to use ha_ft_end() instead of ft_end() Original author: Kentoku SHIBA First reviewer: Jacob Mathew Second reviewer: Michael Widenius
-
Monty authored
-
Monty authored
Spider patches 026 (MDEV-7723), 031 (MDEV-7727) and 058 (MDEV-12532) This allows the storage engine to internally compute sum and count operations. - Enhance sum items to be able to store the sum value directly. - return_record_by_parent() is enabled in spider as HANDLER_HAS_DIRECT_AGGREGATE is defined - Added spd_environ.h to spider. This is loaded first to ensure that all MariaDB specific defines that are used by include files are properly defined. - This code is tested by the existing spider tests direct_aggregate.test and direct_aggregate_part.test and also partition.test
-
Monty authored
Done to simplify spider patch for direct aggregates
-
Monty authored
Other things: - Cleanup of allocated bitmaps done in open(), which simplifies init_partition_bitmaps() - Add needed defines in ha_spider.cc to enable new spider code - Fixed some DBUG_PRINT() to be consistent with normal code - Removed end space - The changes in test cases partition_innodb, partition_range, partition_pruning etc are becasue partitions can now more exactly calculate the number of rows in a range. Contains spider patches: 014,015,023,033,035,037,040,042,044,045,049,050,051,053,059
-
Monty authored
Allow partition engines to access table->s->connect_string for engines that uses HTON_CAN_READ_CONNECT_STRING_IN_PARTITION Don't reset table->s->connect_string in ha_partition::open
-
Monty authored
Added Spider patches: 003_mariadb-10.0.15.vp.diff 060_mariadb-10.2.0.partition_reset_top_table_fields.diff - Support HA_EXTRA_ADD_CHILDREN_LIST,HA_EXTRA_ATTACH_CHILDREN, HA_EXTRA_IS_ATTACHED_CHILDREN and HA_EXTRA_DETACH_CHILDREN in partition handler for handlers that has HA_CAN_MULTISTEPL_MERGE flag - Added HA_CAN_MULTISTEPL_MERGE to MERGE handler. - Added handler::get_child_handlers() - Change m_num_lock to contain total number of locks. This was needed as we now adjust number of locks when extra(HA_EXTRA_ATTACH_CHILDREN) is called.
-
Monty authored
- Enable HA_EXTRA_WRITE_CAN_REPLACE and HA_EXTRA_WRITE_CANNOT_REPLACE for partition engine.
-
Monty authored
- Added cond_push() and cond_pop() to ha_partition.cc
-
Monty authored
013_mariadb-10.0.15.vp_handler.diff 034_mariadb-10.0.15.vp_handler2.diff 005_mariadb-10.0.15.hs.diff 041_mariadb-10.0.15.vp_handler2.diff + Fixes from Kentoku + Added handler/suite.pm and handler/suite.opt to be able to run test cases in spider/handler
-
- 02 Dec, 2017 4 commits
-
-
Monty authored
Also changed Unique row not found to use uppercase first. This was done to make these messages consistent with the rest
-
Monty authored
- mysql_install_db now prints position to error file, if log-error is used - Warning about compatibility now mentions MySQL 5.6 and 5.7 - Give warning if --show_compatibility_56 is used
-
Monty authored
-
Monty authored
This was done to make thing consistent. It gives the additional benefit that EXPLAIN EXTENDED now treat null_tables like constant's and replaces columns with NULL, in a similar way that it replaces columns with constants for constant tables. - Null tables are tables where all columns are always NULL. The most common NULL TABLE is a table used in a LEFT_JOIN that is never true. - All result changes comes from replacing columns with NULL for null_tables. - "Impossible where" is now also shows constants for const columns. - Removed duplicated s->type= JT_CONST - Reset found_const_table_map when JOIN is created (safety fix)
-
- 01 Dec, 2017 4 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
srv_purge_wakeup(): If thd_destructor_proxy has initiated the first step of shutdown, ensure that all purge threads terminate. logs_empty_and_mark_files_at_shutdown(): Add a debug assertion. (The purge threads should have been shut down already before this step.)
-
- 30 Nov, 2017 3 commits
-
-
Vladislav Vaintroub authored
(possibly intermittent) checksum mismatch.
-
Sergey Vojtovich authored
trx_set_rw_mode() is never called for read-only transactions, this is guarded by callers. Removing this condition from critical section immediately gives 5% scalability improvement in OLTP index updates benchmark.
-
Marko Mäkelä authored
-
- 29 Nov, 2017 1 commit
-
-
Vladislav Vaintroub authored
-