Commit graph

16334 commits

Author SHA1 Message Date
Kentoku SHIBA
903d145f4d cmake: use "mroonga" instead of "ha_mroonga" for plugin name 2014-11-04 00:40:20 +09:00
Kentoku SHIBA
c65b9ee740 remove needless source tree 2014-11-04 00:09:16 +09:00
Sergei Golubchik
2160646c1d 5.5 merge 2014-11-03 17:47:37 +01:00
Jan Lindström
2da6f7ceba MDEV-7017: Add function to print semaphore waits
Add function to print to stderr all current semaphore 
waits. This function should be able to executed 
inside a gdb/ddd.
2014-11-03 15:43:44 +02:00
Sergei Golubchik
50556e7e9a tokudb post-merge fixes 2014-11-02 17:33:02 +01:00
Sergei Golubchik
a2a18dd9d7 tokudb-7.5.3 2014-11-02 16:47:46 +01:00
Olivier Bertrand
1f9259dfea - Fix MDEV-6988 and MDEV-6994
modified:
  storage/connect/ha_connect.cc
2014-11-01 17:08:39 +01:00
Olivier Bertrand
ea5d7a5cce - Add the new files to the source list
modified:
  storage/connect/CMakeLists.txt

- Check VIR columns when creating the table
modified:
  storage/connect/ha_connect.cc
  
- Add VirColumns declaration to avoid gcc warning
modified:
  storage/connect/tabvir.h
2014-10-31 13:58:43 +01:00
Olivier Bertrand
160708e14c - Adding the VIR table type implementation files
added:
  storage/connect/tabvir.cpp
  storage/connect/tabvir.h
2014-10-31 12:43:55 +01:00
Olivier Bertrand
4a17149ba3 - Add new table type VIR and virtual index
modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mycat.cc
  storage/connect/plgdbsem.h

- Get good message when calling ColDB
modified:
  storage/connect/connect.cc

- Fix buffer preparation for BIN files
modified:
  storage/connect/filamfix.cpp

fix error while updating (force fseek)
modified:
  storage/connect/filamfix.cpp

fix error of XCOL column when filtered (typo)
modified:
  storage/connect/tabdos.cpp
  storage/connect/tabxcl.cpp

fix error when indexing on special column
modified:
  storage/connect/tabdos.cpp
2014-10-31 12:28:07 +01:00
Marko Makela
a265914018 Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 CAUSES INFINITE PAGE SPLIT
The debug configuration parameter innodb_optimistic_insert_debug
which was introduced for testing corner cases in B-tree handling
had a bug in it. The value 1 would trigger an infinite sequence
of page splits.

Fix: When the value 1 is specified, disable this debug feature.
Approved by Yasufumi Kinoshita
2014-10-30 08:53:46 +02:00
Marko Makela
ff906f032f Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 CAUSES INFINITE PAGE SPLIT
The debug configuration parameter innodb_optimistic_insert_debug
which was introduced for testing corner cases in B-tree handling
had a bug in it. The value 1 would trigger an infinite sequence
of page splits.

Fix: When the value 1 is specified, disable this debug feature.
Approved by Yasufumi Kinoshita
2014-10-30 08:53:46 +02:00
Annamalai Gurusami
ffc33cffe3 Bug #19908343 SERVER CRASHES WHEN EXECUTING ALTER TABLE
Problem:

In the function dict_foreign_remove_from_cache(), the rb tree was updated
without actually verifying whether the given foreign key object is there in the
rb tree or not.  There can be an existing foreign key object with the same id 
in the rb tree, which must not be removed.  Such a scenario comes when an
attempt is made to add a foreign key object with a duplicate identifier.

Solution:

When the foreign key object is removed from the dictionary cache, ensure
that the foreign key object removed from the rbt is the correct one.

rb#7168 approved by Jimmy and Marko.
2014-10-29 16:53:53 +05:30
Annamalai Gurusami
4274242655 Bug #19908343 SERVER CRASHES WHEN EXECUTING ALTER TABLE
Problem:

In the function dict_foreign_remove_from_cache(), the rb tree was updated
without actually verifying whether the given foreign key object is there in the
rb tree or not.  There can be an existing foreign key object with the same id 
in the rb tree, which must not be removed.  Such a scenario comes when an
attempt is made to add a foreign key object with a duplicate identifier.

Solution:

When the foreign key object is removed from the dictionary cache, ensure
that the foreign key object removed from the rbt is the correct one.

rb#7168 approved by Jimmy and Marko.
2014-10-29 16:53:53 +05:30
Jan Lindström
8777e80151 MDEV-6759: innodb valgrind failures
Fix failure seen on dict_foreign_remove_partial().
2014-10-27 16:58:16 +02:00
Marko Makela
c978f6988d Bug#19584379 Reporting corruption may corrupt the innodb data dictionary
dict_set_corrupted(): Use the canonical way of searching for
less-than-equal (PAGE_CUR_LE) and then checking low_match.

The code that was introduced in MySQL 5.5.17 in
    Bug#11830883 SUPPORT "CORRUPTED" BIT FOR INNODB TABLES AND INDEXES
could position the cursor on the page supremum, and then attempt
to overwrite non-existing 7th field of the 1-field supremum record.

Approved by Jimmy Yang
2014-10-27 14:27:08 +02:00
Marko Makela
352b6bc9a8 Bug#19584379 Reporting corruption may corrupt the innodb data dictionary
dict_set_corrupted(): Use the canonical way of searching for
less-than-equal (PAGE_CUR_LE) and then checking low_match.

The code that was introduced in MySQL 5.5.17 in
    Bug#11830883 SUPPORT "CORRUPTED" BIT FOR INNODB TABLES AND INDEXES
could position the cursor on the page supremum, and then attempt
to overwrite non-existing 7th field of the 1-field supremum record.

Approved by Jimmy Yang
2014-10-27 14:27:08 +02:00
Jan Lindström
85c21dbc47 MDEV-6925: Remove bad "" operators.
Merged Facebook commit ec1aac68c74f3c1e558d057c4c9fcfe6edbbea93
authored by Steaphan Greene from https://github.com/facebook/mysql-5.6

In C++11, "" is not parsed as before.  So "A""B" is not the same as "AB".
Instead, whitespace is required, like: "A" "B"
2014-10-26 07:29:37 +02:00
Jan Lindström
caeffc7a7d MDEV-6926: innodb_rows_updated is misleading on slav
Merged Facebook commit dd2d11be7aaf3be270e740fb95cbc4eacb52f4d7
authored by Rongrong Zhong from https://github.com/facebook/mysql-5.6

This fixes MySQL Bug #68220 innodb_rows_updated is misleading on slave
http://bugs.mysql.com/bug.php?id=68220

Added innodb_system_rows_read/inserted/updated/deleted counters
that are the equivalent of innodb_rows_* but that only account for
changes made to system databases (mysql, information_schame and
preformance_schema). These counters will be used on slaves to
differentiated the updates made on system databases from those made on
user databases.

innodb_rows_* status counters are not updated when innodb_system_rows_*
are updated.

dd2d11be7a
2014-10-26 07:22:51 +02:00
Rich Prohaska
7dcd965470 DB-747 merge mariadb 10 frm hack and dont compile row format compression code 2014-10-25 16:16:23 -04:00
Rich Prohaska
4c57196e02 DB-747 merge mariadb 10 frm hack and dont compile row format compression code 2014-10-25 16:16:23 -04:00
Jan Lindström
60e995cfec MDEV-6930: Make innodb_max_dirty_pages_pct my.cnf variable a double
Merged Facebook commit ecff018632c6db49bad73d9233c3cdc9f41430e9
authored by Steaphan Greene from https://github.com/facebook/mysql-5.6

This change is to fix: http://bugs.mysql.com/62534

This makes innodb_max_dirty_pages_pct a double with min,default,max values
0.001, 75, 99.999.

This also makes innodb_max_dirty_pages_pct_lwm and adaptive_flushing_lwm
doubles, as these sysvars are inter-dependent.

Added more to the BUFFER POOL AND MEMORY section of SHOW INNODB STATUS:
Percent pages dirty: X.X
This is all n_dirty_pages / used_pages
Percent all pages dirty: X.X
This is all n_dirty_pages / all-pages
Max dirty pages percent: X.X
This is innodb_max_dirty_pages_pct

Also changed all of buf from 2 to 3 digits of precision (%.2f -> %.3f).
2014-10-25 09:24:39 +03:00
Jan Lindström
cff0012d28 MDEV-6927: Share more structures
Merge Facebook commit f981a51a47519b0ba527917887f8adc6df9ae147
authored by Steaphan Greene from https://github.com/facebook/mysql-5.6.

This just moves some structure definitions from inside a
single .cc file to a shared .h file, with a few tweaks to
allow these structures to be shared.

On its own, it should have no actual effect. This is needed later.
2014-10-25 08:21:52 +03:00
Jan Lindström
3486135bb5 MDEV-6928: Add trx pointer to struct mtr_t
Merge Facebook commit 25295d003cb0c17aa8fb756523923c77250b3294
authored by Steaphan Greene from https://github.com/facebook/mysql-5.6

This adds a pointer to the trx to each mtr.
This allows the trx to be accessed in parts of the code
where it was otherwise not available. This is needed later.
2014-10-24 22:26:31 +03:00
Jan Lindström
ca0bdc4d5c MDEV-6937: buf_flush_LRU() does not return correct number in case of
compressed pages

buf_flush_LRU() returns the number of pages processed. There are
two types of processing that can happen. A page can get evicted or
a page can get flushed. These two numbers are quite distinct and
should not be mixed.
2014-10-24 22:02:54 +03:00
Olivier Bertrand
652b964827 - Fix a bug in XCOL tables. When a row was filtered internally the XColumn
was not reset causing rows to be lost.
modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
  storage/connect/tabxcl.cpp

- Typo
modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
2014-10-24 19:22:05 +02:00
Rich Prohaska
9a88c10546 DB-745 merge clustering key is covering key for mariadb 10 2014-10-24 12:34:55 -04:00
Rich Prohaska
57f2f606f0 DB-745 merge clustering key is covering key for mariadb 10 2014-10-24 12:34:55 -04:00
Jan Lindström
78e31f0a2e MDEV-6931: Page cleaner should do LRU flushing regardless of server activity
Merge Facebook commit 926a077b14b73c14094de7fc7aa913241b801b4d
authored by Inaam Rana from https://github.com/facebook/mysql-5.6.

This is fix for upstream bugs
http://bugs.mysql.com/bug.php?id=71988
http://bugs.mysql.com/bug.php?id=70500

page_cleaner should work whether or not there is server activity.
Its iterations become a noop when there is no work to do but we
should not tie it to the server activity.

The page_cleaner thread does spurious background flushing
because of conditional sleep between iterations. The solution
is not to make sleep dependent on server activity etc.
2014-10-24 18:58:04 +03:00
Rich Prohaska
4b034b245a DB-746 merge clustering key is covering key for mariadb 10 2014-10-24 11:23:54 -04:00
Rich Prohaska
ac995231d6 DB-746 merge clustering key is covering key for mariadb 10 2014-10-24 11:23:54 -04:00
Jan Lindström
7e71dfa9f5 MDEV-6933: Spurious lock_wait_timeout_thread wakeup in lock_wait_suspend_thread()
Merged Facebooks commit 6e06bbfa315ffb97d713dd6e672d6054036ddc21
authored by Inaam Rana from https://github.com/facebook/mysql-5.6.

Fixes MySQL bug http://bugs.mysql.com/bug.php?id=72123

lock_timeout thread works in a tight loop waking up every second
and checking for lock_wait_timeout. In addition, when a mysql
thread is forced to wait on a lock, it signals the lock_timeout thread
as well. This call is not required. In a heavily contended workload
each thread going to wait will signal the lock_timeout thread making
it work all the time. As lock_timeout thread scans the array of
waiting threads under lock_sys::wait_mutex which is already very
hot in contneded loads, these extra scans can cause significanct
performance regression.

Also, in various codepaths lock_timeout thread is signalled where
actual intention was to signal the innodb monitor thread.
2014-10-24 17:56:04 +03:00
Olivier Bertrand
c4cf40c21b - Fix bug: Server crash when using a special column in XCOL tables
modified:
  storage/connect/mysql-test/connect/r/xcol.result
  storage/connect/mysql-test/connect/t/xcol.test
  storage/connect/tabxcl.cpp
2014-10-24 16:21:39 +02:00
Jan Lindström
f0debf2feb MDEV-6934: os_event_wait_time_low(): wait time calculation is messed up
Merged Facebook commit bdab302a7e3c37da21a1bffe1550cdbe6c906695
by Inaam Rana from https://github.com/facebook/mysql-5.6.

In os_event_wait_time_low() the logic to calculate abs_time
for wait is broken. The bug has been present at least since
5.5. It gets acutely sensitized when sub-second wait intervals
are passed. It is particularly relevant to us because the
page_cleaner thread will mostly request sub-second wait
intervals. This can potentially lead to a near tight loop
behaviour of page_cleaner with much less sleep then what we'd
actually expect.
2014-10-24 17:11:09 +03:00
Rich Prohaska
fdf7cb1e71 DB-744 ER_GET_ERRNO has additional parameter on MariaDB 10 which crashes tokudb 2014-10-24 05:36:18 -04:00
Rich Prohaska
ad4af10218 DB-744 ER_GET_ERRNO has additional parameter on MariaDB 10 which crashes tokudb 2014-10-24 05:36:18 -04:00
Kentoku SHIBA
323fe245a0 Disable foreign_key_create test. 2014-10-24 06:37:53 +09:00
Kentoku SHIBA
64593e7c57 Skip Mroonga if platform is big endian. Remove last test disabling. 2014-10-23 00:31:01 +09:00
Olivier Bertrand
4f59b65fb0 - Remove some gcc warnings
modified:
  storage/connect/filamvct.cpp
  storage/connect/ha_connect.cc
2014-10-22 13:51:33 +02:00
Olivier Bertrand
554746afe3 - Fix (gcc error) passing cmd instead of cmd.Getstr() to htrc
modified:
  storage/connect/myconn.cpp

- Remove an unuseful test (gcc warning)
modified:
  storage/connect/myconn.cpp
2014-10-22 12:02:46 +02:00
Kentoku SHIBA
6cd18ec86c Disable tests for Power8. 2014-10-22 03:43:19 +09:00
Olivier Bertrand
56e2771321 1) Handling string memory allocation with a new STRING class. This is only
the beginning. Defining the STRING class and begining to use it (MYSQL)

2) Change the xtrace, use_tempfile and exact_info connect variables from
   GLOBAL to SESSION. Remaining GLOBAL variables have been made readonly.

3) Take care of LEX_STRING variables. The .str should not be regarded as
   allways being 0 terminated. This is handled by the Strz functions that
   make sure to return 0 terminated strings.

Bug fix:
- When inserting in MYSQL table with special column(s) a query such as:
insert into t2 values(0,4,'new04'),(0,5,'new05');
failed saying: column id (the special column) not found in t2.
It is now accepted but must be counted in values (these 0 are ignored)
- ROWID was returning row numbers based 0. Now it is from base 1.

modified:
  storage/connect/array.cpp
  storage/connect/blkfil.cpp
  storage/connect/colblk.cpp
  storage/connect/connect.cc
  storage/connect/filamap.cpp
  storage/connect/filamdbf.cpp
  storage/connect/filamfix.cpp
  storage/connect/filamtxt.cpp
  storage/connect/filamvct.cpp
  storage/connect/filamzip.cpp
  storage/connect/filamzip.h
  storage/connect/filter.cpp
  storage/connect/global.h
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/libdoc.cpp
  storage/connect/mycat.cc
  storage/connect/myconn.cpp
  storage/connect/odbconn.cpp
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/reldef.cpp
  storage/connect/tabcol.cpp
  storage/connect/tabdos.cpp
  storage/connect/tabfix.cpp
  storage/connect/tabfmt.cpp
  storage/connect/table.cpp
  storage/connect/tabmul.cpp
  storage/connect/tabmysql.cpp
  storage/connect/tabmysql.h
  storage/connect/taboccur.cpp
  storage/connect/tabodbc.cpp
  storage/connect/tabpivot.cpp
  storage/connect/tabsys.cpp
  storage/connect/tabtbl.cpp
  storage/connect/tabutil.cpp
  storage/connect/tabvct.cpp
  storage/connect/tabwmi.cpp
  storage/connect/tabwmi.h
  storage/connect/tabxcl.cpp
  storage/connect/tabxml.cpp
  storage/connect/user_connect.cc
  storage/connect/valblk.cpp
  storage/connect/value.cpp
  storage/connect/value.h
  storage/connect/xindex.cpp
  storage/connect/xobject.cpp
  storage/connect/xobject.h
  storage/connect/xtable.h
2014-10-21 17:29:51 +02:00
Kentoku SHIBA
7f3d555087 Update Mroonga to the latest version on 2014-10-21T04:51:38+0900 2014-10-21 04:51:38 +09:00
Rich Prohaska
e394775389 DB-742 combine mysql and mariadb plugin declarations 2014-10-18 10:58:38 -04:00
Rich Prohaska
c5bf055079 DB-742 combine mysql and mariadb plugin declarations 2014-10-18 10:58:38 -04:00
Rich Prohaska
f93fa8df7f DB-742 use consistent version macros 2014-10-17 21:23:17 -04:00
Rich Prohaska
cfbe8342da DB-742 use consistent version macros 2014-10-17 21:23:17 -04:00
Rich Prohaska
aed868b4b9 DB-742 set plugin version to tokudb_version_major.tokudb_version_minor 2014-10-17 13:46:15 -04:00
Rich Prohaska
5788312433 DB-742 set plugin version to tokudb_version_major.tokudb_version_minor 2014-10-17 13:46:15 -04:00
Kristian Nielsen
4c07b93bdb Fix missing UNIV_INTERN on dict_table_check_foreign_keys().
When UNIV_INTERN is missing in built-in XtraDB, this causes the
innodb_plugin to call the XtraDB version of the function instead
of its own (seen in --embedded-server test failure in Buildbot).
This in turn causes bad things to happen in case of difference
between XtranDB and innodb_plugin.
2014-10-20 10:50:10 +02:00
Rich Prohaska
a60c748aa3 DB-742 set the tokudb plugin version string for mariadb 2014-10-16 19:50:53 -04:00
Rich Prohaska
178a511217 DB-742 set the tokudb plugin version string for mariadb 2014-10-16 19:50:53 -04:00
Olivier Bertrand
c65a9fb4c6 - Commit merged change
removed:
  extra/yassl/certs/dsa512.der
  extra/yassl/certs/dsa512.pem
added:
  extra/yassl/certs/dsa1024.der
  extra/yassl/certs/dsa1024.pem
  mysql-test/r/ctype_cp932.result
  mysql-test/r/log_errchk.result
  mysql-test/r/show_bad_definer-5553.result
  mysql-test/suite/heap/btree_varchar_null.result
  mysql-test/suite/heap/btree_varchar_null.test
  mysql-test/suite/innodb/r/foreign-keys.result
  mysql-test/suite/innodb/t/foreign-keys.test
  mysql-test/t/ctype_cp932.test
  mysql-test/t/log_errchk.test
  mysql-test/t/show_bad_definer-5553.test
  storage/tokudb/mysql-test/rpl/disabled.def
  storage/tokudb/mysql-test/tokudb_mariadb/r/mdev6519.result
  storage/tokudb/mysql-test/tokudb_mariadb/t/mdev6519.test
modified:
  client/mysql.cc
  cmake/install_layout.cmake
  config.h.cmake
  debian/dist/Debian/control
  debian/dist/Ubuntu/control
  extra/yassl/README
  extra/yassl/certs/ca-cert.pem
  extra/yassl/certs/client-cert.der
  extra/yassl/certs/client-cert.pem
  extra/yassl/certs/client-key.der
  extra/yassl/certs/client-keyEnc.pem
  extra/yassl/certs/server-cert.pem
  extra/yassl/certs/server-keyEnc.pem
  extra/yassl/include/buffer.hpp
  extra/yassl/include/openssl/ssl.h
  extra/yassl/src/buffer.cpp
  extra/yassl/src/handshake.cpp
  extra/yassl/src/yassl_imp.cpp
  extra/yassl/src/yassl_int.cpp
  extra/yassl/taocrypt/include/asn.hpp
  extra/yassl/taocrypt/include/block.hpp
  extra/yassl/taocrypt/include/integer.hpp
  extra/yassl/taocrypt/include/pwdbased.hpp
  extra/yassl/taocrypt/include/runtime.hpp
  extra/yassl/taocrypt/include/sha.hpp
  extra/yassl/taocrypt/src/aes.cpp
  extra/yassl/taocrypt/src/algebra.cpp
  extra/yassl/taocrypt/src/arc4.cpp
  extra/yassl/taocrypt/src/asn.cpp
  extra/yassl/taocrypt/src/blowfish.cpp
  extra/yassl/taocrypt/src/des.cpp
  extra/yassl/taocrypt/src/integer.cpp
  extra/yassl/taocrypt/src/md5.cpp
  extra/yassl/taocrypt/src/misc.cpp
  extra/yassl/taocrypt/src/rabbit.cpp
  extra/yassl/taocrypt/src/random.cpp
  extra/yassl/taocrypt/src/ripemd.cpp
  extra/yassl/taocrypt/src/sha.cpp
  extra/yassl/taocrypt/src/twofish.cpp
  mysql-test/lib/My/Platform.pm
  mysql-test/r/selectivity_innodb.result
  mysql-test/r/type_newdecimal.result
  mysql-test/r/type_time.result
  mysql-test/t/selectivity_innodb.test
  mysql-test/t/type_newdecimal.test
  mysql-test/t/type_time.test
  packaging/rpm-oel/mysql.spec.in
  plugin/auth_socket/auth_socket.c
  plugin/handler_socket/handlersocket/database.cpp
  plugin/handler_socket/handlersocket/handlersocket.cpp
  plugin/handler_socket/handlersocket/hstcpsvr.cpp
  plugin/handler_socket/libhsclient/hstcpcli.cpp
  plugin/handler_socket/libhsclient/socket.cpp
  plugin/handler_socket/perl-Net-HandlerSocket/HandlerSocket.xs
  plugin/metadata_lock_info/metadata_lock_info.cc
  plugin/server_audit/server_audit.c
  scripts/comp_sql.c
  scripts/mysql_system_tables_fix.sql
  sql-common/client.c
  sql/event_scheduler.cc
  sql/item.cc
  sql/log.cc
  sql/mysqld.cc
  sql/mysqld.h
  sql/opt_range.cc
  sql/sql_acl.cc
  sql/sql_cache.cc
  sql/sql_priv.h
  sql/sql_select.cc
  sql/sql_show.cc
  sql/sql_statistics.cc
  sql/sys_vars.cc
  storage/cassandra/ha_cassandra.cc
  storage/connect/inihandl.c
  storage/connect/libdoc.cpp
  storage/connect/mycat.cc
  storage/connect/tabxml.cpp
  storage/example/ha_example.cc
  storage/federatedx/ha_federatedx.cc
  storage/heap/hp_hash.c
  storage/innobase/api/api0misc.cc
  storage/mroonga/mrn_table.cpp
  storage/oqgraph/ha_oqgraph.cc
  storage/sequence/sequence.cc
  storage/sphinx/snippets_udf.cc
  storage/tokudb/CMakeLists.txt
  storage/tokudb/ft-index/ft/bndata.cc
  storage/tokudb/ft-index/ft/cachetable/cachetable.cc
  storage/tokudb/ft-index/ft/cachetable/checkpoint.cc
  storage/tokudb/ft-index/ft/cursor.cc
  storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc
  storage/tokudb/ft-index/ft/ft-flusher.cc
  storage/tokudb/ft-index/ft/ft-hot-flusher.cc
  storage/tokudb/ft-index/ft/ft-ops.cc
  storage/tokudb/ft-index/ft/ft-test-helpers.cc
  storage/tokudb/ft-index/ft/ft-verify.cc
  storage/tokudb/ft-index/ft/ft.cc
  storage/tokudb/ft-index/ft/le-cursor.cc
  storage/tokudb/ft-index/ft/loader/dbufio.cc
  storage/tokudb/ft-index/ft/loader/loader.cc
  storage/tokudb/ft-index/ft/loader/pqueue.cc
  storage/tokudb/ft-index/ft/logger/log_upgrade.cc
  storage/tokudb/ft-index/ft/logger/logcursor.cc
  storage/tokudb/ft-index/ft/logger/logfilemgr.cc
  storage/tokudb/ft-index/ft/logger/logformat.cc
  storage/tokudb/ft-index/ft/logger/logger.cc
  storage/tokudb/ft-index/ft/logger/recover.cc
  storage/tokudb/ft-index/ft/node.cc
  storage/tokudb/ft-index/ft/pivotkeys.cc
  storage/tokudb/ft-index/ft/serialize/block_table.cc
  storage/tokudb/ft-index/ft/serialize/compress.cc
  storage/tokudb/ft-index/ft/serialize/ft-node-deserialize.cc
  storage/tokudb/ft-index/ft/serialize/ft-serialize.cc
  storage/tokudb/ft-index/ft/serialize/ft_node-serialize.cc
  storage/tokudb/ft-index/ft/serialize/sub_block.cc
  storage/tokudb/ft-index/ft/txn/roll.cc
  storage/tokudb/ft-index/ft/txn/rollback-apply.cc
  storage/tokudb/ft-index/ft/txn/rollback-ct-callbacks.cc
  storage/tokudb/ft-index/ft/txn/rollback.cc
  storage/tokudb/ft-index/ft/txn/rollback_log_node_cache.cc
  storage/tokudb/ft-index/ft/txn/txn.cc
  storage/tokudb/ft-index/ft/txn/txn_child_manager.cc
  storage/tokudb/ft-index/ft/txn/txn_manager.cc
  storage/tokudb/ft-index/ft/ule.cc
  storage/tokudb/ft-index/src/errors.cc
  storage/tokudb/ft-index/src/indexer-undo-do.cc
  storage/tokudb/ft-index/src/indexer.cc
  storage/tokudb/ft-index/src/loader.cc
  storage/tokudb/ft-index/src/ydb.cc
  storage/tokudb/ft-index/src/ydb_cursor.cc
  storage/tokudb/ft-index/src/ydb_db.cc
  storage/tokudb/ft-index/src/ydb_env_func.cc
  storage/tokudb/ft-index/src/ydb_row_lock.cc
  storage/tokudb/ft-index/src/ydb_txn.cc
  storage/tokudb/ft-index/src/ydb_write.cc
  storage/tokudb/ft-index/tools/ftverify.cc
  storage/tokudb/ft-index/tools/tdb_logprint.cc
  storage/tokudb/ft-index/tools/tokuftdump.cc
  storage/tokudb/ha_tokudb.cc
  storage/tokudb/mysql-test/tokudb/disabled.def
  storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test
  storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test
  storage/xtradb/api/api0misc.cc
  storage/xtradb/buf/buf0buf.cc
  strings/ctype-mb.c
  strings/decimal.c
  support-files/mysql.spec.sh
  tests/async_queries.c
  unittest/sql/my_apc-t.cc
2014-10-14 17:52:20 +02:00
Olivier Bertrand
0a913e20d2 - Add Sergei fix to enable loading OEM table libs
modified:
  storage/connect/ha_connect.cc
  storage/connect/reldef.cpp
2014-10-14 16:42:22 +02:00
Alexander Barkov
ec3e6cc88b Merge 10.0-connect -> 10.0 2014-10-13 12:31:55 +04:00
Jon Olav Hauglid
57eec7bc29 Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANG
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
2014-10-13 09:52:28 +02:00
Jon Olav Hauglid
8b64f82505 Bug#17633291: SET PROPER COMPILE OPTIONS FOR CLANG
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
2014-10-13 09:52:28 +02:00
Olivier Bertrand
b10fa87b15 - Remove one gcc warning
modified:
  storage/connect/tabodbc.cpp
2014-10-12 15:46:31 +02:00
Olivier Bertrand
50fc9b3b19 - Fix null handling for date columns (see MDEV-6744)
modified:
  storage/connect/ha_connect.cc
  storage/connect/plgdbutl.cpp
  storage/connect/value.cpp
  storage/connect/value.h
2014-10-12 12:05:05 +02:00
Sergei Golubchik
911ed9379f merge 2014-10-11 12:52:55 +02:00
Sergei Golubchik
a7a60f6f33 compilation failure: ha_cassandra 2014-10-11 09:09:18 +02:00
Sergey Petrunya
1b960d9fd6 MDEV-6519: Assertion `join->best_read < double(...)' failed after adding a key to a TokuDB table...
- calculate_cond_selectivity_for_table() should handle the case
  where index statistics is not available (zeros are returned 
  in rec_per_key)
2014-10-10 23:52:47 +04:00
Sergei Golubchik
ba85a008e4 merge 2014-10-10 20:59:06 +02:00
Olivier Bertrand
7531f22a68 - Fix a regression error from regarding Header as Boolean from some table types.
Was added to ha_connect::GetBooleanOption (otherwise ignored)
modified:
  storage/connect/ha_connect.cc
2014-10-10 13:27:52 +02:00
Alexander Barkov
33f1ac66ad Merge 10.0-connect -> 10.0 2014-10-10 13:18:03 +04:00
Alexander Barkov
e2b895ec7b Merge 10.0-mroonga -> 10.0 2014-10-10 13:16:41 +04:00
Olivier Bertrand
5821b8eb02 - in CheckCond change strcat to strncat to avoid the case of non zero
terminated string.
modified:
  storage/connect/ha_connect.cc

- The Accept and Header Boolean variables were wrongly retrieved using
  GetIntInfo instead of GetBoolInfo causing some setting to ignored.
modified:
  storage/connect/tabdos.cpp
  storage/connect/tabdos.h
  storage/connect/tabfmt.cpp

- Fix date truncated because their Value class was not using their field length.
modified:
  storage/connect/ha_connect.cc
2014-10-09 17:23:37 +02:00
Sergei Golubchik
1b75bed00f 5.5.40+ merge 2014-10-09 10:30:11 +02:00
Sergey Vojtovich
1efee0379e Fixed mroonga build failure on Power8: define generic gcc version of
GRN_SET_64BIT.
2014-10-09 12:25:45 +04:00
Rich Prohaska
d589648edd DB-736 fix tokudb IS table errors 2014-10-08 08:39:40 -04:00
Rich Prohaska
de3cd3e182 DB-736 fix tokudb IS table errors 2014-10-08 08:39:40 -04:00
Sergei Golubchik
7e6d4bba0c XtraDB 5.5.40-36.1 2014-10-08 00:44:37 +02:00
Sergei Golubchik
e5bc21af37 MDEV-4813 Replication fails on updating a MEMORY table with an index using btree
skip NULL VARCHAR key parts like it's done elsewhere
2014-10-07 10:54:14 +02:00
Sergei Golubchik
0d2cba5df2 XtraDB 5.5.39-36.0 2014-10-06 20:06:39 +02:00
Sergei Golubchik
1ddfce4840 mysql-5.5.40 2014-10-06 19:53:55 +02:00
Sergei Golubchik
22f9353bfd xtradb/innodb: fix to compile with VS 2008
and compiler warnings
2014-10-04 15:26:04 +02:00
Rich Prohaska
768b13d5c1 DB-735 use thd_killed 2014-10-03 15:41:54 -04:00
Rich Prohaska
69756a5994 DB-735 use thd_killed 2014-10-03 15:41:54 -04:00
Kentoku SHIBA
bdeb2c62c5 fix Windows build disabling position 2014-10-03 11:30:53 +09:00
Alexander Barkov
665ea7796f Merge 10.0-mroonga -> 10.0 2014-10-02 15:48:20 +04:00
Alexander Barkov
8dbe3d81d4 - Changing Mroonga maturnity from STABLE to BETA
- removing libmysql/libmysql.version from .bzrignore,
  as we don't have this file any more
2014-10-02 14:58:57 +04:00
Sergei Golubchik
384999f3e8 MDEV-6528 review debian patches for mysql
and apply whatever was reasonable
2014-10-02 11:58:24 +02:00
Sergei Golubchik
aa36d9e742 MDEV-5120 Test suite test maria-no-logging fails
stat structure (from <sys/stat.h>) is conditionally defined
to have different layout and size depending on the defined macros.
The correct macro is defined in my_config.h, which means it MUST be
included first (or, at least before <features.h> - so, practically,
before including any system headers).
2014-10-02 11:57:40 +02:00
Rich Prohaska
dcda78e71f DB-732 map TOKUDB_OUT_OF_LOCKS tokudb error to HA_ERR_LOCK_TABLE_FULL handler error 2014-10-01 09:24:21 -04:00
Rich Prohaska
d24fd98e99 DB-732 map TOKUDB_OUT_OF_LOCKS tokudb error to HA_ERR_LOCK_TABLE_FULL handler error 2014-10-01 09:24:21 -04:00
Michael Widenius
44428d397c Fixed compiler warning. Now MariaDB 10.0 compiles without warnings for me.
(Except Instantiation notices from oqgraph that I don't know what to do with)
2014-10-01 13:03:50 +03:00
Alexander Barkov
f80e4ed941 Merge 10.0-connect -> 10.0 2014-10-01 11:16:50 +04:00
Alexander Barkov
e2567fb6ef Tests connect.odbc_postgresql and connect.odbc_oracle failed
after revision 4363 (fixes for MDEV-6661 and MDEV-6666).

Fixing a wrong assumption in ha_connect.cc that strings
returned from val_str() are always 0-terminated.
2014-10-01 11:13:11 +04:00
Michael Widenius
70823e1d91 MDEV-5120 Test suite test maria-no-logging fails
The reason for the failure was a bug in an include file on debian that causes 'struct stat'
to have different sized depending on the environment.

This patch fixes so that we always include my_global.h or my_config.h before we include any other files.

Other things:
- Removed #include <my_global.h> in some include files; Better to always do this at the top level to have as few
  "always-include-this-file-first' files as possible.
- Removed usage of some include files that where already included by my_global.h or by other files.


client/mysql_plugin.c:
  Use my_global.h first
client/mysqlslap.c:
  Remove duplicated include files
extra/comp_err.c:
  Remove duplicated include files
include/m_string.h:
  Remove duplicated include files
include/maria.h:
  Remove duplicated include files
libmysqld/emb_qcache.cc:
  Use my_global.h first
plugin/semisync/semisync.h:
  Use my_pthread.h first
sql/datadict.cc:
  Use my_global.h first
sql/debug_sync.cc:
  Use my_global.h first
sql/derror.cc:
  Use my_global.h first
sql/des_key_file.cc:
  Use my_global.h first
sql/discover.cc:
  Use my_global.h first
sql/event_data_objects.cc:
  Use my_global.h first
sql/event_db_repository.cc:
  Use my_global.h first
sql/event_parse_data.cc:
  Use my_global.h first
sql/event_queue.cc:
  Use my_global.h first
sql/event_scheduler.cc:
  Use my_global.h first
sql/events.cc:
  Use my_global.h first
sql/field.cc:
  Use my_global.h first
  Remove duplicated include files
sql/field_conv.cc:
  Use my_global.h first
sql/filesort.cc:
  Use my_global.h first
  Remove duplicated include files
sql/gstream.cc:
  Use my_global.h first
sql/ha_ndbcluster.cc:
  Use my_global.h first
sql/ha_ndbcluster_binlog.cc:
  Use my_global.h first
sql/ha_ndbcluster_cond.cc:
  Use my_global.h first
sql/ha_partition.cc:
  Use my_global.h first
sql/handler.cc:
  Use my_global.h first
sql/hash_filo.cc:
  Use my_global.h first
sql/hostname.cc:
  Use my_global.h first
sql/init.cc:
  Use my_global.h first
sql/item.cc:
  Use my_global.h first
sql/item_buff.cc:
  Use my_global.h first
sql/item_cmpfunc.cc:
  Use my_global.h first
sql/item_create.cc:
  Use my_global.h first
sql/item_geofunc.cc:
  Use my_global.h first
sql/item_inetfunc.cc:
  Use my_global.h first
sql/item_row.cc:
  Use my_global.h first
sql/item_strfunc.cc:
  Use my_global.h first
sql/item_subselect.cc:
  Use my_global.h first
sql/item_sum.cc:
  Use my_global.h first
sql/item_timefunc.cc:
  Use my_global.h first
sql/item_xmlfunc.cc:
  Use my_global.h first
sql/key.cc:
  Use my_global.h first
sql/lock.cc:
  Use my_global.h first
sql/log.cc:
  Use my_global.h first
sql/log_event.cc:
  Use my_global.h first
sql/log_event_old.cc:
  Use my_global.h first
sql/mf_iocache.cc:
  Use my_global.h first
sql/mysql_install_db.cc:
  Remove duplicated include files
sql/mysqld.cc:
  Remove duplicated include files
sql/net_serv.cc:
  Remove duplicated include files
sql/opt_range.cc:
  Use my_global.h first
sql/opt_subselect.cc:
  Use my_global.h first
sql/opt_sum.cc:
  Use my_global.h first
sql/parse_file.cc:
  Use my_global.h first
sql/partition_info.cc:
  Use my_global.h first
sql/procedure.cc:
  Use my_global.h first
sql/protocol.cc:
  Use my_global.h first
sql/records.cc:
  Use my_global.h first
sql/records.h:
  Don't include my_global.h
  Better to do this at the upper level
sql/repl_failsafe.cc:
  Use my_global.h first
sql/rpl_filter.cc:
  Use my_global.h first
sql/rpl_gtid.cc:
  Use my_global.h first
sql/rpl_handler.cc:
  Use my_global.h first
sql/rpl_injector.cc:
  Use my_global.h first
sql/rpl_record.cc:
  Use my_global.h first
sql/rpl_record_old.cc:
  Use my_global.h first
sql/rpl_reporting.cc:
  Use my_global.h first
sql/rpl_rli.cc:
  Use my_global.h first
sql/rpl_tblmap.cc:
  Use my_global.h first
sql/rpl_utility.cc:
  Use my_global.h first
sql/set_var.cc:
  Added comment
sql/slave.cc:
  Use my_global.h first
sql/sp.cc:
  Use my_global.h first
sql/sp_cache.cc:
  Use my_global.h first
sql/sp_head.cc:
  Use my_global.h first
sql/sp_pcontext.cc:
  Use my_global.h first
sql/sp_rcontext.cc:
  Use my_global.h first
sql/spatial.cc:
  Use my_global.h first
sql/sql_acl.cc:
  Use my_global.h first
sql/sql_admin.cc:
  Use my_global.h first
sql/sql_analyse.cc:
  Use my_global.h first
sql/sql_audit.cc:
  Use my_global.h first
sql/sql_base.cc:
  Use my_global.h first
sql/sql_binlog.cc:
  Use my_global.h first
sql/sql_bootstrap.cc:
  Use my_global.h first
  Use my_global.h first
sql/sql_cache.cc:
  Use my_global.h first
sql/sql_class.cc:
  Use my_global.h first
sql/sql_client.cc:
  Use my_global.h first
sql/sql_connect.cc:
  Use my_global.h first
sql/sql_crypt.cc:
  Use my_global.h first
sql/sql_cursor.cc:
  Use my_global.h first
sql/sql_db.cc:
  Use my_global.h first
sql/sql_delete.cc:
  Use my_global.h first
sql/sql_derived.cc:
  Use my_global.h first
sql/sql_do.cc:
  Use my_global.h first
sql/sql_error.cc:
  Use my_global.h first
sql/sql_explain.cc:
  Use my_global.h first
sql/sql_expression_cache.cc:
  Use my_global.h first
sql/sql_handler.cc:
  Use my_global.h first
sql/sql_help.cc:
  Use my_global.h first
sql/sql_insert.cc:
  Use my_global.h first
sql/sql_lex.cc:
  Use my_global.h first
sql/sql_load.cc:
  Use my_global.h first
sql/sql_locale.cc:
  Use my_global.h first
sql/sql_manager.cc:
  Use my_global.h first
sql/sql_parse.cc:
  Use my_global.h first
sql/sql_partition.cc:
  Use my_global.h first
sql/sql_plugin.cc:
  Added comment
sql/sql_prepare.cc:
  Use my_global.h first
sql/sql_priv.h:
  Added error if we use this before including my_global.h
  This check is here becasue so many files includes sql_priv.h first.
sql/sql_profile.cc:
  Use my_global.h first
sql/sql_reload.cc:
  Use my_global.h first
sql/sql_rename.cc:
  Use my_global.h first
sql/sql_repl.cc:
  Use my_global.h first
sql/sql_select.cc:
  Use my_global.h first
sql/sql_servers.cc:
  Use my_global.h first
sql/sql_show.cc:
  Added comment
sql/sql_signal.cc:
  Use my_global.h first
sql/sql_statistics.cc:
  Use my_global.h first
sql/sql_table.cc:
  Use my_global.h first
sql/sql_tablespace.cc:
  Use my_global.h first
sql/sql_test.cc:
  Use my_global.h first
sql/sql_time.cc:
  Use my_global.h first
sql/sql_trigger.cc:
  Use my_global.h first
sql/sql_udf.cc:
  Use my_global.h first
sql/sql_union.cc:
  Use my_global.h first
sql/sql_update.cc:
  Use my_global.h first
sql/sql_view.cc:
  Use my_global.h first
sql/sys_vars.cc:
  Added comment
sql/table.cc:
  Use my_global.h first
sql/thr_malloc.cc:
  Use my_global.h first
sql/transaction.cc:
  Use my_global.h first
sql/uniques.cc:
  Use my_global.h first
sql/unireg.cc:
  Use my_global.h first
sql/unireg.h:
  Removed inclusion of my_global.h
storage/archive/ha_archive.cc:
  Added comment
storage/blackhole/ha_blackhole.cc:
  Use my_global.h first
storage/csv/ha_tina.cc:
  Use my_global.h first
storage/csv/transparent_file.cc:
  Use my_global.h first
storage/federated/ha_federated.cc:
  Use my_global.h first
storage/federatedx/federatedx_io.cc:
  Use my_global.h first
storage/federatedx/federatedx_io_mysql.cc:
  Use my_global.h first
storage/federatedx/federatedx_io_null.cc:
  Use my_global.h first
storage/federatedx/federatedx_txn.cc:
  Use my_global.h first
storage/heap/ha_heap.cc:
  Use my_global.h first
storage/innobase/handler/handler0alter.cc:
  Use my_global.h first
storage/maria/ha_maria.cc:
  Use my_global.h first
storage/maria/unittest/ma_maria_log_cleanup.c:
  Remove duplicated include files
storage/maria/unittest/test_file.c:
  Added comment
storage/myisam/ha_myisam.cc:
  Move sql_plugin.h first as this includes my_global.h
storage/myisammrg/ha_myisammrg.cc:
  Use my_global.h first
storage/oqgraph/oqgraph_thunk.cc:
  Use my_config.h and my_global.h first
  One could not include my_global.h before oqgraph_thunk.h (don't know why)
storage/spider/ha_spider.cc:
  Use my_global.h first
storage/spider/hs_client/config.cpp:
  Use my_global.h first
storage/spider/hs_client/escape.cpp:
  Use my_global.h first
storage/spider/hs_client/fatal.cpp:
  Use my_global.h first
storage/spider/hs_client/hstcpcli.cpp:
  Use my_global.h first
storage/spider/hs_client/socket.cpp:
  Use my_global.h first
storage/spider/hs_client/string_util.cpp:
  Use my_global.h first
storage/spider/spd_conn.cc:
  Use my_global.h first
storage/spider/spd_copy_tables.cc:
  Use my_global.h first
storage/spider/spd_db_conn.cc:
  Use my_global.h first
storage/spider/spd_db_handlersocket.cc:
  Use my_global.h first
storage/spider/spd_db_mysql.cc:
  Use my_global.h first
storage/spider/spd_db_oracle.cc:
  Use my_global.h first
storage/spider/spd_direct_sql.cc:
  Use my_global.h first
storage/spider/spd_i_s.cc:
  Use my_global.h first
storage/spider/spd_malloc.cc:
  Use my_global.h first
storage/spider/spd_param.cc:
  Use my_global.h first
storage/spider/spd_ping_table.cc:
  Use my_global.h first
storage/spider/spd_sys_table.cc:
  Use my_global.h first
storage/spider/spd_table.cc:
  Use my_global.h first
storage/spider/spd_trx.cc:
  Use my_global.h first
storage/xtradb/handler/handler0alter.cc:
  Use my_global.h first
storage/xtradb/handler/i_s.cc:
  Use my_global.h first
2014-09-30 20:31:14 +03:00
Michael Widenius
caca6b9907 Fixed warnings
storage/oqgraph/ha_oqgraph.cc:
  Fixed compiler warning
storage/xtradb/handler/ha_innodb.cc:
  Ifdef:ed note used function
2014-09-30 20:12:59 +03:00
Sergey Vojtovich
5e1fad8512 MDEV-6533 - MySQL Bug#72718 - CACHE_LINE_SIZE in innodb should be 128 on POWER
This patch is suggested by Stewart Smith.
Define CACHE_LINE_SIZE to 128 on POWER.
2014-10-03 17:38:46 +04:00
Olivier Bertrand
38c3fd2099 - Fix MDEV-6802 in a clean way.
Add an union in the PARM structure to contain int values
  Use a cast to ptrdiff_t in MAPFAM/MXPFAM::InitDelete required by some compilers
modified:
  storage/connect/array.cpp
  storage/connect/filamap.cpp
  storage/connect/filamtxt.cpp
  storage/connect/global.h
  
- Suppress some GCC warnings
modified:
  storage/connect/array.cpp
  storage/connect/filter.cpp
  storage/connect/tabdos.cpp
  storage/connect/tabmysql.cpp
  storage/connect/value.cpp
2014-09-30 12:59:24 +02:00
Olivier Bertrand
dd5eb7ae67 - Add #include <stdint> needed by GCC to declare uintptr_t
modified:
  storage/connect/array.cpp
  storage/connect/filamap.cpp
2014-09-30 01:25:53 +02:00
Olivier Bertrand
e4ff01e47d - Fix all compiler issues on FreeBSD clang.
modified:
  storage/connect/array.cpp
  storage/connect/filamap.cpp
2014-09-30 00:53:00 +02:00
Olivier Bertrand
4b2b2abe8b - fix MDEV-6802: MPXFAM::GetNextPos redefined
modified:
  storage/connect/filamap.h
2014-09-29 14:42:50 +02:00
Olivier Bertrand
ed72d2d210 - Add some new tests
added:
  storage/connect/mysql-test/connect/r/datest.result
  storage/connect/mysql-test/connect/r/mrr.result
  storage/connect/mysql-test/connect/r/updelx2.result
  storage/connect/mysql-test/connect/t/datest.test
  storage/connect/mysql-test/connect/t/mrr.test
  storage/connect/mysql-test/connect/t/updelx2.test
2014-09-27 12:26:36 +02:00
Olivier Bertrand
8585a6b586 - Fix: Crash of an XCOL table when the Colname column size is too small.
Was because of buffer overrun in XCLCOL::ReadColumn.
  The Cbuf buffer was unconditionally filled Now it is limited to its size.
  This happened because this buffer was allocated according to the XCOL
  column size. It is now allocated according to the source column size.
modified:
  storage/connect/plgdbsem.h
  storage/connect/tabutil.h
  storage/connect/tabxcl.cpp
  storage/connect/tabxcl.h
2014-09-27 12:09:37 +02:00
Rich Prohaska
0ea9d023fa DB-450 use interruptible cursors for index scans and info schema scans 2014-09-26 11:45:39 -04:00
Rich Prohaska
665a9b6ea7 DB-450 use interruptible cursors for index scans and info schema scans 2014-09-26 11:45:39 -04:00
Rich Prohaska
460e7716de DB-397 remove table lock for tables with triggers in tokudb::start_stmt 2014-09-26 08:02:24 -04:00
Rich Prohaska
b3601d02f8 DB-397 remove table lock for tables with triggers in tokudb::start_stmt 2014-09-26 08:02:24 -04:00
Sergei Golubchik
02125587e1 update tokudb version in CMakeLists.txt, disable unstable tokudb tests 2014-09-25 19:00:41 +02:00
Sergei Golubchik
06d6552192 5.5 merge 2014-09-23 23:55:29 +02:00
Sergei Golubchik
53a44915c5 merge 2014-09-23 23:37:35 +02:00
Sergei Golubchik
b91432b4a4 tokudb 7.5.0 2014-09-23 22:03:35 +02:00
Michael Widenius
348a24a70a Allow tokudb test to pass even if jemalloc is not available. 2014-09-23 13:57:55 +03:00
Michael Widenius
504c6cccd7 Fixed test failures
Added comments
Ensure that tokudb test works even if jemalloc is not installed
Removed not referenced function Item::remove_fixed()

mysql-test/suite/rpl/t/rpl_gtid_reconnect.test:
  Fixed race condition
sql/item.cc:
  Indentation fix
sql/item.h:
  Removed not used function
  Added comment
sql/sql_select.cc:
  Fixed indentation
storage/tokudb/mysql-test/rpl/include/have_tokudb.opt:
  Ensure that tokudb test works even if jemalloc is not installed
storage/tokudb/mysql-test/tokudb/suite.opt:
  Ensure that tokudb test works even if jemalloc is not installed
storage/tokudb/mysql-test/tokudb_add_index/suite.opt:
  Ensure that tokudb test works even if jemalloc is not installed
storage/tokudb/mysql-test/tokudb_alter_table/suite.opt:
  Ensure that tokudb test works even if jemalloc is not installed
storage/tokudb/mysql-test/tokudb_bugs/suite.opt:
  Ensure that tokudb test works even if jemalloc is not installed
storage/tokudb/mysql-test/tokudb_mariadb/suite.opt:
  Ensure that tokudb test works even if jemalloc is not installed
2014-09-22 23:25:56 +03:00
Kentoku SHIBA
0cc855cdc8 Update Mroonga to the latest version on 2014-09-21T00:33:44+0900 2014-09-21 00:33:45 +09:00
Annamalai Gurusami
b8c9d93bf3 Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE CALLED
FROM A FUNCTION

Scenario:

In a stored procedure, CREATE TABLE statement is not allowed.  But an
exception is provided for CREATE TEMPORARY TABLE.  We can create a temporary
table in a stored procedure.

Let there be two stored functions f1 and f2 and two stored procedures p1 and
p2.  Their properties are as follows:

. stored function f1() calls stored procedure p1().
. stored function f2() calls stored procedure p2().
. stored procedure p1() creates temporary table t1.
. stored procedure p2() does DML on t1.

Consider the following situation:

1.  Autocommit mode is on. 
2.  select f1()
3.  select f2()

Step 2:  In this step, t1 would be created via p1().  A table level transaction
lock would have been taken.  The ::external_lock() would not have been called
on this table.  At the end of step 2, because of autocommit mode on, this table
level lock will be released.

Step 3:  When we execute DML on table t1 via p2() we have two problems:

Problem 1:

The function ha_innobase::external_lock() would have been called but since
it is a select query no table level locks would have been taken.  Hence the
following assert will fail:

ut_ad(lock_table_has(thr_get_trx(thr), index->table, LOCK_IX));

Solution:

The solution would be to identify this situation and take a table level lock
and use the proper lock type prebuilt->select_lock_type = LOCK_X for DML
operations.

Problem 2:

Another problem is that in step 3, ha_innobase::open() is never called on
the table t1.  

Solution:

The solution would be to identify this situation and call re-init the handler
of table t1.

rb#6429 approved by Krunal.
2014-09-18 15:17:39 +05:30
Annamalai Gurusami
db78f29b31 Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE CALLED
FROM A FUNCTION

Scenario:

In a stored procedure, CREATE TABLE statement is not allowed.  But an
exception is provided for CREATE TEMPORARY TABLE.  We can create a temporary
table in a stored procedure.

Let there be two stored functions f1 and f2 and two stored procedures p1 and
p2.  Their properties are as follows:

. stored function f1() calls stored procedure p1().
. stored function f2() calls stored procedure p2().
. stored procedure p1() creates temporary table t1.
. stored procedure p2() does DML on t1.

Consider the following situation:

1.  Autocommit mode is on. 
2.  select f1()
3.  select f2()

Step 2:  In this step, t1 would be created via p1().  A table level transaction
lock would have been taken.  The ::external_lock() would not have been called
on this table.  At the end of step 2, because of autocommit mode on, this table
level lock will be released.

Step 3:  When we execute DML on table t1 via p2() we have two problems:

Problem 1:

The function ha_innobase::external_lock() would have been called but since
it is a select query no table level locks would have been taken.  Hence the
following assert will fail:

ut_ad(lock_table_has(thr_get_trx(thr), index->table, LOCK_IX));

Solution:

The solution would be to identify this situation and take a table level lock
and use the proper lock type prebuilt->select_lock_type = LOCK_X for DML
operations.

Problem 2:

Another problem is that in step 3, ha_innobase::open() is never called on
the table t1.  

Solution:

The solution would be to identify this situation and call re-init the handler
of table t1.

rb#6429 approved by Krunal.
2014-09-18 15:17:39 +05:30
Kentoku SHIBA
391fddf660 Merge Spider 3.2.11 2014-09-18 09:26:30 +09:00
Annamalai Gurusami
40f30ee6cc Bug #17852083 PRINT A WARNING WHEN DDL HAS AN ERROR IN INNODB_STRICT_MODE = 1
Problem:

Creation of a table fails when innodb_strict_mode is enabled, but the same
table is created without any warning when innodb_strict_mode is enabled.

Solution:

If creation of a table fails with an error when innodb_strict_mode is
enabled, it must issue a warning when innodb_strict_mode is disabled.

rb#6723 approved by Krunal.
2014-09-17 10:42:31 +05:30
Annamalai Gurusami
44fd241a22 Bug #17852083 PRINT A WARNING WHEN DDL HAS AN ERROR IN INNODB_STRICT_MODE = 1
Problem:

Creation of a table fails when innodb_strict_mode is enabled, but the same
table is created without any warning when innodb_strict_mode is enabled.

Solution:

If creation of a table fails with an error when innodb_strict_mode is
enabled, it must issue a warning when innodb_strict_mode is disabled.

rb#6723 approved by Krunal.
2014-09-17 10:42:31 +05:30
Olivier Bertrand
6a00401a60 - Fix a compile error (MDEV-6723)
modified:
  storage/connect/tabwmi.cpp

- Was change in revision 4029 but not listed then.
modified:
  storage/connect/mysql-test/connect/r/updelx.result
2014-09-17 00:51:40 +02:00
Sergei Golubchik
a006813fb1 merge 2014-09-16 14:08:05 +02:00
Sergei Golubchik
d017953e2e fixes for test cases 2014-09-16 14:04:50 +02:00
Sergei Golubchik
7e29c1b539 5.5 merge 2014-09-16 14:03:17 +02:00
Jan Lindström
ec46381990 Avoid using log_sys mutex when printing out show engine innodb status,
instead peek (maybe) old data.
2014-09-16 07:37:00 +03:00
Elena Stepanova
b41d5aebcf Changes in storage_engine test suite:
- added more logic for ON DUPICATE KEY UPDATE upon Monty's request;
  - added an overlay for XtraDB
2014-09-15 20:33:11 +04:00
Rich Prohaska
b183d81d2e DB-714 read free replication 2014-09-15 07:47:43 -04:00
Rich Prohaska
8978487477 DB-714 read free replication 2014-09-15 07:47:43 -04:00
Sergei Golubchik
e3deed438a ft-index: restore a chunk that was lost in the merge
and other fixes for gcc-4.9.1 on sid
2014-09-13 21:32:49 +02:00
Sergei Golubchik
77a0c9b161 tokudb: use thd_killed() api function, not thd->killed directly 2014-09-13 08:32:53 +02:00
Sergei Golubchik
e7ddd89adc tokudb tests: master-slave.inc should be included *last* 2014-09-13 08:16:00 +02:00
Sergei Golubchik
1e3e81a6c9 sphinx 2.1.9 2014-09-13 00:30:46 +02:00
Sergei Golubchik
aef3818981 tokudb 7.1.8 2014-09-13 00:28:15 +02:00
Sergei Golubchik
86957d414f 10.0-connect merge 2014-09-12 16:44:27 +02:00
Michael Widenius
fa51a22388 Fixed compiler warnings 2014-09-12 14:49:24 +03:00
Sergei Golubchik
3d94523638 MDEV-6613 build system endianness test fails for ppc64le (i.e. Ubuntu)
* remove bundled jemalloc, use the system one
* force jemalloc in release builds on linux
2014-09-12 08:41:16 +02:00
Elena Stepanova
d2ae40ac2e Fixes in storage_engine test suite
- after a change in 5.6.20, tests with big blobs require bigger
    innodb_log_file_size value;
  - innobase relay was running with the default InnoDB (XtraDB)
2014-09-12 03:21:54 +04:00
Michael Widenius
c6051a4beb Automatic merge 2014-09-11 23:50:31 +03:00
Michael Widenius
c4f5326bb7 MDEV-6255 DUPLICATE KEY Errors on SELECT .. GROUP BY that uses temporary and filesort.
The problem was that my_hash_sort didn't properly delete end-space characters properly, so strings that should compare
identically was seen as different strings.  (Space was handled correctly, but not NBSP)
This caused duplicate key errors when a heap table was converted to Aria as part of overflow in group by.

Fixed by removing all characters that compares as end space when creating a hash.

Other things:
- Fixed that --sorted_results also works for errors in mysqltest.
- Speed up hash by not comparing strings that has different hash.
- Speed up many my_hash_sort functions by using registers to calculate hash instead of pointers.
  This was previously done for some functions, but not for all.
- Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions.







client/mysqltest.cc:
  Fixed that --sorted_results also works for error messages.
mysql-test/r/ctype_partitions.result:
  New test to ensure that partitions on hash works
mysql-test/suite/multi_source/gtid.result:
  Updated result
mysql-test/suite/multi_source/gtid.test:
  Test that --sorted_result works for error messages
mysql-test/suite/multi_source/gtid_ignore_duplicates.result:
  Updated result
mysql-test/suite/multi_source/gtid_ignore_duplicates.test:
  Updated result
mysql-test/suite/multi_source/load_data.result:
  Updated result
mysql-test/suite/multi_source/load_data.test:
  Updated result
mysql-test/t/ctype_partitions.test:
  New test to ensure that partitions on hash works
storage/heap/hp_write.c:
  Speed up hash by not comparing strings that has different hash.
storage/maria/ma_check.c:
  Extra debug
strings/ctype-bin.c:
  Use macro for hash function
strings/ctype-latin1.c:
  Use macro for hash function
  Use registers to calculate hash (speedup)
strings/ctype-mb.c:
  Use macro for hash function
  Use registers to calculate hash (speedup)
strings/ctype-simple.c:
  Use macro for hash function
  Use same variable names as in other my_hash_sort functions.
  Update my_hash_sort_simple() to properly remove end space (patch by Bar)
strings/ctype-uca.c:
  Ignore duplicated space inside strings and end space in my_hash_sort_uca(). This fixed MDEV-6255
  Use macro for hash function
  Use registers to calculate hash (speedup)
strings/ctype-ucs2.c:
  Use macro for hash function
  Use registers to calculate hash (speedup)
strings/ctype-utf8.c:
  Use macro for hash function
  Use registers to calculate hash (speedup)
strings/strings_def.h:
  Made a macro of the hash function, to simplify code and to be able to experiment with new hash functions.
2014-09-11 22:42:35 +03:00
Sergei Golubchik
4a68817d8d XtraDB 5.6.20-68.0 2014-09-11 16:44:16 +02:00
Sergei Golubchik
75796d9ecb InnoDB 5.6.20 2014-09-11 16:42:54 +02:00
Jan Lindström
c30a8442e8 MDEV-6729: InnoDB: Failing assertion: state == TRX_STATE_NOT_STARTED in
file trx0trx.ic line 60 

Problem was that trx might have not been started when we enter release
savepoint, this can happen when trx with savepoint is already aborted 
or when we try to release non-existing savepoint.
2014-09-11 15:41:30 +03:00
Sergei Golubchik
b2c54a9a69 MDEV-6523 CONNECT temporary table created
check_engine() was not called for assisted discovery
2014-09-10 13:22:20 +02:00
Sergei Golubchik
1e7dd85028 MDEV-6579 IMPORT_EXECUTABLES feature broken by addition of gen_pfs_lex_token 2014-09-10 13:10:24 +02:00
Praveenkumar Hulakund
0b28d7e048 Bug#18790730 - CROSS-DATABASE FOREIGN KEY WITHOUT PERMISSIONS
CHECK.

Analysis:
----------
Issue here is, while creating or altering the InnoDB table,
if the foreign key defined on the table references a parent
table on which the user has no access privileges then the
table is created without reporting any error. 

Currently the privilege level REFERENCES_ACL is unused
and is not used for access evaluation while creating the
table with a foreign key constraint or adding the foreign
key constraint to a table. But when no privileges are granted
to user then also access evaluation on parent table is ignored.

Fix:
---------
For DMLs, irrelevant of the fact, support does not want any
changes to avoid permission checks on every operation.

So, as a fix, added a function "check_fk_parent_table_access" 
to check whether any of the SELECT_ACL, INSERT_ACL, UDPATE_ACL,
DELETE_ACL or REFERENCE_ACL privileges are granted for user
at table level. If none of them is granted then error is reported.
This function is called during the table creation and alter 
operation.
2014-09-10 10:50:17 +05:30
Praveenkumar Hulakund
cf4231a7f9 Bug#18790730 - CROSS-DATABASE FOREIGN KEY WITHOUT PERMISSIONS
CHECK.

Analysis:
----------
Issue here is, while creating or altering the InnoDB table,
if the foreign key defined on the table references a parent
table on which the user has no access privileges then the
table is created without reporting any error. 

Currently the privilege level REFERENCES_ACL is unused
and is not used for access evaluation while creating the
table with a foreign key constraint or adding the foreign
key constraint to a table. But when no privileges are granted
to user then also access evaluation on parent table is ignored.

Fix:
---------
For DMLs, irrelevant of the fact, support does not want any
changes to avoid permission checks on every operation.

So, as a fix, added a function "check_fk_parent_table_access" 
to check whether any of the SELECT_ACL, INSERT_ACL, UDPATE_ACL,
DELETE_ACL or REFERENCE_ACL privileges are granted for user
at table level. If none of them is granted then error is reported.
This function is called during the table creation and alter 
operation.
2014-09-10 10:50:17 +05:30
Sergei Golubchik
6b720ae4cb MDEV-6605 Multiple Clients Inserting Causing Error: Failed to read auto-increment value from storage engine
* handler::get_auto_increment() was not expecting any errors from the storage engine.
  That was wrong, errors could happen.
* ha_partition::get_auto_increment() was doing index lookups in partition under a mutex.
  This was redundant (engine transaction isolation was covering that anyway)
  and harmful (causing deadlocks).
2014-09-08 18:38:13 +02:00
Sergei Golubchik
8deb9066e2 fix compilation on windows - wrong include file 2014-09-08 17:10:48 +02:00
Murthy Narkedimilli
3139aa87b4 Adding patch for security bug 19471516 2014-09-08 11:33:55 +02:00
Olivier Bertrand
a1c3656e01 - Fix MDEV-6624 (indexing on void table)
modified:
  storage/connect/ha_connect.cc

- Suppress "Position array is null" warning.
modified:
  storage/connect/filamtxt.cpp
  storage/connect/mysql-test/connect/r/part_table.result
2014-09-06 18:08:28 +02:00
Sergei Golubchik
695781a53e MDEV-6595 [PATCH] HPPA: storage/xtradb/os/os0stacktrace.c:88:54: error: invalid operands to binary & (have 'void *' and 'long unsigned int')
fix precedence as in the patch from Brian Evans
2014-09-06 09:51:34 +02:00
Olivier Bertrand
4aac44d257 - Fix MDEV-6686 (buffer overflow in MakeRecord)
modified:
  storage/connect/ha_connect.cc
2014-09-05 14:18:31 +02:00
BohuTANG
ef579d8921 DB-310 add tokudb_support_xa variable
this variable scope is Global, Session
type is boolean and default value is TRUE
2014-09-05 13:17:54 +08:00
BohuTANG
856dd95b71 DB-310 add tokudb_support_xa variable
this variable scope is Global, Session
type is boolean and default value is TRUE
2014-09-05 13:17:54 +08:00
Rich Prohaska
f7c43e4b9c DB-718 handle errors in tokudb info schema plugins 2014-09-03 07:49:52 -04:00
Rich Prohaska
f99f2254d9 DB-718 handle errors in tokudb info schema plugins 2014-09-03 07:49:52 -04:00
Alexander Barkov
fbaaf3688d Moving Item::str_value from public to protected. 2014-09-03 01:56:21 +04:00
Olivier Bertrand
7c1af793fc - Initialise min/max buffer to 0 to avoid valgrind complaining
that uninitialised characters be written in op file.
modified:
  storage/connect/tabdos.cpp

- Typo
modified:
  storage/connect/filamap.cpp
  storage/connect/filamdbf.cpp
  storage/connect/filamdbf.h
  storage/connect/valblk.cpp
  storage/connect/xindex.cpp
2014-09-02 01:40:15 +02:00
Olivier Bertrand
16de35114e - Avoid uninitialised warning from valgrind
modified:
  storage/connect/tabdos.cpp
2014-08-29 14:22:25 +02:00
Sergey Vojtovich
c01c819209 Backport from 10.0:
MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64

This problem affects only debug builds on PPC64.

There are at least two race conditions around
rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit:

- rw_lock_debug_waiters was loaded/stored without setting
  appropriate locks/memory barriers.
- there is a gap between calls to os_event_reset() and
  os_event_wait() and in such case we're supposed to pass
  return value of the former to the latter.

Fixed by replacing self-cooked spinlocks with system mutexes.
These days system mutexes offer much better performance. OTOH
performance is not that critical for debug builds.
2014-08-29 16:14:11 +04:00
Sergey Vojtovich
40497577ff Backport from 10.0:
MDEV-6450 - MariaDB crash on Power8 when built with advance tool
            chain

InnoDB mutex_exit() function calls __sync_test_and_set() to release
the lock. According to manual this function is supposed to create
"acquire" memory barrier whereas in fact we need "release" memory
barrier at mutex_exit().

The problem isn't repeatable with gcc because it creates
"acquire-release" memory barrier for __sync_test_and_set().
ATC creates just "acquire" barrier.

Fixed by creating proper barrier at mutex_exit() by using
__sync_lock_release() instead of __sync_test_and_set().
2014-08-29 16:02:46 +04:00
Rich Prohaska
08eb88eec4 DB-712 split locks and lock_waits dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
43c3843368 DB-712 split locks and lock_waits dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
8c5cd26053 DB-703 DB-704 split dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
a0056c489f DB-703 DB-704 split dname into schema, table, and dictionary 2014-08-28 06:19:32 -04:00
Rich Prohaska
66504277bf DB-702 print upgrade failed clean shutdown required error message 2014-08-27 10:31:45 -04:00
Rich Prohaska
577e3a0fd3 DB-702 print upgrade failed clean shutdown required error message 2014-08-27 10:31:45 -04:00
Murthy Narkedimilli
de71240ed3 Changing the copyright headers a bit to be complaint with the standards 2014-08-27 16:06:50 +02:00
Murthy Narkedimilli
96748c37f7 Changing the copyright headers a bit to be complaint with the standards 2014-08-27 16:06:50 +02:00
Olivier Bertrand
86a3343191 - Fix a bug in DOSFAM::OpenTableFile. Bin was not set to TRUE for blocked
tables. This caused a CR character to be left in the line and in
  particular caused the updelx test to fail on Windows.
modified:
  storage/connect/filamtxt.cpp
2014-08-27 14:56:20 +02:00
Olivier Bertrand
66ffa09491 - Fix a test failure. Due to mmap on void file being accepted on Windows
while returning an error on Linux. Now accepted on linux.
modified:
  storage/connect/maputil.cpp

- Fix a BUG in the XHUGE class. lseek64 was wrongly regarded as in error
  when returning 0 instead of -1. This produced wrong index files.
modified:
  storage/connect/filamfix.cpp
  storage/connect/maputil.cpp
  storage/connect/xindex.cpp

- Fix length mismatch (tab instead of blanks?)
modified:
  storage/connect/mysql-test/connect/r/updelx.result
2014-08-27 00:49:07 +02:00
Olivier Bertrand
8f0e75285e - Adding a test for indexed UPDATE/DELETE
added:
  storage/connect/mysql-test/connect/r/updelx.result
  storage/connect/mysql-test/connect/t/updelx.inc
  storage/connect/mysql-test/connect/t/updelx.test
2014-08-25 18:51:53 +02:00
Olivier Bertrand
da69d41a29 - Make storing and sorting values using less memory allocation
(while doing indexed UPDATE/DELETE)
modified:
  storage/connect/array.cpp
  storage/connect/filamtxt.cpp

- Force unix like line endings
modified:
  storage/connect/tabvct.h
2014-08-25 18:34:51 +02:00
Annamalai Gurusami
2f8bd757cd Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE ADD FOREIGN KEY
Problem:

We maintain two rb trees in each dict_table_t.  The foreign_rbt must be in
sync with foreign_list.  The referenced_rbt must be in sync with
referenced_list. There is one function which checks this consistency and it
failed, resulting in an assert failure.

The root cause of the problem was identified that the search order was 
lost in the referenced_rbt.  This is because while renaming the table,
we didn't not refresh this referenced_rbt.

Solution:

When a foreign key is renamed, we must delete and re-insert into both
foreign_rbt and referenced_rbt.  

rb#6412 approved by Jimmy.
2014-08-25 16:25:07 +02:00
Annamalai Gurusami
f97dfa81a5 Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE ADD FOREIGN KEY
Problem:

We maintain two rb trees in each dict_table_t.  The foreign_rbt must be in
sync with foreign_list.  The referenced_rbt must be in sync with
referenced_list. There is one function which checks this consistency and it
failed, resulting in an assert failure.

The root cause of the problem was identified that the search order was 
lost in the referenced_rbt.  This is because while renaming the table,
we didn't not refresh this referenced_rbt.

Solution:

When a foreign key is renamed, we must delete and re-insert into both
foreign_rbt and referenced_rbt.  

rb#6412 approved by Jimmy.
2014-08-25 16:25:07 +02:00
Jan Lindström
18b307a7d2 MDEV-6590: InnoDB recover ends in signal 11
Analysis: When database is migrated from 5.5 or earlier and
database needs crash recovery, there is possibility that
SYS_DATAFILES system table does not exists, but
crash recovery in function dict_check_tablespaces_and_store_max_id()
assumes that SYS_DATAFILES exists.

Fix: If SYS_DATAFILES does not exists, create it before
we end up to function dict_check_tablespaces_and_store_max_id()
on crash recovery.
2014-08-25 13:35:33 +03:00
Olivier Bertrand
22e8ab422c - Fix a compile error on Linux
modified:
  storage/connect/tabmul.cpp
2014-08-24 11:19:02 +02:00
Olivier Bertrand
74a4672622 - Move DataPath from the MYCAT catalog to the ha_connect handler. Indeed
it belongs to each tables and the catalog being share between several
  instances of CONNECT, when a query implied several tables belonging to
  different databases, some where pointing on the wrong database. This
  fix bugs occuring in queries such as:
  INSERT into db1.t1 select * from db2.t2;
  Where the t1 data file was made in db2.
modified:
  storage/connect/catalog.h
  storage/connect/connect.cc
  storage/connect/filamdbf.cpp
  storage/connect/filamdbf.h
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mycat.cc
  storage/connect/mycat.h
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/reldef.cpp
  storage/connect/reldef.h
  storage/connect/tabfix.h
  storage/connect/tabfmt.cpp
  storage/connect/tabfmt.h
  storage/connect/tabmul.cpp
2014-08-23 19:17:15 +02:00
Olivier Bertrand
f930f4eda9 - Add a new CONNECT global variable allowing to tell whether or not
a temporary file should be used for UPDATE/DELETE of file tables.
  Also use the "sorted" argument of index_init to help decide if
  sorting of positions must be done.
modified:
  storage/connect/checklvl.h
  storage/connect/connect.cc
  storage/connect/connect.h
  storage/connect/filamdbf.cpp
  storage/connect/filamfix.cpp
  storage/connect/filamfix.h
  storage/connect/filamtxt.cpp
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/part_table.result
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/reldef.cpp
  storage/connect/tabdos.cpp
  storage/connect/tabdos.h
  storage/connect/tabfix.cpp
  storage/connect/tabfmt.cpp
  storage/connect/tabvct.cpp
  storage/connect/tabvct.h
  storage/connect/xindex.cpp

- Fix a bug in TDBASE::ColDB that caused some special columns not to
  be found in the column list and reallocated without their Value
  causing a crash of some queries.
modified:
  storage/connect/table.cpp

- Fix a bug causing RestoreNrec to be called before closing a table
  causing a wrong value given to Spos
modified:
  storage/connect/tabdos.cpp
  storage/connect/xindex.cpp

- Add a new CONNECT global variable connect_exact_info. Set to ON, it
  tells CONNECT to return exact record numbers on info queries. If OFF
  it just gives an estimate. In version 10.0.13 this was unconditionally
  ON and caused info queries on remote tables to be extremely long and
  was the subject of MDEV-6612.
modified:
  storage/connect/ha_connect.cc
  storage/connect/tabdos.cpp
  storage/connect/tabmysql.cpp
  storage/connect/tabodbc.cpp
2014-08-22 17:30:22 +02:00
Rich Prohaska
71208afb5b DB-500 allow simple deletes to use bulk fetch 2014-08-19 17:08:14 -04:00
Rich Prohaska
667401cab6 FT-502 print huge pages guy when env fails to open 2014-08-19 17:07:48 -04:00
Michael Widenius
5569132ffe MDEV-6450 - MariaDB crash on Power8 when built with advance tool chain
Part of this work is based on Stewart Smitch's memory barrier and lower priori
patches for power8.

- Added memory syncronization for innodb & xtradb for power8.
- Added HAVE_WINDOWS_MM_FENCE to CMakeList.txt
- Added os_isync to fix a syncronization problem on power
- Added log_get_lsn_nowait which is now used srv_error_monitor_thread to ensur
  if log mutex is locked.

All changes done both for InnoDB and Xtradb
2014-08-19 19:28:35 +03:00
Rich Prohaska
96fbab5fcb DB-500 allow simple deletes to use bulk fetch 2014-08-18 13:38:51 -04:00
Rich Prohaska
56126798a8 DB-500 allow simple deletes to use bulk fetch 2014-08-18 13:38:51 -04:00
Rich Prohaska
9e079da4cf FT-502 print huge pages guy when env fails to open 2014-08-18 09:13:29 -04:00
Rich Prohaska
a2566787a9 FT-502 print huge pages guy when env fails to open 2014-08-18 09:13:29 -04:00
James Le Cuirot
55b47649a1 MDEV-6579: Properly handle gen_pfs_lex_token when cross-compiling 2014-08-15 22:54:07 +01:00
Olivier Bertrand
8b9ed85b8a - Remove a gcc warning
modified:
  storage/connect/xindex.cpp
2014-08-15 18:05:10 +02:00
Olivier Bertrand
3a69c854c5 - Modifies the way indexed UPDATE/DELETE are sorted in order to execute
them sorted by file position. Firstly a new value is stored in indexes
  to know if they are sorted, preventing to do the sorting when it is not
  needed. Secondly, almost all in now done in connect instead of being
  done by the different file access method classes. This pepares the future
  use of temporary files for all table types and also fix the bug that was
  occuring when partially using a multi-column index because of false MRR
  like call of position followed by unsorted rnd_pos no more using indexing.
modified:
  storage/connect/connect.cc
  storage/connect/filamap.cpp
  storage/connect/filamap.h
  storage/connect/filamdbf.cpp
  storage/connect/filamdbf.h
  storage/connect/filamfix.cpp
  storage/connect/filamfix.h
  storage/connect/filamtxt.cpp
  storage/connect/filamtxt.h
  storage/connect/filamvct.cpp
  storage/connect/filamvct.h
  storage/connect/tabdos.cpp
  storage/connect/tabdos.h
  storage/connect/tabfix.h
  storage/connect/tabfmt.cpp
  storage/connect/tabfmt.h
  storage/connect/xindex.cpp
  storage/connect/xindex.h
  storage/connect/xtable.h
2014-08-16 16:46:35 +02:00
Rich Prohaska
65547f32a0 DB-506 add a session variable to enable/disable bulk fetch default enabled 2014-08-14 15:18:56 -04:00
Rich Prohaska
b16b461d25 DB-506 add a session variable to enable/disable bulk fetch default enabled 2014-08-14 15:18:27 -04:00
Rich Prohaska
5893b3026b DB-506 add a session variable to enable/disable bulk fetch default enabled 2014-08-14 15:18:27 -04:00
Rich Prohaska
880fac82e2 #272 set tokudb product name 2014-08-12 14:41:35 -04:00
Rich Prohaska
ebb7a85c1b #272 set tokudb product name 2014-08-12 14:41:35 -04:00
Rich Prohaska
0b72d47cef #272 set TokuDB product name 2014-08-12 12:56:15 -04:00
Rich Prohaska
d8fffbc931 #272 set TokuDB product name 2014-08-12 12:56:15 -04:00
Sergei Golubchik
fd8da99119 disable still racy tokudb tests 2014-08-12 17:12:08 +02:00
Rich Prohaska
6a92fe510a #271 turn off FT debug flags by default. can be overridden by cmake arguments 2014-08-11 16:47:36 -04:00
Olivier Bertrand
78b1bdd2ba - Update part_file.result to match the test change
modified:
  storage/connect/mysql-test/connect/r/part_file.result
2014-08-08 19:53:44 +02:00
Olivier Bertrand
61c2e7b27d - Fix MDEV-6502
modified:
  storage/connect/ha_connect.cc

- Apply Sergei's fixes
modified:
  storage/connect/filamtxt.cpp
  storage/connect/mysql-test/connect/t/part_file.test
2014-08-08 19:46:02 +02:00
Sergei Golubchik
4105cbf4a2 after-merge fixes for 10.0-connect 2014-08-08 17:58:45 +02:00
Sergei Golubchik
2894758961 10.0-connect merge 2014-08-08 16:15:29 +02:00
Sergei Golubchik
9fffe990c4 buildbot found failures
config.h.cmake:
  define NOMINMAX, otherwise Windows system headers define min() and max() macros
sql/slave.cc:
  mi->report() has one more argument in MariaDB
storage/xtradb/buf/buf0flu.cc:
  xtradb fixes for windows, again
2014-08-08 13:53:43 +02:00
Olivier Bertrand
f835588cc2 - Commiting merge files 2014-08-07 19:12:45 +02:00
Sergei Golubchik
6fb17a0601 5.5.39 merge 2014-08-07 18:06:56 +02:00
Olivier Bertrand
0219ac1e98 This is a major update that fixes most of the issues and bugs that
have been created by the last addition of new CONNECT features.
The version previous to this one is a preliminary test version and
should not be distributed.

- Handle indexed UPDATE/DELETE. Previously this was just tested and
  an error message send when it could not be done. Now CONNECT can
  do it in all the cases. It is done by a MRR like tchnique by making
  a list of all update or delete to do, sort them, then execute them.
modified:
  storage/connect/array.cpp
  storage/connect/array.h
  storage/connect/filamap.cpp
  storage/connect/filamap.h
  storage/connect/filamdbf.cpp
  storage/connect/filamfix.cpp
  storage/connect/filamfix.h
  storage/connect/filamtxt.cpp
  storage/connect/filamtxt.h
  storage/connect/filamvct.cpp
  storage/connect/filamvct.h
  storage/connect/filamzip.cpp
  storage/connect/filamzip.h
  storage/connect/global.h
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h

- Differenciate Cardinality that returns a true or estimated table size
  and GetMaxSize that return a value equal or greater than the table
  row number. This fixes the errors of non matching opt files.
modified:
  storage/connect/connect.cc
  storage/connect/tabdos.cpp
  storage/connect/tabdos.h
  storage/connect/tabfix.cpp
  storage/connect/table.cpp
  storage/connect/tabmac.h
  storage/connect/tabmysql.cpp
  storage/connect/tabmysql.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h
  storage/connect/tabpivot.h
  storage/connect/tabtbl.cpp
  storage/connect/tabtbl.h
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
  storage/connect/tabwmi.h
  storage/connect/xtable.h

- Fix some errors and issues when making index and opt files.
  Erase opt and index files for void tables.
  Fix wrong calculation of Block and Last in MakeBlockValues.
  Invalidate indexes before making opt file.
  Fully handle blocked variable tables. Make opt file for blocked
  variable tables even when they have no optimised colums.
modified:
  storage/connect/tabdos.cpp
  storage/connect/xindex.h

- Fix some errors making index
  Return an error when the allocation is too small (should not
  really occur now that GetMaxSize is sure)
  Don't use XXROW index for DBF tables because of soft deleted lines.
modified:
  storage/connect/xindex.cpp

- Typo
modified:
  storage/connect/macutil.cpp
  storage/connect/tabdos.h
  storage/connect/tabsys.cpp
  storage/connect/tabsys.h
2014-08-07 17:59:21 +02:00
Sergei Golubchik
2023fac281 innodb-5.6.19 2014-08-06 20:05:10 +02:00
Sergei Golubchik
a7f39aacd5 xtradb-5.6.19-67.0 2014-08-06 19:57:06 +02:00
Sergei Golubchik
098a9c602d perfschema 5.6.20 2014-08-06 19:41:33 +02:00
Sergei Golubchik
75af0fcc00 mysql-5.6.20 2014-08-06 19:29:02 +02:00
Sergei Golubchik
be253829d7 compilation failure on labrador 2014-08-06 10:11:08 +02:00
unknown
07668e6751 Remove unstable test case innodb_bug18942294, approved by Jimmy over IM. 2014-08-06 09:51:20 +08:00
bin.x.su@oracle.com
d345978d27 Remove unstable test case innodb_bug18942294, approved by Jimmy over IM. 2014-08-06 09:51:20 +08:00
Sergei Golubchik
68d72f9167 fix tokudb version 2014-08-05 20:22:57 +02:00
Sergei Golubchik
a4ab2431a2 fix tokudb version 2014-08-05 20:22:57 +02:00
Sergei Golubchik
761ed3d466 change Aria engine maturity to STABLE 2014-08-05 18:35:20 +02:00
Olivier Bertrand
b81b6d3f83 - Fix failing tests. part_file.test failure was due to a new alter flag that
were not taken in acount in check_if_supported_inplace_alter. mysql.test
  failure is strange, the suppressed warning should not be made anyway.
modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/mysql.result
2014-08-05 17:01:41 +02:00
Rich Prohaska
ba4cc58dea #271 turn off FT debug flags by default. can be overridden by cmake arguments 2014-08-04 15:49:28 -04:00
Rich Prohaska
865df2ba49 #271 turn off FT debug flags by default. can be overridden by cmake arguments 2014-08-04 15:49:28 -04:00
Alexander Barkov
089938cd43 Merge 10.0->10.0-connect 2014-08-04 18:17:56 +04:00
Sergey Vojtovich
82ce2a2503 MDEV-6450 - MariaDB crash on Power8 when built with advance
tool chain

Reverted addition to the original patch:
InterlockedExchangeAcquire and InterlockedAndRelease are
supported only on Itanium-based systems.
2014-08-04 11:55:38 +04:00
Sergei Golubchik
c722e5f25f MDEV-6507 tokudb release builds compiled with debug code on
disable tokudb paranoid asserts
2014-08-03 13:38:54 +02:00
Sergei Golubchik
359d764b79 fix xtradb on windows (again) 2014-08-03 07:38:41 +02:00
Sergei Golubchik
1c6ad62a26 mysql-5.5.39 merge
~40% bugfixed(*) applied
~40$ bugfixed reverted (incorrect or we're not buggy)
~20% bugfixed applied, despite us being not buggy
(*) only changes in the server code, e.g. not cmakefiles
2014-08-02 21:26:16 +02:00
Sergei Golubchik
14200dfa43 tokudb-7.1.7 2014-08-01 17:04:15 +02:00
Sergei Golubchik
4b4de01fae 5.3 merge 2014-08-01 16:51:12 +02:00
Jan Lindström
27d23c020a Merged percona-server-5.5.38-35.2. 2014-08-01 12:54:56 +03:00
Rich Prohaska
ed9a5d5d38 #269 use bulk fetch for replace select 2014-07-31 12:24:04 -04:00
Rich Prohaska
0b49d864f9 #269 use bulk fetch for replace select 2014-07-31 12:23:23 -04:00
Rich Prohaska
f3e62fdda8 #269 use bulk fetch for replace select 2014-07-31 12:23:23 -04:00
Sergey Vojtovich
53360fd45f MDEV-6450 - MariaDB crash on Power8 when built with advance
tool chain

This is an addition to the original patch. On Windows
InterlockedExchange implies full memory barrier, whereas
only acquire/release barriers required.
2014-07-31 14:31:05 +04:00
Michael Widenius
37ba4f37ac Fixed memory overflow 2014-07-31 13:13:33 +03:00
Jan Lindström
c39a501cbe Try to fix compiler error seen on Labrador. 2014-07-31 14:43:35 +03:00
Sergei Golubchik
3e9d4541d5 MDEV-6340 Mariadb 10.0.12 fatal "Lost connection" error w/ GCC 4.9 'Release' build; workaround ~ CFLAGS="-fno-delete-null-pointer-checks"
don't use attribute nonnull for arguments that can be null
2014-07-31 09:51:05 +02:00
Jan Lindström
c2536764d8 MDEV-6506: InnoDB: Assertion failure in thread 2810182464 in file
buf0flu.cc line 549.

Analysis: If buf_page_get_state(bpage) == BUF_BLOCK_REMOVE_HASH then
buf_page_in_file(bpage) might not be true. 

Fix: ut_a(buf_page_in_file(bpage) || buf_page_get_state(bpage) == BUF_BLOCK_REMOVE_HASH);
2014-07-31 10:32:52 +03:00
Michael Widenius
f9eeeae3c9 Fixed failing testcase 2014-07-30 23:16:49 +03:00
Michael Widenius
1a3d33c5f7 Automatic merge 2014-07-30 22:05:47 +03:00
Michael Widenius
5364315229 Fix for MDEV-6493: Assertion `table->file->stats.records > 0 || error' failure, or 'Invalid write' valgrind warnings, or crash on scenario with Aria table, view, LOCK TABLES
This bug only happens in case of paritioned tables used in LOCK TABLES and implicit_commit() was called
(as part of trying to execute a CREATE TABLE withing lock tables)

The problem was that Aria could not move the tables from one transaction to the new one, as thd->open_tables contained
a partitioned tables and not an Aria table.

Fix:
- Store a list of all open tables that are part of a share in share->open_tables
- In maria::implict_commit() use transaction->used_tables & share->open_tables to find out which tables
  was part of the current transaction instead of using thd->open_tables, which may contain partitioned tables.


mysql-test/suite/maria/maria_partition.result:
  Added test case
mysql-test/suite/maria/maria_partition.test:
  Added test case
storage/maria/ha_maria.cc:
  Use trn->used tables and share->open_tables to find out which tables was part of the current transaction instead of using thd->open_tables.
storage/maria/ma_close.c:
  Remove closed table from share->open_list
storage/maria/ma_open.c:
  Add table to share->open_list
storage/maria/ma_state.c:
  Added comment
storage/maria/maria_def.h:
  Added share->open_list, a list of all tables that is using this share.
2014-07-30 13:27:52 +03:00
Michael Widenius
a1c1700b89 Fixed some compiler warnings 2014-07-30 10:05:01 +03:00
Sergei Golubchik
6ef139780d MDEV-6497 InnoDB deadlocks on UNINSTALL PLUGIN
Free the trx of the current thd (if any) in innobase_end()
2014-07-29 09:09:52 +02:00
Jan Lindström
2936bfd220 Merge revision 4244 from 5.5. Fix compiler error on sparc. 2014-07-27 08:47:37 +03:00
Jan Lindström
42b9758814 Fix compiler error on sparc. 2014-07-27 08:44:45 +03:00
Jan Lindström
8ae267400c Fix InnoDB: Assertion failure in thread 2868898624 in file buf0lru.c line 1000
InnoDB: Failing assertion: mutex_own(&buf_pool->LRU_list_mutex)

and

InnoDB: Assertion failure in thread 2868898624 in file buf0lru.c line 1077
InnoDB: Failing assertion: mutex_own(&buf_pool->LRU_list_mutex)

Analysis: Function buf_LRU_free_block might release LRU_list_mutex on
same cases to avoid mutex order problems, we need to take it back 
before accessing list.
2014-07-26 21:14:21 +03:00
Jan Lindström
476feba941 Fix unnecessary printout of same writer thread more than once. Fixed
also a compiler warning.
2014-07-26 20:17:59 +03:00
Olivier Bertrand
4d0587c331 - Fix an error pointed out by Valgrind due to uninitialised Correlated
variable. This variable is not to be used by CONNECT.
modified:
  storage/connect/array.cpp
  storage/connect/array.h
2014-07-25 11:37:07 +02:00
Jan Lindström
a3acd72570 Merge InnoDB fixes from 5.5 revisions 4229, 4230, 4233, 4237 and 4238 i.e.
4229: MDEV-5670: Assertion failure in file buf0lru.c line 2355
      Add more status information if repeatable.

4230: MDEV-5673: Crash while parallel dropping multiple tables under heavy load
      Improve long semaphore wait output to include all semaphore waits
      and try to find out if there is a sequence of waiters.

4233: Fix compiler errors on product build.

4237: Fix too agressive long semaphore wait output and add guard against introducing
      compression failures on insert buffer.

4238: Fix test failure caused by simulated compression failure on
      IBUF_DUMMY table.
2014-07-25 10:30:16 +03:00
Sergey Vojtovich
6192f0bffa MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64
This problem affects only debug builds on PPC64.

There are at least two race conditions around
rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit:

- rw_lock_debug_waiters was loaded/stored without setting
  appropriate locks/memory barriers.
- there is a gap between calls to os_event_reset() and
  os_event_wait() and in such case we're supposed to pass
  return value of the former to the latter.

Fixed by replacing self-cooked spinlocks with system mutexes.
These days system mutexes offer much better performance. OTOH
performance is not that critical for debug builds.
2014-07-24 18:12:32 +04:00
Olivier Bertrand
de3ee460da - Try to fix some test failure
modified:
  storage/connect/mysql-test/connect/t/part_table.test
2014-07-24 15:50:29 +02:00
Jan Lindström
c104965746 Fix test failure caused by simulated compression failure on
IBUF_DUMMY table.
2014-07-25 09:34:05 +03:00
Jan Lindström
7bf45bec54 Fix too agressive long semaphore wait output and add guard against introducing
compression failures on insert buffer.
2014-07-24 14:35:09 +03:00
Jan Lindström
be00265557 Fix compiler errors on product build. 2014-07-23 13:52:17 +03:00
Olivier Bertrand
c1d1dc25dd - Modif avglen calculation and add AVG_ROW_LENGTH option to test
This is to get same test results on Linux and Windows
modified:
  storage/connect/mysql-test/connect/r/part_file.result
  storage/connect/mysql-test/connect/r/part_table.result
  storage/connect/mysql-test/connect/t/part_file.test
  storage/connect/mysql-test/connect/t/part_table.test
  storage/connect/tabdos.cpp
2014-07-22 19:45:25 +02:00
Jan Lindström
a1e41e3258 MDEV-6470: Restrict number of error messages about persistent statictic tables not found
If mysql.innodb_table_stats or mysql.innodb_index_stats is not found or has
unexpected structure output that error only once and no other error for
every table trying to use them. If they do exists, then print fetch or
recalculation errors only once / table or index.
2014-07-22 19:31:45 +03:00
Olivier Bertrand
decc23cbc2 - Fix bugs in handling of remote index when updating and deleting
modified:
  storage/connect/ha_connect.cc
  storage/connect/tabdos.cpp
  storage/connect/tabfmt.cpp
  storage/connect/tabmysql.cpp

- add AVG_REC_LENGTH option to avoid result mismatch between
  Windows and Linux
modified:
  storage/connect/mysql-test/connect/r/part_file.result
  storage/connect/mysql-test/connect/r/part_table.result
  storage/connect/mysql-test/connect/t/part_file.test
2014-07-22 15:51:21 +02:00
Jan Lindström
ef67c3a239 MDEV-6443: Server crashed with assertaion failure in file ha_innodb.cc
line 8473

In case InnoDB index is not found, print the MySQL and InnoDB index
name we were trying to find and all MySQL and InnoDB index names there
is for this table.
2014-07-22 13:17:16 +03:00
Jan Lindström
fe3859cc9d MDEV-6443: Server crashed with assertaion failure in file
ha_innodb.cc line 8473

If index is not found from InnoDB make sure we print what we
were trying to find and all mysql and InnoDB index names there
is for this table.
2014-07-22 13:08:32 +03:00
Jan Lindström
0bb0230e3a MDEV-6426: Maria DB crashes randomly on creating indexes
Improve OS error messages on Windows.
2014-07-22 10:10:56 +03:00