summaryrefslogtreecommitdiff
path: root/libmysqld
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.1' into 10.2Sergei Golubchik2016-12-291-2/+3
|\
* | MDEV-9143 JSON_xxx functions.Alexey Botchkov2016-10-191-1/+2
| | | | | | | | | | strings/json_lib.c added as a JSON library. SQL frunction added with sql/item_jsonfunc.h/cc
* | Use sql_mode_t for sql_mode.Monty2016-10-051-0/+1
| | | | | | | | This fixed several cases where we where using just ulong for sql_mode
* | Merge branch '10.2' into bb-10.2-connector-c-integ-submSergei Golubchik2016-09-212-1/+8
|\ \
| * \ Merge branch '10.1' into 10.2Sergei Golubchik2016-09-091-0/+6
| |\ \ | | |/
| | * MDEV-10318 : Fix crash in embedded, in case prepared statement has parameter ↵Vladislav Vaintroub2016-07-111-0/+6
| | | | | | | | | | | | placeholders, but does not bind parameters
| * | MDEV-8931: (server part of) session state trackingOleksandr Byelkin2016-08-311-2/+1
| | | | | | | | | | | | | | | Postreview fixes. New MySQL tests fixes.
| * | MDEV-8931: (server part of) session state trackingOleksandr Byelkin2016-08-311-2/+2
| | | | | | | | | | | | Transaction tracker
| * | MDEV-8931: (server part of) session state trackingOleksandr Byelkin2016-08-312-1/+3
| | | | | | | | | | | | initial commit to test
* | | restore support for symbol versioning in libmysqldSergei Golubchik2016-09-121-0/+248
| | | | | | | | | | | | (and fix compilation failure in c/c)
* | | remove libmysql/Sergei Golubchik2016-09-123-2/+4993
| | | | | | | | | | | | also disable server's client plugins when C/C has the same
* | | MDEV-9293 - Use MariaDB's Connector/C in serverVladislav Vaintroub2016-08-251-2/+2
|/ /
* | Revert "MDEV-9293 Connector/C integration"Vladislav Vaintroub2016-08-192-11/+11
| | | | | | | | This reverts commit 7b89b9f5108c80f4f270da922d7e6c182a663719.
* | MDEV-9293 Connector/C integrationVladislav Vaintroub2016-08-192-11/+11
| |
* | Merge branch '10.1' into 10.2Sergei Golubchik2016-06-301-3/+7
|\ \ | |/
| * Merge branch '10.0' into 10.1Sergei Golubchik2016-06-281-3/+7
| |\
| | * Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-211-3/+7
| | |\
| | | * Restore COMPONENT Embedded for Windows embedded libs.Vladislav Vaintroub2016-05-241-3/+7
| | | |
* | | | MDEV-10138 Support for decimals up to 38 digitsMonty2016-06-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decimals with float, double and decimal now works the following way: - DECIMAL_NOT_SPECIFIED is used when declaring DECIMALS without a firm number of decimals. It's only used in asserts and my_decimal_int_part. - FLOATING_POINT_DECIMALS (31) is used to mark that a FLOAT or DOUBLE was defined without decimals. This is regarded as a floating point value. - Max decimals allowed for FLOAT and DOUBLE is FLOATING_POINT_DECIMALS-1 - Clients assumes that float and double with decimals >= NOT_FIXED_DEC are floating point values (no decimals) - In the .frm decimals=FLOATING_POINT_DECIMALS are used to define floating point for float and double (31, like before) To ensure compatibility with old clients we do: - When storing float and double, we change NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - When creating fields from .frm we change for float and double FLOATING_POINT_DEC to NOT_FIXED_DEC - When sending definition for a float/decimal field without decimals to the client as part of a result set we convert NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - variance() and std() has changed to limit the decimals to FLOATING_POINT_DECIMALS -1 to not get the double converted floating point. (This was to preserve compatiblity) - FLOAT and DOUBLE still have 30 as max number of decimals. Bugs fixed: variance() printed more decimals than we support for double values. New behaviour: - Strings now have 38 decimals instead of 30 when converted to decimal - CREATE ... SELECT with a decimal with > 30 decimals will create a column with a smaller range than before as we are trying to preserve the number of decimals. Other changes - We are now using the obsolete bit FIELDFLAG_LEFT_FULLSCREEN to specify decimals > 31 - NOT_FIXED_DEC is now declared in one place - For clients, NOT_FIXED_DEC is always 31 (to ensure compatibility). On the server NOT_FIXED_DEC is DECIMAL_NOT_SPECIFIED (39) - AUTO_SEC_PART_DIGITS is taken from DECIMAL_NOT_SPECIFIED - DOUBLE conversion functions are now using DECIMAL_NOT_SPECIFIED instead of NOT_FIXED_DEC
* | | | MDEV-5535: Cannot reopen temporary tableNirbhay Choubey2016-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysqld maintains a list of TABLE objects for all temporary tables created within a session in THD. Here each table is represented by a TABLE object. A query referencing a particular temporary table for more than once, however, failed with ER_CANT_REOPEN_TABLE error because a TABLE_SHARE was allocate together with the TABLE, so temporary tables always had only one TABLE per TABLE_SHARE. This patch lift this restriction by separating TABLE and TABLE_SHARE objects and storing TABLE_SHAREs for temporary tables in a list in THD, and TABLEs in a list within their respective TABLE_SHAREs.
* | | | cleanup: thread_countSergei Golubchik2016-06-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | move thread_count handling into THD: * increment thread_count in THD constructor * decrement thread_count in THD destructor * never modify thread_count directly!
* | | | Reuse THD for new user connectionsMonty2016-06-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | MDEV-9947: COM_MULTI united responseOleksandr Byelkin2016-05-171-1/+2
| | | |
* | | | Merge commit 'd5822a3ad0657040114cdc185c6387b9eb3a12b2' into 10.2Monty2016-04-281-0/+3
|\ \ \ \ | |/ / /
| * | | Fixed wrong counting of global Memory_usedMonty2016-04-281-0/+3
| | | |
* | | | Merge branch '10.2' into bb-10.2-mdev9543Sergei Petrunia2016-03-282-3/+5
|\ \ \ \
| * \ \ \ Manual merge of branch 'bb-10.2-mdev8789' into 10.2Igor Babaev2016-03-211-0/+1
| |\ \ \ \
| | * | | | Added sql_cte.cc for embedded.Igor Babaev2015-12-221-0/+1
| | | | | |
| * | | | | Fixed compiler failures and warningsMonty2016-03-201-1/+2
| | | | | |
| * | | | | MDEV-9058: protocol: COM_MULTI command (part 2)Oleksandr Byelkin2016-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | simple COM_MULTI support (no prepared statements chain yet).
| * | | | | Fixed main.null failure in embeddedSergey Vojtovich2016-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It is not permitted to "delete thd" under LOCK_thread_count anymore.
| * | | | | MDEV-6150 Speed up connection speed by moving creation of THD to new threadMonty2016-02-071-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating a CONNECT object on client connect and pass this to the working thread which creates the THD. Split LOCK_thread_count to different mutexes Added LOCK_thread_start to syncronize threads Moved most usage of LOCK_thread_count to dedicated functions Use next_thread_id() instead of thread_id++ Other things: - Thread id now starts from 1 instead of 2 - Added cast for thread_id as thread id is now of type my_thread_id - Made THD->host const (To ensure it's not changed) - Removed some DBUG_PRINT() about entering/exiting mutex as these was already logged by mutex code - Fixed that aborted_connects and connection_errors_internal are counted in all cases - Don't take locks for current_linfo when we set it (not needed as it was 0 before)
* | | | | Initial patch for the implementation of window functions (MDEV-6115):Igor Babaev2016-02-121-0/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | - All parsing problems look like resolved - Stub performing name resolution of window functions in simplest queries has been added.
* | | | MDEV-8718 - Obsolete sql_strmake() in favor of THD::strmake() and thd_strmake()Sergey Vojtovich2015-11-261-1/+1
|/ / /
* | | fix func_hybrid_type crash in --ps --embeddedSergei Golubchik2015-10-151-0/+1
| | | | | | | | | | | | | | | | | | create_embedded_thd() must reset current_thd before returning, otherwise client [de-]allocations will be happening in that stray THD context
* | | MDEV-6080: Allowing storage engine to shortcut group by queriesMonty2015-10-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | MDEV-8865 Wrong field type or metadata for COALESCE(signed_int_column, ↵Alexander Barkov2015-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unsigned_int_column) Item_func_hybrid_field_type did not return correct field_type(), cmp_type() and result_type() in some cases, because cached_result_type and cached_field_type were set in independent pieces of the code and did not properly match to each other. Fix: - Removing Item_func_hybrid_result_type - Deriving Item_func_hybrid_field_type directly from Item_func - Introducing a new class Type_handler which guarantees that field_type(), cmp_type() and result_type() are always properly synchronized and using the new class in Item_func_hybrid_field_type.
* | | MDEV-8126 encryption for temp filesSergei Golubchik2015-06-021-1/+1
| | | | | | | | | | | | IO_CACHE tempfiles encryption
* | | Merge tag 'mariadb-10.0.19' into 10.1Sergei Golubchik2015-06-011-1/+1
|\ \ \ | |/ /
| * | perfschema 5.6.24Sergei Golubchik2015-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | including the big commit commit 305130361bf72726de220f3d2b2787395e10be61 Author: Marc Alff <marc.alff@oracle.com> Date: Tue Feb 10 11:31:32 2015 +0100 WL#8354 BACKPORT DIGEST IMPROVEMENTS TO MYSQL 5.6 (with the following commits) and related changes in sql/
* | | MDEV-7999 - PROFILING routines take 0.2% when profiling disabledsvoj-gittestSergey Vojtovich2015-05-141-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is an addition to original patch. Embedded server does extra calls of PROFILING::start_new_query() and PROFILING::finish_current_query(), which cause DBUG_ASSERT(!current) failure. Removed these extra calls: dispatch_command() does all needed job.
* | | Merge branch '10.1' of github.com:MariaDB/server into 10.1Sergei Petrunia2015-04-121-1/+1
|\ \ \
| * | | renames to follow single consistent naming styleSergei Golubchik2015-04-091-1/+1
| | | | | | | | | | | | | | | | with namespace prefixes
* | | | MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BYSergei Petrunia2015-04-121-0/+1
|/ / / | | | | | | | | | Provide basic info about sorting/grouping done by the queries.
* | | encryption key management plugin apiSergei Golubchik2015-02-101-1/+1
| | |
* | | Push for testing of encryptionMonty2015-02-101-1/+0
| | |
* | | Merge branch '10.0' into merge-wipSergei Golubchik2015-01-311-0/+3
|\ \ \ | |/ /
| * | 5.5 mergeSergei Golubchik2015-01-211-0/+3
| |\ \ | | |/
| | * mysql-5.5.41 mergeSergei Golubchik2014-12-191-0/+3
| | |\
| | | * Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANGJon Olav Hauglid2014-10-132-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS Bug#18313717: ENABLE -WERROR IN MAINTANER MODE WHEN COMPILING WITH CLANG Bug#18510941: REMOVE CMAKE WORKAROUNDS FOR OLDER VERSIONS OF OS X/XCODE Backport from mysql-5.6 to mysql-5.5