summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-10138 Support for decimals up to 38 digitsMonty2016-06-224-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* General spell fixing in comments and stringsOtto Kekäläinen2016-06-081-1/+1
|
* MDEV-9857 - CACHE_LINE_SIZE in innodb should be 128 on POWERSergey Vojtovich2016-06-071-5/+2
| | | | | | Replaced hard-coded cache line size. Changes based on Daniel Black's work.
* Few improvements related to CPU cache line size and padding:Alexey Kopytov2016-06-071-0/+18
| | | | | | | | | | | | | | | | | | | | | | Bug #79636: CACHE_LINE_SIZE should be 128 on AArch64 Bug #79637: Hard-coded cache line size Bug #79638: Reconcile CACHE_LINE_SIZE with CPU_LEVEL1_DCACHE_LINESIZE Bug #79652: Suspicious padding in srv_conc_t - changed CPU_LEVEL1_DCACHE_LINESIZE to default to 128 bytes on POWER and AArch64 architectures in cases when no value could be detected by CMake using getconf - changed CACHE_LINE_SIZE definition in ut0counter.h to be an alias of CPU_LEVEL1_DCACHE_LINESIZE - changed a number of hard-coded 64-byte cache line size values in the InnoDB code - fixed insufficient padding for srv_conc members in srv0conc.cc Ported to Mariadb by Daniel Black <daniel.black@au.ibm.com> Added s390 cache size of 256 at same time.
* Reuse THD for new user connectionsMonty2016-06-042-2/+3
| | | | | | | | | | | | | | - 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-9154 : Remove workarounds (mainly dynamic function loading)Vladislav Vaintroub2016-06-012-33/+3
| | | | for running obsolete versions of Windows
* MDEV-6353 my_ismbchar() and my_mbcharlen() refactoringAlexander Barkov2016-05-171-7/+14
|
* Merge commit 'd5822a3ad0657040114cdc185c6387b9eb3a12b2' into 10.2Monty2016-04-286-6/+13
|\
| * Fixed wrong counting of global Memory_usedMonty2016-04-286-6/+13
| |
* | Added new range of MariaDB error messages, starting from 3000Monty2016-04-051-3/+3
| | | | | | | | | | | | | | | | | | This is done by splitting variables.errmsg and locale.errmsg to variables.errmsg_extra and locale.errmsg_extra The ER() macros in unireg.h now looks more complex than before, but this isn't critical as most usage of them are with constants and the compiler will remove most of the test code.
* | MDEV-9811 LOAD DATA INFILE does not work well with gbk in some casesAlexander Barkov2016-03-311-0/+4
| | | | | | | | MDEV-9824 LOAD DATA does not work with multi-byte strings in LINES TERMINATED BY when IGNORE is specified
* | MDEV-8360 Clean-up CHARSET_INFO: strnncollsp: diff_if_only_endspace_differenceAlexander Barkov2016-03-313-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removing the "diff_if_only_endspace_difference" argument from MY_COLLATION_HANDLER::strnncollsp(), my_strnncollsp_simple(), as well as in the function template MY_FUNCTION_NAME(strnncollsp) in strcoll.ic - Removing the "diff_if_only_space_different" from ha_compare_text(), hp_rec_key_cmp(). - Adding a new function my_strnncollsp_padspace_bin() and reusing it instead of duplicate code pieces in my_strnncollsp_8bit_bin(), my_strnncollsp_latin1_de(), my_strnncollsp_tis620(), my_strnncollsp_utf8_cs(). - Adding more tests for better coverage of the trailing space handling. - Removing the unused definition of HA_END_SPACE_ARE_EQUAL
* | Fixing the return data type of my_charlen() from "uint" to "int",Alexander Barkov2016-03-251-1/+1
| | | | | | | | | | as it can return negative values. The typo was introduced in the patch for MDEV-9665 in 10.2.0.
* | Removing my_strnncoll_mb_bin() and my_strnncollsp_mb_bin(),Alexander Barkov2016-03-251-10/+0
| | | | | | | | | | as they are not used any more. We now use function templates from strcoll.ic instead.
* | Merge branch '10.1' into 10.2Sergei Golubchik2016-03-232-2/+2
|\ \ | |/
| * Merge branch '10.0' into 10.1Sergei Golubchik2016-03-212-2/+2
| |\
| | * Update AskMonty and Atlassian references to MariaDBiangilfillan2016-03-081-1/+1
| | |
| | * Fix spelling: occurred, execute, which etcOtto Kekäläinen2016-03-041-1/+1
| | |
* | | Make step bigger to reflect modern needs.Oleksandr Byelkin2016-03-231-1/+1
| | |
* | | MDEV-9058: protocol: COM_MULTI command (part 2)Oleksandr Byelkin2016-03-181-1/+4
| | | | | | | | | | | | simple COM_MULTI support (no prepared statements chain yet).
* | | MDEV-9058: protocol: COM_MULTI command (part 1)Oleksandr Byelkin2016-03-182-1/+6
| | | | | | | | | | | | Adding a command from the end of avaliable commands numering space (254)
* | | MDEV-9665 Remove cs->cset->ismbchar()Alexander Barkov2016-03-161-3/+36
| | | | | | | | | | | | Using a more powerfull cs->cset->charlen() instead.
* | | MDEV-9651 - Simplify audit event dispatchingSergey Vojtovich2016-03-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplified audit event dispatching call chain from: mysql_audit_notify_connection_connect() // can be inlined mysql_audit_notify() // can't be inlined connection_class_handler() // can't be inlined event_class_dispatch() // can be inlined plugins_dispatch() // can be inlined plugin->event_notify() // can't be inlined to: mysql_audit_notify_connection_connect() // can be inlined mysql_audit_notify() // can't be inlined plugins_dispatch() // can be inlined plugin->event_notify() // can't be inlined
* | | Merge branch '10.1' into 10.2Sergei Golubchik2016-02-259-24/+46
|\ \ \ | |/ /
| * | Fix to ensure updates in gtid_slave_state table do not get binlogged.Nirbhay Choubey2016-02-241-3/+3
| | | | | | | | | | | | | | | Also, renamed wsrep_skip_append_keys to wsrep_ignore_table. Test case : galera.galera_as_slave_gtid.test
| * | Merge branch 'bb-10.1-serg' into 10.1Sergei Golubchik2016-02-245-19/+17
| |\ \ | | | | | | | | | | | | | | | | | | | | 10.0 merge 10.0-galera merge connect/10.1 merge
| | * \ Merge branch '10.0-galera' into bb-10.1-sergNirbhay Choubey2016-02-241-0/+9
| | |\ \
| | | * \ Merge tag 'mariadb-10.0.24' into 10.0-galeraNirbhay Choubey2016-02-236-21/+14
| | | |\ \ | | | | |/
| | * | | Merge branch '10.0' into 10.1Sergei Golubchik2016-02-234-19/+8
| | |\ \ \ | | | | |/ | | | |/|
| | | * | Merge branch 'bb-10.0-serg' into 10.0mariadb-10.0.24Sergei Golubchik2016-02-173-18/+7
| | | |\ \
| | | | * | MDEV-9308 Fix build errors with recent gcc (isfinite)Sergei Golubchik2016-02-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "#include <math.h>" has "#define isfinite(X) ..." while "#include <cmath>" does "#undef isfinite" in -std=c++11 mode <cmath> is included, we need a workaround to provide a usable isfinite()
| | | | * | Merge branch '5.5' into 10.0Sergei Golubchik2016-02-153-18/+4
| | | | |\ \
| | | | | * | dtrace in cmakeSergei Golubchik2016-02-151-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ignore generated dtrace files 2. don't rewrite probes_mysql_nodtrace.h in-place
| | | | | * | better inline checkSergei Golubchik2016-02-151-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. check that unused inline functions are removed 2. only allow compilation if they are or if the check if overridden 3. with CMAKE_GENERATOR=Makefiles, use all flags when testing (e.g. both CMAKE_C_FLAGS and CMAKE_C_FLAGS_DEBUG if CMAKE_BUILD_TYPE=Debug). This is because - on Solaris with the SunPro compiler, default CMAKE_C_FLAGS_xxx values contain -xO2 (for Release and RelWithDebInfo) and -g (for RelWithDebInfo and Debug) - proper inlining only works at -xO4 without -g - so if CMAKE_C_FLAGS has -xO4, inlining would work in configure.cmake (before this fix) and fail during actual compilation also remove the outdated check for inline from myu_global.h
| | | | | * | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-02-091-3/+3
| | | | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reverted about half of commits as either not applicable or outright wrong
| | | | | | * | Updated copyright year in user visible textBjorn Munch2016-01-111-2/+2
| | | | | | | |
| | | | | | * | Bug#21770366 backport bug#21657078 to 5.5 and 5.6Ajo Robert2016-01-071-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem Statement ========= Fix various issues when building MySQL with Visual Studio 2015. Fix: ======= - Visual Studio 2015 adds support for timespec. Add check and related code to use this and only use our replacement if timespec is not defined. - Rename lfind/lsearch to my* to avoid redefinition problems. - Set default value for TMPDIR to "" on Windows as P_tmpdir no longer exists. - using VS definition of snprintf if available - tzname are now renamed to _tzname.
| | | | | | * | Bug #21221862 NEWEST RHEL/CENTOS OPENSSL UPDATE BREAKS MYSQL DHE CIPHERSV S Murthy Sidagam2015-06-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: The newest RHEL/CentOS/SL 6.6 openssl package (1.0.1e-30.el6_6.9; published around 6/4/2015) contains a fix for LogJam. RedHat's fix for this was to limit the use of any SSL DH key sizes to a minimum of 768 bits. This breaks any DHE SSL ciphers for MySQL clients as soon as you install the openssl update, since in vio/viosslfactories.c, the default DHPARAM is a 512 bit one. This cannot be changed in configuration/runtime; and needs a recompile. Because of this the client connection with --ssl-cipher=DHE-RSA-AES256-SHA is not able to connect the server. Analysis: Openssl has changed Diffie-Hellman key from the 512 to 1024 due to some reasons(please see the details at http://openssl.org/news/secadv_20150611.txt) Because of this the client with DHE cipher is failing to connect the server. This change took place from the openssl-1.0.1n onwards. Fix: Similar bug fix is already pushed to mysql-5.7 under bug#18367167. Hence we backported the same fix to mysql-5.5 and mysql-5.6.
| | | | | | * | Raise version number after cloning 5.5.42Bala2015-01-051-2/+2
| | | | | | | |
| | | | | * | | MDEV-9024 Build fails with VS2015Sergei Golubchik2016-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cherry-pick f1daf9ce from 10.0 branch ------------------------------------- Fix build failures caused by new C runtime library - isnan, snprintf, struct timespec are now defined, attempt to redefine them leads - P_tmpdir, tzname are no more defined - lfind() and lsearch() in lf_hash.c had to be renamed, declaration conflicts with some C runtime functions with the same name declared in a header included by stdlib.h Also fix couple of annoying warnings : - remove #define NOMINMAX from config.h to avoid "redefined" compiler warnings(NOMINMAX is already in compile flags) - disable incremental linker in Debug as well (feature not used much and compiler crashes often) Also simplify package building with Wix, require Wix 3.9 or later (VS2015 is not compatible with old Wix 3.5/3.6)
| | | | | * | | MDEV-9466 : Exception handler on Windows does not output any text,Vladislav Vaintroub2016-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if mysqld runs as service The bug is caused by the attempt to write to filedescriptor 2 (STDERR_FILENO), however in case of a service stderr has different fd (debugging shows fileno(stderr) is 4 after freopen, and -1 before it) Fixed definition of STDERR_FILENO for Windows to be fileno(stderr).
| | | * | | | | MDEV-9511 Valgrind warnings 'Invalid read' in Field_newdate::cmp and ↵Alexander Barkov2016-02-171-1/+1
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | Field_newdate::val_str
| | | * | | | Merge MDEV-9112 into 10.0Kristian Nielsen2016-02-011-1/+1
| | | |\ \ \ \ | | | | |/ / / | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.cmake
| * | | | | | MDEV-7231 Field ROUTINE_DEFINITION in INFORMATION_SCHEMA.`ROUTINES`Alexander Barkov2016-02-241-0/+13
| |/ / / / / | | | | | | | | | | | | | | | | | | contains broken procedure body when used shielding quotes inside.
| * | | | | cleanupSergei Golubchik2016-02-231-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * make a local variable for target_table->field[col] * move an often-used bit function to my_bit.h * remove a non-static and not really needed trivial comparison function with a very generic name
| * | | | | Fixes needed to compile with musl C libraryMonty2016-02-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Patch originally by Codarren Velvindron
* | | | | | Fix compilation10.2-sslVladislav Vaintroub2016-02-101-1/+1
| | | | | |
* | | | | | Changed my_thread_id to int64 to fix compilation problem withMonty2016-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my_atomic_add32_explicit on windows Fixed that server_audit.c also works if one compiles with safemalloc Fixed compiler warnings
* | | | | | MDEV-6150 Speed up connection speed by moving creation of THD to new threadMonty2016-02-073-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | | | | Optimized intkorr() and intstore(functions) for intel 64 bits.Monty2016-02-072-24/+85
| | | | | | | | | | | | | | | | | | | | | | | | (Benchmarked, about 30 % faster and 50 % smaller than original)