Commit graph

9939 commits

Author SHA1 Message Date
Sergei Golubchik
4ec0799fe5 mroonga/groonga: disable building of unnecessary or unsupported components 2014-11-18 22:26:25 +01:00
Sergei Golubchik
bb1ce607e3 mroonga/groonga: CMakeLists.txt
* use the same HAVE_C/CXX_ variables for compiler flag tests as the rest of
  the server and tokudb - to use cached results
* plugin's name should be "mroonga" not "ha_mroonga"
* don't use set_property(TARGET plugin_name ...), it aborts cmake when a plugin
  id disabled, because the target doesn't exists in that case

result: mroonga can now be disabled from cmake command line
2014-11-18 22:26:20 +01:00
Sergei Golubchik
303eec5774 MDEV-6880 Can't define CURRENT_TIMESTAMP as default value for added column
ALTER TABLE: don't fill default values per row, do it once.
And do it in two places - for copy_data_between_tables() and for online ALTER.

Also, run function_defaults test both for MyISAM and for InnoDB.
2014-11-18 22:25:33 +01:00
Sergei Golubchik
302b50fa30 TokuDB 7.5.3 2014-11-18 17:54:00 +01:00
Rich Prohaska
ea9bd89327 DB-770 tokudb::extra HA_EXTRA_NOT_USED should explicitly do nothing 2014-11-17 14:57:06 -05:00
Jan Lindström
7bf391c205 MDEV-7108: Make long semaphore wait timeout configurable
Merge Facebook commit cd063ab930
authored by Peng Tian from https://github.com/facebook/mysql-5.6

Introduced a new configuration variable innodb_fatal_semaphore_wait_threshold,
it makes the fatal semaphore timeout configurable. Modified original commit
so that no MariaDB server files are changed, instead introduced a new
InnoDB/XtraDB configuration variable.

Its default/min/max vlaues are 600/1/2^32-1 in seconds (it was hardcoded
as 600, now its default value is 600, so the default behavior of this diff
should be no change).
2014-11-17 09:59:52 +02:00
Olivier Bertrand
cfa872f6c8 - Commit resolved conflicted files
modified:
  storage/connect/engmsg.h
  storage/connect/filamtxt.cpp
2014-11-16 20:14:36 +01:00
Olivier Bertrand
b9165cb58d - Remove gcc warning (no previous declaration of msglang)
modified:
  storage/connect/ha_connect.cc

- Define strcasecmp for Linux
modified:
  storage/connect/rcmsg.c

- Avoid potential buffer overflow
modified:
  storage/connect/plgdbutl.cpp
  
- Change %d in %lld in VALUE_TOO_BIG message
modified:
  storage/connect/encas.h
  storage/connect/english.msg
  storage/connect/frcas.h
  storage/connect/french.msg
  storage/connect/frmsg.h
2014-11-16 01:16:51 +01:00
Olivier Bertrand
5d8311960a - Implement the NEWMSG and XMSG methods
They are still experimental and should not be used in production.
added:
  storage/connect/encas.h
  storage/connect/english.msg
  storage/connect/enids.h
  storage/connect/frcas.h
  storage/connect/french.msg
  storage/connect/frids.h
  storage/connect/frmsg.h
modified:
  storage/connect/connect.cc
  storage/connect/engmsg.h
  storage/connect/filamdbf.cpp
  storage/connect/global.h
  storage/connect/ha_connect.cc
  storage/connect/msgid.h
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/rcmsg.c
  storage/connect/resource.h
  storage/connect/tabfmt.h

- Fix global variable not being properly initialized (MDEV-6690, MDEV-7094)
modified:
  storage/connect/ha_connect.cc
  storage/connect/plugutil.c
  storage/connect/user_connect.cc
  storage/connect/xindex.cpp

- Implement Rewind for ODBC tables (MDEV-7097)
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabmysql.cpp
  storage/connect/tabodbc.cpp

- Reset N when reopening MYSQL tables
modified:
  storage/connect/tabmysql.cpp
2014-11-15 18:28:24 +01:00
Rich Prohaska
50b928b046 DB-759 test and fix alter table bug with cardinality data 2014-11-13 10:53:22 -05:00
Sergei Golubchik
81d7e2f61c MDEV-7003 test-alter-table crashes debug build due to double free of plugin
correct the buffer boundary check
2014-11-13 13:40:19 +01:00
Rich Prohaska
2494bde757 DB-759 fix tokudb::alter_card to copy ALL of the cardinality data not just the low byte 2014-11-12 21:06:51 -05:00
Rich Prohaska
8a7f07711e increase test coverage of the cardinality code 2014-11-12 18:30:16 -05:00
Rich Prohaska
ca67239c51 speed up tokudb handler unit tests 2014-11-12 14:36:08 -05:00
Rich Prohaska
fa92c90393 speed up tokudb handler unit tests 2014-11-12 08:38:04 -05:00
Jan Lindström
ea83226872 MDEV-7088: Query stats for compression based on TRIM size
Analysis: Status variables were missing from innodb_status_variables
array.

Fix: Add missing status variables to the array.
2014-11-12 15:37:52 +02:00
Jan Lindström
b7d32e053d MDEV-7083: sys_vars.innodb_sched_priority* tests fail in
buildbot on work-amd64-valgrind

Fixed issue by finding out first the current used priority
for both treads and using that seeing did we really change
the priority or not.
2014-11-14 09:13:13 +02:00
Jan Lindström
0f32299437 MDEV-7035: Remove innodb_io_capacity setting depending on
setting of innodb_io_capacity_max

(a) Changed the behaviour so that if you set innodb_io_capacity to a 
value > innodb_io_capacity_max that the value is accepted AND 
that innodb_io_capacity_max = innodb_io_capacity * 2.

(b) If someone wants to reduce innodb_io_capacity_max and 
reduce it below innodb_io_capacity then innodb_io_capacity 
should be reduced to the same level as innodb_io_capacity_max.

In both cases give a warning to user.
2014-11-13 13:24:26 +02:00
Jan Lindström
bff2d46bf7 MDEV-7100: InnoDB error monitor might unnecessary wait log_sys mutex
Analysis: InnoDB error monitor is responsible to call every second
sync_arr_wake_threads_if_sema_free() to wake up possible hanging
threads if they are missed in mutex_signal_object. This is not
possible if error monitor itself is on mutex/semaphore wait. We
should avoid all unnecessary mutex/semaphore waits on error monitor.
Currently error monitor calls function buf_flush_stat_update()
that calls log_get_lsn() function and there we will try to get
log_sys mutex. Better, solution for error monitor is that in
buf_flush_stat_update() we will try to get lsn with
mutex_enter_nowait() and if we did not get mutex do not update
the stats.

Fix: Use log_get_lsn_nowait() function on buf_flush_stat_update()
function. If returned lsn is 0, we do not update flush stats.
log_get_lsn_nowait() will use mutex_enter_nowait() and if
we get mutex we return a correct lsn if not we return 0.
2014-11-13 12:00:57 +02:00
Jan Lindström
84f3f3fa1e MDEV-7083: sys_vars.innodb_sched_priority* tests fail in buildbot
on work-amd64-valgrind.

Fixed issue by finding out first the current used priority
for both treads and using that seeing did we really change
the priority or not.
2014-11-13 11:05:22 +02:00
Elena Stepanova
62bea520f9 MDEV-7072 mroonga/wrapper.version_56_or_later_performance_schema fails in buildbot on a build without perfschema
Added a call for the include file to check for the presence of perfschema
2014-11-12 05:56:45 +04:00
Elena Stepanova
570c771bc7 MDEV-7071 Spider tests fail due to an unknown option --skip-performance-schema on a build without perfschema
Made the option --loose
2014-11-12 05:52:53 +04:00
Rich Prohaska
43c176a779 speed up tokudb handler unit tests 2014-11-10 16:34:55 -05:00
Olivier Bertrand
9ade2d088d - FIX ftell error when the line endings do not match the declared or
default ending. Also takes care of files having mixed line endings.
  This is done by never using text mode for streams and handle the line
  endings in reading and writing. (MDEV-7030)
modified:
  storage/connect/filamtxt.cpp
2014-11-09 14:18:44 +01:00
Elena Stepanova
b99328bbf8 Re-enabling tests disabled due to MDEV-5266 and MySQL:65225 (fixed now) 2014-11-17 20:28:18 +04:00
Jan Lindström
8c7ef99bb2 MDEV-7100: InnoDB error monitor might unnecessary wait log_sys mutex
Analysis: InnoDB error monitor is responsible to call every second
sync_arr_wake_threads_if_sema_free() to wake up possible hanging 
threads if they are missed in mutex_signal_object. This is not 
possible if error monitor itself is on mutex/semaphore wait. We 
should avoid all unnecessary mutex/semaphore waits on error monitor.
Currently error monitor calls function buf_flush_stat_update() 
that calls log_get_lsn() function and there we will try to get 
log_sys mutex. Better, solution for error monitor is that in 
buf_flush_stat_update() we will try to get lsn with 
mutex_enter_nowait() and if we did not get mutex do not update 
the stats.

Fix: Use log_get_lsn_nowait() function on buf_flush_stat_update()
function. If returned lsn is 0, we do not update flush stats. 
log_get_lsn_nowait() will use mutex_enter_nowait() and if
we get mutex we return a correct lsn if not we return 0.
2014-11-13 11:24:19 +02:00
Olivier Bertrand
f3e7e50d9a - Compile protect against not fully implemented optione XMSG and NEWMSG
modified:
  storage/connect/global.h

- Commit typo error
modified:
  storage/connect/tabmul.cpp*
2014-11-08 16:44:52 +01:00
Rich Prohaska
f127e2120c DB-757 compute cardinality when alter table analyze partition is run 2014-11-08 10:36:33 -05:00
Olivier Bertrand
2c6839ff97 - fix typo error
modified:
  storage/connect/tabmul.cpp
2014-11-08 16:29:16 +01:00
Rich Prohaska
695ce3ad29 DB-756 set cardinality data for partitioned tokudb tables 2014-11-08 08:59:55 -05:00
Olivier Bertrand
bd4814328c - Calculate next position in filamap without assuming ENDING option is true.
modified:
  storage/connect/filamap.cpp

- ftell error: indicate in the error msg that is can be due to wrong ENDING value.
  filamtxt.cpp (MDEV-7030)
modified:
  storage/connect/filamtxt.cpp

- Change STRING according to Alexander Barkov remarks.
  Suppress the wrong Strz function. The unconditional function strz is no more
  used for s->db and s->table_name because they are zero terminated.
modified:
  storage/connect/ha_connect.cc
  storage/connect/xobject.cpp

- Change version number
modified:
  storage/connect/filamap.cpp

- Change PATH_MAX to FN_REFLEN (MDEV-7036)
modified:
  storage/connect/os.h
  storage/connect/tabmul.cpp

- Fix bug by adding a void argument for OP_NOT in Makefilter.
modified:
  storage/connect/filter.cpp

- Begin implementing XMSG style
  Two new system variables are defined:
  msg_lang ENUM session
  errmsg_dir_path STR global readonly
  This is a work in progress.
modified:
  storage/connect/ha_connect.cc
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/rcmsg.c
  storage/connect/resource.h
2014-11-08 13:35:03 +01:00
Jan Lindström
a03dd94be8 MDEV-6936: Buffer pool list scan optimization
Merged Facebook commit 617aef9f911d825e9053f3d611d0389e02031225
authored by Inaam Rana to InnoDB storage engine (not XtraDB)
from https://github.com/facebook/mysql-5.6

WL#7047 - Optimize buffer pool list scans and related batch processing

Reduce excessive scanning of pages when doing flush list batches. The
fix is to introduce the concept of "Hazard Pointer", this reduces the
time complexity of the scan from O(n*n) to O.

The concept of hazard pointer is reversed in this work. Academically
hazard pointer is a pointer that the thread working on it will declar
such and as long as that thread is not done no other thread is allowe
do anything with it.

In this WL we declare the pointer as a hazard pointer and then if any
thread attempts to work on it, it is allowed to do so but it has to a
the hazard pointer to the next valid value. We use hazard pointer sol
reverse traversal of lists within a buffer pool instance.

Add an event to control the background flush thread. The background f
thread wait has been converted to an os event timed wait so that it c
signalled by threads that want to kick start a background flush when
buffer pool is running low on free/dirty pages.
2014-11-06 13:17:11 +02:00
Rich Prohaska
c14fdb70b1 DB-754 include my_config.h first for mariadb 5.5.40 2014-11-05 11:24:27 -05:00
Rich Prohaska
7adf64d857 DB-730 build tokudb without XA 2014-11-05 04:15:43 -05:00
Jan Lindström
84de277099 Fix error message output if posix_fallocate (trim) is not successfull. 2014-11-05 09:18:47 +02:00
Jan Lindström
8b1b62dd8f Fix compiler failure on Windows. 2014-11-04 15:41:39 +02:00
Alexander Barkov
8e27845bb0 A follow up fix for MDEV-5528
(forgot to do "git add" for two files in the previous commit for MDEV-5528)
2014-11-04 15:02:49 +04:00
Jan Lindström
251fa7ffc5 Fix error on trim operation alligment. Furthermore, make sure that
we do not return simulated out of file space on read operation,
that would cause crash.
2014-11-04 12:26:48 +02:00
Alexander Barkov
43f185e171 MDEV-5528 Command line variable to choose MariaDB-5.3 vs MySQL-5.6 temporal data formats 2014-11-03 21:45:06 +04:00
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
Jan Lindström
cb37c55768 MDEV-6929: Port Facebook Prefix Index Queries Optimization
Merge Facebook commit 154c579b828a60722a7d9477fc61868c07453d08
and e8f0052f9b112dc786bf9b957ed5b16a5749f7fd authored
by Steaphan Greene from https://github.com/facebook/mysql-5.6

Optimize prefix index queries to skip cluster index lookup when possible.

Currently InnoDB will always fetch the clustered index (primary key
index) for all prefix columns in an index, even when the value of a
particular record is smaller than the prefix length. This change
optimizes that case to use the record from the secondary index and avoid
the extra lookup.

Also adds two status vars that track how effective this is:

innodb_secondary_index_triggered_cluster_reads:
Times secondary index lookup triggered cluster lookup.

innodb_secondary_index_triggered_cluster_reads_avoided:
Times prefix optimization avoided triggering cluster lookup.
2014-11-03 11:18:52 +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