{"push_id":815706303,"size":14,"distinct_size":14,"ref":"refs/heads/10.1","head":"3abfe76e2d80934c62f04cebdf94a053d393287f","before":"d2f6166ec5bc6c36f61f83b673b5b5dcd05edf12","commits":[{"sha":"b2b07b33cf55b39db87a00789936113cc290f678","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"Don't write DROP TEMPORARY TABLE to binary log\n\nif we didn't write the CREATE TEMPORARY TABLE statement.\n\n- Enable old code from one of my older changesets that didn't make into 10.0\n- Fix test cased that failed as they expected DROP TEMPORARY TABLE in the log.","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/b2b07b33cf55b39db87a00789936113cc290f678"},{"sha":"7e3127966646bca50ae6b8ba44c9aed0a261c482","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"Speed up some innodb tests\nFixed compiler warnings\n\nsql/sql_view.cc:\nEnsure that merged_for_insert is properly reset\n(Left of an old patch)","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/7e3127966646bca50ae6b8ba44c9aed0a261c482"},{"sha":"4193fa7ae2886b2a3f3effa43c7ebf791f63943d","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"Simple optimization","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/4193fa7ae2886b2a3f3effa43c7ebf791f63943d"},{"sha":"8ed5fde3e1d2f49d140c166ef1e142215f90f572","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"bug in JOIN_TAB::cleanup() that caused freed memory to be accessed","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/8ed5fde3e1d2f49d140c166ef1e142215f90f572"},{"sha":"ae2cdc17980301e95f218f69154818bc6a13975b","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"fix comments","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/ae2cdc17980301e95f218f69154818bc6a13975b"},{"sha":"d8df2b946442e6f4bd7dd73570a603ae3e2d21f0","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"Bugs, found by valgrind","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/d8df2b946442e6f4bd7dd73570a603ae3e2d21f0"},{"sha":"cf50e13fbd1b4d27a3542fe2751216d274eb7493","author":{"email":"5d66b94b41fa13f2a624706e9078b4077a64ad32@mariadb.org","name":"Monty"},"message":"MDEV-6080: Allowing storage engine to shortcut group by queries\n\nThis task is to allow storage engines that can execute GROUP BY or\nsummary queries efficiently to intercept a full query or sub query from\nMariaDB and deliver the result either to the client or to a temporary\ntable for further processing.\n\n- Added code in sql_select.cc to intercept GROUP BY queries.\n  Creation of group_by_handler is done after all optimizations to allow\n  storage engine to benefit of an optimized WHERE clause and suggested\n  indexes to use.\n- Added group by handler to sequence engine and a group_by test suite as\n  a way to test the new interface.\n- Intercept EXPLAIN with a message \"Storage engine handles GROUP BY\"\n\nlibmysqld/CMakeLists.txt:\n  Added new group_by_handler files\nsql/CMakeLists.txt:\n  Added new group_by_handler files\nsql/group_by_handler.cc:\n  Implementation of group_by_handler functions\nsql/group_by_handler.h:\n  Definition of group_by_handler class\nsql/handler.h:\n  Added handlerton function to create a group_by_handler, if the storage\n  engine can intercept the query.\nsql/item_cmpfunc.cc:\n  Allow one to evaluate item_equal any time.\nsql/sql_select.cc:\n  Added code to intercept GROUP BY queries\n  - If all tables are from the same storage engine and the query is\n    using sum functions, call create_group_by() to check if the storage\n    engine can intercept the query.\n    - If yes:\n       - create a temporary table to hold a GROUP_BY row or result\n       - In do_select() intercept normal query execution by instead\n         calling the group_by_handler to get the result\n       - Intercept EXPLAIN\nsql/sql_select.h:\n  Added handling of group_by_handler\n  Added caching of the original join tab (needed for cleanup after\n  group_by handler)\nstorage/sequence/mysql-test/sequence/group_by.result:\n  Test group_by_handler interface\nstorage/sequence/mysql-test/sequence/group_by.test:\n  Test group_by_handler interface\nstorage/sequence/sequence.cc:\n  Added simple group_by_engine for handling COUNT(*) and\n  SUM(primary_key).  This was done as a test of the group_by_handler\n  interface","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/cf50e13fbd1b4d27a3542fe2751216d274eb7493"},{"sha":"e8daa41885b50094285f82f2a95e882b3dcab153","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"typos in comments, minor stylistic edits","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/e8daa41885b50094285f82f2a95e882b3dcab153"},{"sha":"9ca3d9ea9cc3518706dc8e0e0ac89a58c34dc260","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"remove unused method","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/9ca3d9ea9cc3518706dc8e0e0ac89a58c34dc260"},{"sha":"7ca8b4bbfa3fc1ac12bbfc20530426fa534b9142","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"move internal API out from group_by_handler\n\ninto a Pushdown_query object","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/7ca8b4bbfa3fc1ac12bbfc20530426fa534b9142"},{"sha":"c93ac0a1c68ed73cc4a59a475a8d576122557001","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"cleanups and simplifications","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/c93ac0a1c68ed73cc4a59a475a8d576122557001"},{"sha":"8dff1aa5dc3335587b64ebf52ef2f8d5af2a0488","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"bug: move one_storage_engine checking loop\n\ndown to the point where all tables are already known\n(and subqueries converted to joins, if needed)","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/8dff1aa5dc3335587b64ebf52ef2f8d5af2a0488"},{"sha":"21175bb31610cdfe7f25b981edc760e46aa08c43","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"Don't use flags in the group_by_handler class\n\ninstead pass the whole query down and let the engine return\nunsupported parts back","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/21175bb31610cdfe7f25b981edc760e46aa08c43"},{"sha":"3abfe76e2d80934c62f04cebdf94a053d393287f","author":{"email":"55d448b815f9829dd31c4f14dad3285350207118@mariadb.org","name":"Sergei Golubchik"},"message":"remove unused group_by_handler::init() method\n\nThe assumption is that the engine should not need to\nevaluate HAVING on the table->record[0] - the engine either\ncan evaluate HAVING internally before writing it to the\ntable->record[0], or it should leave it to the server,\nthat will evaluate HAVING(table->record[0]).\n\nSimilarly the engine should not need to evaluate ORDER\non the table->record[0]. Either it returns the data already\nsorted, or the server will sort the table.","distinct":true,"url":"https://api.github.com/repos/MariaDB/server/commits/3abfe76e2d80934c62f04cebdf94a053d393287f"}]}