Commit graph

17205 commits

Author SHA1 Message Date
Daniel Axtens
2538c7cf89 Use POWER8 accelerated crc32
- Make accelerated checksum available to InnoDB and XtraDB.
 - Fall back to slice-by-eight if not available. The mode used is printed on startup.
 - Will only build on POWER systems at the moment until CMakeLists are modified
   to only add the crc32_power8/ files when building on POWER.

running MySQL-5.7 unittest/gunit/innodb/ut0crc32-t

Before:

1..2
Using software crc32 implementation, CPU is little-endian
ok 1
Using software crc32 implementation, CPU is little-endian
    normal CRC32: real    0.148006 sec
    normal CRC32: user    0.148000 sec
    normal CRC32: sys     0.000000 sec
big endian CRC32: real    0.144293 sec
big endian CRC32: user    0.144000 sec
big endian CRC32: sys     0.000000 sec
ok 2

After:

1..2
Using POWER8 crc32 implementation, CPU is little-endian
ok 1
Using POWER8 crc32 implementation, CPU is little-endian
    normal CRC32: real    0.008097 sec
    normal CRC32: user    0.008000 sec
    normal CRC32: sys     0.000000 sec
big endian CRC32: real    0.147043 sec
big endian CRC32: user    0.144000 sec
big endian CRC32: sys     0.000000 sec
ok 2

Author CRC32 ASM code: Anton Blanchard <anton@au.ibm.com>
ref: https://github.com/antonblanchard/crc32-vpmsum

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2015-12-15 15:11:17 +11:00
Sergey Vojtovich
edf6354bd6 MDEV-9128 - Compiling on IBM System Z fails
Provided IBM System Z have outdated compiler version, which supports gcc sync
builtins but not gcc atomic builtins. It also has weak memory model.

InnoDB attempted to verify if __sync_lock_test_and_set() is available by
checking IB_STRONG_MEMORY_MODEL. This macro has nothing to do with availability
of __sync_lock_test_and_set(), the right one is HAVE_ATOMIC_BUILTINS.
2015-11-23 13:40:38 +04:00
Sergei Golubchik
fdba672b6f Post-merge fixes for Connect engine
1. define connect_EXPORTS, this causes the engine to use MariaDB
   versions for timestamp<->struct tm conversion instead of
   TZ-dependent libc versions.
2. remove check_access() that was removed once, but re-appeared
   during a complex merge.
3. disable a totally broken test
4. update test results
5. skip odbc_firebird test when no firebird DSN is available
2015-11-19 21:23:35 +01:00
Sergei Golubchik
e3d37bfebf Merge branch 'connect/10.1' into 10.1 2015-11-19 18:09:06 +01:00
Sergei Golubchik
7f19330c59 Merge branch 'github/10.0-galera' into 10.1 2015-11-19 17:48:36 +01:00
Sergei Golubchik
33ab30dfe2 fix tokudb compilation with bundled zlib 2015-11-19 16:39:40 +01:00
Sergei Golubchik
beded7d9c9 Merge branch '10.0' into 10.1 2015-11-19 15:52:14 +01:00
Sergei Golubchik
ab476a8d10 Merge branch '5.5' into 10.0 2015-11-18 22:03:02 +01:00
Monty
c2ec897745 Fixed buildbot failures on Solaris 64 bit
rpl/rpl_mdev382     ; Wrong replace in show_binlog_events2.inc
binlog/database     ; Different error on Solaris if file exists
mroonga/repair_table_no_index_file ; Different system error on Solaris
partition_not_blackhole ; Different error on Solaris
partition_myisam     ; Different error on Solaris

Some other failures in mroonga was because have_32bit.inc didn't correctly
detect 64 bits on Solaris. Fixed using DEFAULT_MACHINE instead of MACHINE_TYPE
for Sys_version_compile_machine.
2015-11-18 17:42:39 +02:00
Sergei Golubchik
0c5f36d579 MDEV-8969 groonga is compiled even with -DPLUGIN_MROONGA=NO
first add mroonga plugin (MYSQL_ADD_PLUGIN) then add dependent
targets (add_subdirectory(groonga))
2015-11-16 07:55:55 +01:00
Sergei Golubchik
12c32bd989 MDEV-8962 TokuDB tries to build on OS X, even when disabled in compile flag
first add tokudb plugin (MYSQL_ADD_PLUGIN) then add dependent
targets (ADD_SUBDIRECTORY(ft-index))
2015-11-16 07:55:55 +01:00
Sergei Golubchik
296338147c MDEV-8453 Alter table not returning engine errors
remove ~15 years old print_lock_error() function, use
handler::print_error() instead
2015-11-16 07:55:55 +01:00
Sergei Golubchik
daf3551cce add missing DBUG_RETURN-s 2015-11-16 07:55:55 +01:00
Sergei Golubchik
8f60656fd5 MDEV-9039 Can't upgrade MariaDB to to 10.1.8 version from 10.0.21
Don't mark the SEQUENCE engine as XA-capable. The engine never
registers itself for any transaction, so it doesn't matter
whether it is XA-capable or not. The only effect of being
"XA-capable" is breaking the "number of XA-capable engines"
check of TC_LOG_MMAP.
2015-11-16 07:55:55 +01:00
Monty
73d4c4dfe7 Remove compiler warning 2015-11-12 15:16:53 +02:00
root
83ed38d92a fix mdev-8140 2015-11-11 14:19:11 +04:00
Monty
3f24cf2dbd Don't delete non existing .TMD and .OLD files for Aria internal temporary tables
(Simple speedup)
2015-11-10 13:47:28 +02:00
Monty
05ed9fec03 Use MEM_CHECK_DEFINED to check if blocks contain uninitialized data
Fixed failure in tests when running optimized code
- Some assert() was using code that had to be executed
Fixed copying of some uninitialized data (fixed valgrind warning)
2015-11-10 13:46:57 +02:00
Monty
7cd2095cde Sage cleanup in heap storage engine
Removed old not needed code withing #if
Changed 0x%lx to %p
2015-11-10 13:46:56 +02:00
Jan Lindström
5d754fce95 MDEV-8854: New warning messages are unreadable
Improved warning messages by quote marks.
2015-11-09 09:24:52 +02:00
Olivier Bertrand
ad916ef33c Merge branch 'ob-10.1' into 10.1 2015-11-08 14:56:48 +01:00
Olivier Bertrand
0a852591db PATCH-P0-FIX-UPSTREAM: Fix possible buffer overflow (MDEV-8317)
Maintainer: Michal Hrusecky <Michal.Hrusecky@opensuse.org>
(modified by O. Bertrand --> adding and using the XSTR macro)
  modified:   storage/connect/tabxml.cpp
2015-11-08 14:54:56 +01:00
Alexander Barkov
a36048d143 MDEV-7550 TokuDB crashes in build tests on Launchpad
When compiled with "-Wl,-Bsymbolic-functions" flags
(e.g. when building a .deb package on Ubuntu) with TokuDB and jemalloc,
mysqld crashed in toku_get_processor_frequency_cpuinfo() when
free()-ing a buffer returned by getline().
getline() uses libc malloc() internally, while free() is aliased
to jemalloc's free() in this configuration.
Fixing not to use getline(). Using a static buffer instead.
2015-11-06 12:26:03 +04:00
Jan Lindström
25f8738112 MDEV-9040: 10.1.8 fails after upgrade from 10.0.21
Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following
number indicate that a field contains a reference to an externally
stored part of the field in the tablespace. The length field then
contains the sum of the following flag and the locally stored len.

This was incorrectly set to

define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX)

When it should be

define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF)

Additionally, we need to disable support for > 16K page size for
row compressed tables because a compressed page directory entry
reserves 14 bits for the start offset and 2 bits for flags.
This limits the uncompressed page size to 16k. To support
larger pages page directory entry needs to be larger.
2015-11-05 10:30:48 +02:00
Nirbhay Choubey
2399f1aee7 Fix for build failure. 2015-11-04 21:56:46 -05:00
Nirbhay Choubey
4d15112962 Merge tag 'mariadb-10.0.22' into 10.0-galera 2015-10-31 18:07:02 -04:00
Jan Lindström
81d35841bd MDEV-9011: Redo log encryption does not work
Redo log encryption used too short buffer when getting
encryption keys.
2015-10-30 13:12:30 +02:00
Jan Lindström
3e98383787 Fix test failures seen on buildbot. 2015-10-30 08:39:05 +02:00
Sergei Golubchik
937aa7ad77 MDEV-9010 Encryption preset file contains different configuration preset then documentation
* clarify the comment in the preset file
* make boolean --aria-encrypt-tables option to work without an argument
2015-10-29 10:46:37 +01:00
Sergei Golubchik
239e0c571e MDEV-8551 compilation fails with 10.1.6
Restore changes that were lost in a merge. Originally from

commit 66fd45a
Author: Sergei Golubchik <serg@mariadb.org>
Date:   Mon Jun 8 21:06:56 2015 +0200

    MDEV-7398 mysqld segfaults on FreeBSD 10.1 i386 when built with clang 3.4
2015-10-29 10:46:37 +01:00
Jan Lindström
0fe5eb5cae MDEV-9032: MariaDB 10.1.8 crashes at startup
Add diagnostics when externally stored field is freed but
rollback ctx is not what we expect.
2015-10-29 08:21:28 +02:00
Jan Lindström
f2ab9abbd6 MDEV-9000: storage/xtradb/fil/fil0pagecompress.cc fails to compile on i686-linux
Incorrect parameter type was used. Fixed by casting data types to correct
ones.
2015-10-28 09:14:22 +02:00
Jan Lindström
4834d822ef MDEV-8932: innodb buffer pool hit rate is less than zero
In buffer pool read hit rate calculation can lead rate that is
less than zero.
2015-10-28 08:42:51 +02:00
Sergei Golubchik
a9b5a8d505 Merge branch 'bb-10.0-serg' into 10.0 2015-10-28 00:08:18 +01:00
Sergei Golubchik
3c5733cd2d Merge branch 'connect/10.0' into 10.0 2015-10-27 18:57:28 +01:00
Jan Lindström
13884cf206 MDEV-8696: Adding indexes on empty table is slow with large innodb_sort_buffer_size.
Analysis: Current implementation will write and read at least one block
(sort_buffer_size bytes) from disk / index even if that block does not
contain any records.

Fix: Avoid writing / reading empty blocks to temporary files (disk).
2015-10-27 13:00:15 +02:00
Olivier Bertrand
e7fa7e0858 Fix error and warnings raised by gcc on Linux:
Define O_RDONLY in jsonudf.cpp
 Correct wrong deinit function names
 Make Locate functions use the variable more
 Avoid signed/unsigned warning in ha_connect.cc GetIntegerTableOption
 Initialize oom in tabodbc MakeInsert
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/tabodbc.cpp
2015-10-25 21:19:45 +01:00
Olivier Bertrand
abe87bb011 Fix error and warnings raised by gcc on Linux:
Define O_RDONLY in jsonudf.cpp
 Correct wrong deinit function names
 Make Locate functions use the variable more
 Avoid signed/unsigned warning in ha_connect.cc GetIntegerTableOption
 Initialize oom in tabodbc MakeInsert
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/tabodbc.cpp
2015-10-25 21:11:04 +01:00
Buggynours
de19721296 Fix of error and warnings when compiling on linux
modifié :         storage/connect/ha_connect.cc
	modifié :         storage/connect/jsonudf.cpp
	nouveau fichier : storage/connect/mysql-test/connect/r/odbc_firebird.result
	modifié :         storage/connect/mysql-test/connect/t/json.test
	nouveau fichier : storage/connect/mysql-test/connect/t/odbc_firebird.test
	modifié :         storage/connect/tabodbc.cpp
	supprimé :        storage/connect/Makefile
2015-10-25 17:46:20 +01:00
Sergei Golubchik
84da1547e6 MDEV-8883 more cross-compiling fixes
use CHECK_C_SOURCE_COMPILES for atomic tests if cross-compiling
(continue to use CHECK_C_SOURCE_RUNS otherwise)
2015-10-24 19:58:34 +02:00
Sergei Golubchik
fb8713385f remove unneded #include's that had a dubious explanation 2015-10-24 19:58:34 +02:00
Alexander Barkov
2c0bcfff8c MDEV-8693 Tests connect.bin connect.endian fail on armhf (on Debian build system) 2015-10-24 20:16:06 +04:00
Sergei Golubchik
df8832caae MDEV-8883 more cross-compiling fixes
don't abort with "XtraDB not supported" if XtraDB was disabled
in this build.
2015-10-22 15:23:18 +02:00
Sergei Golubchik
581d85259d MDEV-8868 Consider adding a check for libjemalloc version in cmake and/or at runtime
add a run-time check for jemalloc >= 2.3
2015-10-22 13:55:55 +02:00
Olivier Bertrand
41a3c58e28 Merge branch 'ob-10.0' into 10.0 2015-10-21 19:40:38 +02:00
Olivier Bertrand
1816eca57c Fix MDEV-8882
modified:   storage/connect/tabodbc.cpp
2015-10-21 19:26:35 +02:00
Olivier Bertrand
b35f9972c8 Fix MDEV-8882
modified:   storage/connect/tabodbc.cpp
2015-10-21 19:24:01 +02:00
Jan Lindström
17b0b45b1d Code cleanup. 2015-10-21 09:20:54 +03:00
Olivier Bertrand
2445b1b212 Typo 2015-10-20 18:49:33 +02:00
Olivier Bertrand
ac9141cbc0 Merge branch 'ob-10.0' into 10.0 2015-10-20 18:45:45 +02:00