summaryrefslogtreecommitdiff
path: root/storage
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.0' into 10.1Sergei Golubchik2015-10-1253-454/+919
|\
| * fixes for buildbot:Sergei Golubchik2015-10-101-0/+1
| | | | | | | | | | * update *.result files * fix XtraDB for Windows (again)
| * Merge branch 'merge-perfschema-5.6' into 10.0Sergei Golubchik2015-10-093-3/+40
| |\
| | * 5.6.27Sergei Golubchik2015-10-092-2/+39
| | |
| * | Merge branch 'merge-xtradb-5.6' into 10.0Sergei Golubchik2015-10-0922-299/+418
| |\ \
| | * | 5.6.26-74.0Sergei Golubchik2015-10-0923-307/+416
| | | |
| * | | update innodb versionSergei Golubchik2015-10-091-1/+1
| | | |
| * | | Merge branch 'merge-innodb-5.6' into 10.0Sergei Golubchik2015-10-0918-105/+394
| |\ \ \
| | * | | 5.6.27Sergei Golubchik2015-10-0918-118/+393
| | | | |
| * | | | Fixed tokudb test result to make it stable (was altering between index and ↵Monty2015-10-082-34/+32
| | | | | | | | | | | | | | | | | | | | range)
| * | | | MDEV-8379 - SUSE mariadb patchesSergey Vojtovich2015-10-012-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrected variable name in dead code for consistency. Patch contributed by Michal Hrusecky.
| * | | | MDEV-8450: PATCH] Wrong macro expansion in Query_cache::send_result_to_client()Oleksandr Byelkin2015-09-065-5/+5
| | | | | | | | | | | | | | | | | | | | Expression in macro protected by ()
* | | | | Fixed compiler warnings and errorsMonty2015-10-091-1/+1
| | | | |
* | | | | MDEV-8901: InnoDB: Punch hole is incorrecty done also to log files causing ↵Jan Lindström2015-10-068-86/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assertion and database corruption Analysis: Problem is that punch hole does not know the actual page size of the page and does the page belong to an data file or to a log file. Fix: Pass down the file type and page size to os layer to be used when trim is called. Also fix unsafe null pointer access to actual write_size.
* | | | | Don't use flags in the group_by_handler classSergei Golubchik2015-10-051-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | instead pass the whole query down and let the engine return unsupported parts back
* | | | | cleanups and simplificationsSergei Golubchik2015-10-051-19/+6
| | | | |
* | | | | move internal API out from group_by_handlerSergei Golubchik2015-10-051-15/+9
| | | | | | | | | | | | | | | | | | | | into a Pushdown_query object
* | | | | remove unused methodSergei Golubchik2015-10-051-9/+0
| | | | |
* | | | | typos in comments, minor stylistic editsSergei Golubchik2015-10-051-1/+1
| | | | |
* | | | | MDEV-6080: Allowing storage engine to shortcut group by queriesMonty2015-10-053-2/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This task is to allow storage engines that can execute GROUP BY or summary queries efficiently to intercept a full query or sub query from MariaDB and deliver the result either to the client or to a temporary table for further processing. - Added code in sql_select.cc to intercept GROUP BY queries. Creation of group_by_handler is done after all optimizations to allow storage engine to benefit of an optimized WHERE clause and suggested indexes to use. - Added group by handler to sequence engine and a group_by test suite as a way to test the new interface. - Intercept EXPLAIN with a message "Storage engine handles GROUP BY" libmysqld/CMakeLists.txt: Added new group_by_handler files sql/CMakeLists.txt: Added new group_by_handler files sql/group_by_handler.cc: Implementation of group_by_handler functions sql/group_by_handler.h: Definition of group_by_handler class sql/handler.h: Added handlerton function to create a group_by_handler, if the storage engine can intercept the query. sql/item_cmpfunc.cc: Allow one to evaluate item_equal any time. sql/sql_select.cc: Added code to intercept GROUP BY queries - If all tables are from the same storage engine and the query is using sum functions, call create_group_by() to check if the storage engine can intercept the query. - If yes: - create a temporary table to hold a GROUP_BY row or result - In do_select() intercept normal query execution by instead calling the group_by_handler to get the result - Intercept EXPLAIN sql/sql_select.h: Added handling of group_by_handler Added caching of the original join tab (needed for cleanup after group_by handler) storage/sequence/mysql-test/sequence/group_by.result: Test group_by_handler interface storage/sequence/mysql-test/sequence/group_by.test: Test group_by_handler interface storage/sequence/sequence.cc: Added simple group_by_engine for handling COUNT(*) and SUM(primary_key). This was done as a test of the group_by_handler interface
* | | | | Speed up some innodb testsMonty2015-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed compiler warnings sql/sql_view.cc: Ensure that merged_for_insert is properly reset (Left of an old patch)
* | | | | MDEV-8523: InnoDB: Assertion failure in file buf0buf.cc line 5963 (Failing ↵Jan Lindström2015-10-022-4/+2
| | | | | | | | | | | | | | | | | | | | assertion: key_version == 0 || key_version >= bpage->key_version)
* | | | | MDEV-8727: Server/InnoDB hangs on shutdown after trying to read an encrypted ↵Jan Lindström2015-10-014-17/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table with a wrong key Analysis: When a page is read from encrypted table and page can't be decrypted because of bad key (or incorrect encryption algorithm or method) page was incorrectly left on buffer pool. Fix: Remove page from buffer pool and from pending IO.
* | | | | MDEV-8815: InnoDB should refuse to start if crash recovery fails instead of ↵Jan Lindström2015-09-294-38/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asserting Added error handling to crash recovery so that we stop instead of asserting.
* | | | | MDEV-8821: Failing assertion: !page || page_type != 0 in file log0recv. cc ↵Jan Lindström2015-09-282-154/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | line 1404 Alloc creating crypt_data to empty page at crash recovery and redo.
* | | | | MDEV-8682 - CSV engine does not properly process "", in quotesSergey Vojtovich2015-09-281-6/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added per-table boolean IETF_QUOTES variable to CSV storage engine. It allows to enable IETF-compatible parsing of embedded quote and comma characters. Disabled by default. This patch is based on Percona revision: https://github.com/percona/percona-server/commit/b32fbf02766f8db00f9ff4e6dc05a1df97c10ff7 Note that original patch adds server variable, while this patch adds per-table variable.
* | | | | MDEV-8819: Failing assertion: block->page.space == ↵Jan Lindström2015-09-254-16/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | page_get_space_id(page_align(ptr)) in file buf0buf.cc line 2551 Add error handling on page reading and do not try to access empty pages.
* | | | | Merge branch '10.1' into pull-request-97Sergei Golubchik2015-09-2562-362/+945
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge downstream Debian packaging (MDEV-6284)
| * | | | | MDEV-8832: Encryption meta data should not be stored when ENCRYPTED=DEFAULT ↵Jan Lindström2015-09-232-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | and innodb-encrypt-tables=OFF
| * | | | | MDEV-8817: Failing assertion: new_state->key_version != ↵Jan Lindström2015-09-232-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ENCRYPTION_KEY_VERSION_INVALID Folloup: Made encryption rules too strict (and incorrect). Allow creating table with ENCRYPTED=OFF with all values of ENCRYPTION_KEY_ID but create warning that nondefault values are ignored. Allow creating table with ENCRYPTED=DEFAULT if used key_id is found from key file (there was bug on this) and give error if key_id is not found.
| * | | | | MDEV-8817: Failing assertion: new_state->key_version != ↵Jan Lindström2015-09-224-18/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ENCRYPTION_KEY_VERSION_INVALID Analysis: Problem sees to be the fact that we allow creating or altering table to use encryption_key_id that does not exists in case where original table is not encrypted currently. Secondly we should not do key rotation to tables that are not encrypted or tablespaces that can't be found from tablespace cache. Fix: Do not allow creating unencrypted table with nondefault encryption key and do not rotate tablespaces that are not encrypted (FIL_SPACE_ENCRYPTION_OFF) or can't be found from tablespace cache.
| * | | | | MDEV-3929 Add system variable explicit_defaults_for_timestamp for ↵Alexander Barkov2015-09-228-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | compatibility with MySQL
| * | | | | MDEV-8770: Incorrect error message when importing page compressed tablespaceJan Lindström2015-09-2210-58/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added decompression and after page update recompression support for import.
| * | | | | Moving Item_args::arg_count from "public" to "protected".Alexander Barkov2015-09-212-3/+3
| | | | | |
| * | | | | MDEV-8773: InnoDB innochecksum does not work with encrypted or page ↵Jan Lindström2015-09-196-28/+50
| | | | | | | | | | | | | | | | | | | | | | | | compressed tables
| * | | | | MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty stringsAlexander Barkov2015-09-172-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces
| * | | | | MDEV-8799: Server crashes in btr_defragment_add_index, ↵Jan Lindström2015-09-156-22/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | encryption.innodb-bad-key-change5 and alike fail in buildbot Problem was unsafe access to NULL pointer. Added additional checks to avoid access to NULL pointer.
| * | | | | Fix release build compile failure.Jan Lindström2015-09-144-28/+18
| | | | | |
| * | | | | MDEV-8772: Assertion failure in file ha_innodb.cc line 20027 when importing ↵Jan Lindström2015-09-148-20/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | page compressed and encrypted tablespace using incorrect keys Add error handling to decryp function when decrypt fails during import.
| * | | | | MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting ↵Jan Lindström2015-09-1410-40/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | encrypted table using incorrect keys Add error handling when getting block from encrypted table and decryption fails.
| * | | | | MDEV-8768: Server crash at file btr0btr.ic line 122 when checking encrypted ↵Jan Lindström2015-09-146-37/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table using incorrect keys Add error handling to btr_validate_index when index root block can't be read because block decryption fails.
| * | | | | MDEV-8764: Wrong error when encrypted table can't be decrypted.Jan Lindström2015-09-1424-84/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new error message when table is encrypted but decryption fails. Use this new error message on InnoDB/XtraDB.
| * | | | | Follow-up for MDEV-8675 and MDEV-8676Elena Stepanova2015-09-144-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | type_spatial_indexes test is now be re-enabled, and the new result file can be used for creating engine-specific rdiffs
* | | | | | MDEV-6284 Merge downstream Debian/Ubuntu packaging into upstream MariaDBSergei Golubchik2015-09-142-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | Merge branch 'ottok-ok-debpkg-10.1' into 10.1
| * | | | | Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1Otto Kekäläinen2015-09-073-7/+4
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1Otto Kekäläinen2015-09-05163-1595/+6345
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkg-10.1Otto Kekäläinen2015-09-021-1/+1
| |\ \ \ \ \ \ \
| * | | | | | | | Typofix: preceeding -> precedingOtto Kekäläinen2015-08-311-1/+1
| | | | | | | | |
| * | | | | | | | Merge branch '10.1' of https://github.com/MariaDB/server into ok-debpkgOtto Kekäläinen2015-08-31416-2519/+12114
| |\ \ \ \ \ \ \ \
| * | | | | | | | | Fix spelling errorsOtto Kekäläinen2015-08-271-1/+1
| | | | | | | | | |