Commit graph

18800 commits

Author SHA1 Message Date
Olivier Bertrand
da3c3b903f Fix MDEV-12973: Blank columns querying SQL Server
Added support of NCHAR, NVARCHAR an ROWID JDBC types.
  modified:   storage/connect/jdbconn.cpp
2017-06-08 18:01:47 +02:00
Marko Mäkelä
2d8fdfbde5 Merge 10.1 into 10.2
Replace have_innodb_zip.inc with innodb_page_size_small.inc.
2017-06-08 12:45:08 +03:00
Marko Mäkelä
fbeb9489cd Cleanup of MDEV-12600: crash during install_db with innodb_page_size=32K and ibdata1=3M
The doublewrite buffer pages must fit in the first InnoDB system
tablespace data file. The checks that were added in the initial patch
(commit 112b21da37)
were at too high level and did not cover all cases.

innodb.log_data_file_size: Test all innodb_page_size combinations.

fsp_header_init(): Never return an error. Move the change buffer creation
to the only caller that needs to do it.

btr_create(): Clean up the logic. Remove the error log messages.

buf_dblwr_create(): Try to return an error on non-fatal failure.
Check that the first data file is big enough for creating the
doublewrite buffers.

buf_dblwr_process(): Check if the doublewrite buffer is available.
Display the message only if it is available.

recv_recovery_from_checkpoint_start_func(): Remove a redundant message
about FIL_PAGE_FILE_FLUSH_LSN mismatch when crash recovery has already
been initiated.

fil_report_invalid_page_access(): Simplify the message.

fseg_create_general(): Do not emit messages to the error log.

innobase_init(): Revert the changes.

trx_rseg_create(): Refactor (no functional change).
2017-06-08 11:55:47 +03:00
Jan Lindström
d03abc71a4 MDEV-12609: Allow suppression of InnoDB log messages about reserving extents
Removed this output.
2017-06-08 10:34:10 +03:00
Marko Mäkelä
68890fe7d4 Revert part of MDEV-12113
commit 1af8bf39ca added unnecessary
calls to fil_write_flushed_lsn() during redo log resizing at
InnoDB server startup.

Because fil_write_flushed_lsn() is neither redo-logged nor doublewrite
buffered, the call is risky and should be avoided, because if the
server killed during the write call, the whole InnoDB instance can
become inaccessible (corrupted page 0 in the system tablespace).

In the best case, this call might prevent a diagnostic message from
being emitted to the error log on the next startup.
2017-06-08 09:04:28 +03:00
Olivier Bertrand
5b534a6889 Fix MDEV-12969. Crash during inserting binary value in Connect table.
Seems due to making an index on unsigned integer that triggers an
un-handled THROW.
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/xindex.cpp
2017-06-06 17:28:26 +02:00
Marko Mäkelä
6439238c53 Correct a merge error 2017-06-06 14:57:20 +03:00
Marko Mäkelä
bb1f41423a InnoDB: Remove thread_mutex
Use my_atomic for updating os_thread_count.

os_thread_init(): Remove.
2017-06-06 12:09:49 +03:00
Marko Mäkelä
86927cc712 Remove traces of multiple InnoDB redo logs
InnoDB never supported more than one copy of a redo log.
There were provisions to do that. For Mariabackup, let us clean up
this code.

log_sys_init(): Renamed from log_init().

log_set_capacity(): Renamed from log_calc_max_ages().

log_init(): Renamed from log_group_init(). Remove the parameters
id, space_id. Let the caller invoke log_set_capacity() when needed.

log_group_t: Remove id, space_id, log_groups.

log_t: Replace log_groups with a single log.

recv_find_max_checkpoint(): Declare globally. Remove the first parameter.

xtrabackup_choose_lsn_offset(): Remove (dead code).
2017-06-06 12:06:41 +03:00
Marko Mäkelä
ed2976caf0 Remove an orphan declaration lock_rec_enqueue_waiting()
MySQL WL#6835 replaced the function lock_rec_enqueue_waiting()
with RecLock::enqueue() and later RecLock::add_to_waitq().
2017-06-06 12:05:28 +03:00
Marko Mäkelä
da9c30a7b0 Remove unused declarations 2017-06-06 12:04:58 +03:00
Marko Mäkelä
6e0e5eefbc Fix some printf format type mismatch 2017-06-06 12:04:29 +03:00
Marko Mäkelä
30df297c2f Merge 10.0 into 10.1
Rewrite the test encryption.innodb-checksum-algorithm not to
require any restarts or re-bootstrapping, and to cover all
innodb_page_size combinations.

Test innodb.101_compatibility with all innodb_page_size combinations.
2017-06-06 10:59:54 +03:00
Marko Mäkelä
151daaf480 MDEV-12994 innodb_fast_shutdown=0 skips change buffer merge; fast shutdown does it
srv_master_thread(): Pass the correct parameter to srv_shutdown().
This bug was introduced in MDEV-12052, and it affects the MariaDB 10.1.24
release.
2017-06-05 15:16:15 +03:00
Olivier Bertrand
c746b768ad Tabname defaults to the table name for MONGO tables
modified:   storage/connect/ha_connect.cc
2017-06-03 23:33:51 +02:00
Elena Stepanova
36e020a5d6 Adjust storage_engine suite according to server changes in 10.2 2017-06-03 02:47:52 +03:00
Jan Lindström
112b21da37 MDEV-12600: crash during install_db with innodb_page_size=32K and ibdata1=3M;
Problem was that all doublewrite buffer pages must fit to first
system datafile.

Ported commit 27a34df7882b1f8ed283f22bf83e8bfc523cbfde
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Aug 12 15:55:19 2015 +0800

    BUG#21551464 - SEGFAULT WHILE INITIALIZING DATABASE WHEN
    INNODB_DATA_FILE SIZE IS SMALL

To 10.1 (with extended error printout).

btr_create(): If ibuf header page allocation fails report error and
return FIL_NULL. Similarly if root page allocation fails return a error.

dict_build_table_def_step: If fsp_header_init fails return
error code.

fsp_header_init: returns true if header initialization succeeds
and false if not.

fseg_create_general: report error if segment or page allocation fails.

innobase_init: If first datafile is smaller than 3M and could not
contain all doublewrite buffer pages report error and fail to
initialize InnoDB plugin.

row_truncate_table_for_mysql: report error if fsp header init
fails.

srv_init_abort: New function to report database initialization errors.

srv_undo_tablespaces_init, innobase_start_or_create_for_mysql: If
database initialization fails report error and abort.

trx_rseg_create: If segment header creation fails return.
2017-06-01 14:07:48 +03:00
Jan Lindström
6b6987154a MDEV-12114: install_db shows corruption for rest encryption and innodb_checksum_algorithm=strict_none
Problem was that checksum check resulted false positives that page is
both not encrypted and encryted when checksum_algorithm was
strict_none.

Encrypton checksum will use only crc32 regardless of setting.

buf_zip_decompress: If compression fails report a error message
containing the space name if available (not available during import).
And note if space could be encrypted.

buf_page_get_gen: Do not assert if decompression fails,
instead unfix the page and return NULL to upper layer.

fil_crypt_calculate_checksum: Use only crc32 method.

fil_space_verify_crypt_checksum: Here we need to check
crc32, innodb and none method for old datafiles.

fil_space_release_for_io: Allow null space.

encryption.innodb-compressed-blob is now run with crc32 and none
combinations.

Note that with none and strict_none method there is not really
a way to detect page corruptions and page corruptions after
decrypting the page with incorrect key.

New test innodb-checksum-algorithm to test different checksum
algorithms with encrypted, row compressed and page compressed
tables.
2017-06-01 14:07:48 +03:00
Jan Lindström
1af8bf39ca MDEV-12113: install_db shows corruption for rest encryption with innodb_data_file_path=ibdata1:3M;
Problem was that FIL_PAGE_FLUSH_LSN_OR_KEY_VERSION field that for
encrypted pages even in system datafiles should contain key_version
except very first page (0:0) is after encryption overwritten with
flush lsn.

Ported WL#7990 Repurpose FIL_PAGE_FLUSH_LSN to 10.1
The field FIL_PAGE_FLUSH_LSN_OR_KEY_VERSION is consulted during
InnoDB startup.

At startup, InnoDB reads the FIL_PAGE_FLUSH_LSN_OR_KEY_VERSION
from the first page of each file in the InnoDB system tablespace.
If there are multiple files, the minimum and maximum LSN can differ.
These numbers are passed to InnoDB startup.

Having the number in other files than the first file of the InnoDB
system tablespace is not providing much additional value. It is
conflicting with other use of the field, such as on InnoDB R-tree
index pages and encryption key_version.

This worklog will stop writing FIL_PAGE_FLUSH_LSN_OR_KEY_VERSION to
other files than the first file of the InnoDB system tablespace
(page number 0:0) when system tablespace is encrypted. If tablespace
is not encrypted we continue writing FIL_PAGE_FLUSH_LSN_OR_KEY_VERSION
to all first pages of system tablespace to avoid unnecessary
warnings on downgrade.

open_or_create_data_files(): pass only one flushed_lsn parameter

xb_load_tablespaces(): pass only one flushed_lsn parameter.

buf_page_create(): Improve comment about where
FIL_PAGE_FIL_FLUSH_LSN_OR_KEY_VERSION is set.

fil_write_flushed_lsn(): A new function, merged from
fil_write_lsn_and_arch_no_to_file() and
fil_write_flushed_lsn_to_data_files().
Only write to the first page of the system tablespace (page 0:0)
if tablespace is encrypted, or write all first pages of system
tablespace and invoke fil_flush_file_spaces(FIL_TYPE_TABLESPACE)
afterwards.

fil_read_first_page(): read flush_lsn and crypt_data only from
first datafile.

fil_open_single_table_tablespace(): Remove output of LSN, because it
was only valid for the system tablespace and the undo tablespaces, not
user tablespaces.

fil_validate_single_table_tablespace(): Remove output of LSN.

checkpoint_now_set(): Use fil_write_flushed_lsn and output
a error if operation fails.

Remove lsn variable from fsp_open_info.

recv_recovery_from_checkpoint_start(): Remove unnecessary second
flush_lsn parameter.

log_empty_and_mark_files_at_shutdown(): Use fil_writte_flushed_lsn
and output error if it fails.

open_or_create_data_files(): Pass only one flushed_lsn variable.
2017-06-01 14:07:48 +03:00
Olivier Bertrand
aef1493224 Protect Info function against NULL g pointer
modified:   storage/connect/ha_connect.cc

Update failing test
  modified:   storage/connect/mysql-test/connect/t/secure_file_priv.test
2017-06-01 10:14:03 +02:00
Sachin Setiya
92209ac6f6 Merge tag 'mariadb-10.0.31' into 10.0-galera
Signed-off-by: Sachin Setiya <sachin.setiya@mariadb.com>
2017-05-30 15:28:52 +05:30
Olivier Bertrand
de1a9b172a Add table option FILTER used by Mongo and Json tables.
modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mongofam.cpp
  modified:   storage/connect/mycat.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  modified:   storage/connect/tabmgo.cpp
  modified:   storage/connect/tabmgo.h

Fix a regression bug in MongoFam
(all = true only when no Options)
  modified:   storage/connect/mongofam.cpp

Fix a regression bug in JsonCol
(in JSONCOL::GetJpath)
  modified:   storage/connect/tabjson.cpp
2017-05-29 19:46:59 +02:00
Marko Mäkelä
22e5e64c0d MDEV-11623 merge fix: Use the correct flags in an error message 2017-05-29 14:37:24 +03:00
Marko Mäkelä
c2ef0bb6ce Merge 5.5 into 10.0 2017-05-29 13:15:36 +03:00
Marko Mäkelä
2cb94aa1b7 MDEV-11626 innodb.innodb-change-buffer-recovery fails for xtradb
buf_page_get_gen(): Remove the error log messages about
page flushing and eviction when
innodb_change_buffering_debug=1 is in effect.
2017-05-29 13:07:23 +03:00
Daniel Black
b53f6b9768 MDEV-12924: re-add numa to innodb
Commit 3a3b3d8ba8 overly purged the numa checks.

Re-add this.

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2017-05-29 15:32:37 +10:00
Olivier Bertrand
cbdfdfc829 Add CHECK TABLE to the list of accepted commands.
This is to avoid an error to be reported when executing this command on a CONNECT table.
  modified:   storage/connect/ha_connect.cc
2017-05-28 12:43:54 +02:00
Marko Mäkelä
73deafbc17 Remove dict_index_t::is_ngram
When MySQL 5.7 introduced fulltext parser plugins to InnoDB,
it hard-coded the plugin name "ngram" to mean something special.
Because -fsanitize=undefined was issuing warnings for the
assignment in row_merge_create_index() that the value is out of
range for Boolean, we remove this code that was not intended to
be used in MariaDB 10.2.

fts_check_token(): Remove the special logic for N-gram tokens.
2017-05-26 22:45:54 +03:00
Marko Mäkelä
c0dec39da0 fts_is_charset_cjk(): Do not call strcmp()
Remove a bogus reference to gb18030_chinese_ci, which was introduced
in MySQL 5.7. It is roughly equivalent to utf8mb4_unicode_ci, just
using a different internal encoding, and different collation.
2017-05-26 22:45:54 +03:00
Marko Mäkelä
e54d521b66 Remove some noise from ib::fatal() and ib::fatal_or_error()
Avoid the redundant output from ut_dbg_assertion_failed by directly
invoking abort().
2017-05-26 22:45:54 +03:00
Marko Mäkelä
2fd840011c Remove ut_allocator::m_oom_fatal
ut_allocator: Move m_oom_fatal into a template parameter oom_fatal,
to reduce the data and code size.
2017-05-26 22:45:53 +03:00
Marko Mäkelä
3b68515bf2 Actually enable UNIV_DEBUG_VALGRIND 2017-05-26 22:45:53 +03:00
Marko Mäkelä
e32dc40c50 Remove an unused variable 2017-05-26 22:45:53 +03:00
Marko Mäkelä
4114d1d452 Fix WITH_INNODB_EXTRA_DEBUG 2017-05-26 22:45:53 +03:00
Marko Mäkelä
8c81f24d1b Merge 10.1 into 10.2 2017-05-26 22:45:46 +03:00
Sergei Golubchik
f42e08f951 Merge branch '10.0-galera' into 10.1 2017-05-26 19:21:19 +02:00
Marko Mäkelä
808f18c748 MDEV-12926 encryption.innodb_onlinealter_encryption, encryption.innodb-bad-key-change failed in buildbot with valgrind
row_merge_write(): Pass the correct (possibly encrypted) buffer
to os_file_write_int_fd().

This bug was introduced in commit 65e1399e64
which included a commit to merge changes from MySQL 5.6.36 to
MariaDB Server 10.0.
2017-05-26 19:13:21 +03:00
Olivier Bertrand
f5dfd9f6cd Use english error msg in xml.result 2017-05-26 14:36:15 +02:00
Olivier Bertrand
b72c4e50d6 Missing quote in infoschema2-9739.result 2017-05-26 14:29:04 +02:00
Marko Mäkelä
2f29fc3c1c 10.1 additions for MDEV-12052 Shutdown crash presumably due to master thread activity
btr_defragment_thread(): Create the thread in the same place as other
threads. Do not invoke btr_defragment_shutdown(), because
row_drop_tables_for_mysql_in_background() in the master thread can still
keep invoking btr_defragment_remove_table().

logs_empty_and_mark_files_at_shutdown(): Wait for btr_defragment_thread()
to exit.

innobase_start_or_create_for_mysql(), innobase_shutdown_for_mysql():
Skip encryption and scrubbing in innodb_read_only_mode.

srv_export_innodb_status(): Do not export encryption or scrubbing
statistics in innodb_read_only mode, because the threads will not
be running.
2017-05-26 15:19:40 +03:00
Marko Mäkelä
4abc2dd0c7 Merge 10.0 to 10.1 2017-05-26 15:11:23 +03:00
Marko Mäkelä
449a88e1c6 MDEV-12052 Shutdown crash presumably due to master thread activity
InnoDB shutdown assumes that once the server has entered
SRV_SHUTDOWN_FLUSH_PHASE, no change to persistent data is allowed.
It was possible for the master thread to wake up while shutdown
is executing in SRV_SHUTDOWN_FLUSH_PHASE or
even in SRV_SHUTDOWN_LAST_PHASE.

We do not yet know if further crashes at shutdown are possible.
Also, we do not know if all the observed crashes could be explained
by the race conditions that we are now fixing.

srv_shutdown_print_master_pending(): Remove a redundant ut_time() call.

srv_shutdown(): Renamed from srv_master_do_shutdown_tasks().

srv_master_thread(): Do not resume after shutdown has been initiated.
2017-05-26 15:08:35 +03:00
Olivier Bertrand
bffa06c7fa Try to fix failing tests on LINUX
modified:   storage/connect/mysql-test/connect/r/alter_xml2.result
  modified:   storage/connect/mysql-test/connect/r/infoschema2-9739.result
  modified:   storage/connect/mysql-test/connect/r/xml2_grant.result
  modified:   storage/connect/mysql-test/connect/r/xml2_mdev5261.result
  modified:   storage/connect/mysql-test/connect/r/xml_mdev5261.result
  modified:   storage/connect/mysql-test/connect/t/xml2_mdev5261.test
  modified:   storage/connect/mysql-test/connect/t/xml_mdev5261.test
2017-05-26 11:31:36 +02:00
Olivier Bertrand
e58620cd63 Try to fix failing tests
modified:   storage/connect/mysql-test/connect/r/alter_xml2.result
  modified:   storage/connect/mysql-test/connect/r/infoschema2-9739.result
  modified:   storage/connect/mysql-test/connect/r/xml2_mdev5261.result
2017-05-25 23:51:57 +02:00
Olivier Bertrand
7f02ab70b3 Recognize xmlsup option case insensitive
modified:   storage/connect/ha_connect.cc

Update tests to reflect recent changes, in particular new Jpath syntax
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mysql-test/connect/r/alter_xml.result
  modified:   storage/connect/mysql-test/connect/r/bin.result
  modified:   storage/connect/mysql-test/connect/r/dir.result
  modified:   storage/connect/mysql-test/connect/r/grant.result
  modified:   storage/connect/mysql-test/connect/r/grant2.result
  modified:   storage/connect/mysql-test/connect/r/infoschema-9739.result
  modified:   storage/connect/mysql-test/connect/r/ini_grant.result
  modified:   storage/connect/mysql-test/connect/r/jdbc_new.result
  modified:   storage/connect/mysql-test/connect/r/mysql_discovery.result
  modified:   storage/connect/mysql-test/connect/r/mysql_exec.result
  modified:   storage/connect/mysql-test/connect/r/mysql_grant.result
  modified:   storage/connect/mysql-test/connect/r/mysql_new.result
  modified:   storage/connect/mysql-test/connect/r/unsigned.result
  modified:   storage/connect/mysql-test/connect/r/upd.result
  modified:   storage/connect/mysql-test/connect/r/xml.result
  modified:   storage/connect/mysql-test/connect/r/xml_grant.result
  modified:   storage/connect/mysql-test/connect/r/xml_html.result
  modified:   storage/connect/mysql-test/connect/r/xml_mdev5261.result
  modified:   storage/connect/mysql-test/connect/r/xml_mult.result
  modified:   storage/connect/mysql-test/connect/r/xml_zip.result
  modified:   storage/connect/mysql-test/connect/t/alter_xml.test
  modified:   storage/connect/mysql-test/connect/t/dir.test
  modified:   storage/connect/mysql-test/connect/t/infoschema-9739.test
  modified:   storage/connect/mysql-test/connect/t/jdbc_new.test
  modified:   storage/connect/mysql-test/connect/t/mysql_exec.test
  modified:   storage/connect/mysql-test/connect/t/mysql_new.test
  modified:   storage/connect/mysql-test/connect/t/unsigned.test
  modified:   storage/connect/mysql-test/connect/t/upd.test
  modified:   storage/connect/mysql-test/connect/t/xml.test
  modified:   storage/connect/mysql-test/connect/t/xml_grant.test
  modified:   storage/connect/mysql-test/connect/t/xml_html.test
  modified:   storage/connect/mysql-test/connect/t/xml_mdev5261.test
  modified:   storage/connect/mysql-test/connect/t/xml_mult.test
  modified:   storage/connect/mysql-test/connect/t/xml_zip.test
2017-05-25 21:43:11 +02:00
Sergei Golubchik
fc89f5fd40 MDEV-11335 Changing delay_key_write option for MyISAM table should not copy rows
Don't rebuild the table for ALTER TABLE delay_key_write changes.

After that, delay_key_write value in .frm may differ from the
value in .MYI. We'll do what .frm says.
2017-05-24 11:59:04 +02:00
Sergei Golubchik
fdc1fd6f49 MDEV-11311 Create federated table does not work as expected.
FederatedX wasn't discovering prefix keys correctly.
Of course, as it had the HA_NO_PREFIX_CHAR_KEYS table_flag set...
2017-05-24 11:59:03 +02:00
Olivier Bertrand
46cf1a0db3 Fix bug: Discovery of JSON table fails in DEBUG mode
when NO MONGO support. (tdb->Uri is uninitialized)
  modified:   storage/connect/tabjson.cpp
2017-05-23 23:02:48 +02:00
Olivier Bertrand
3e36eb230b Fix gcc compiler warnings reported by Sergei
modified:   storage/connect/array.cpp
  modified:   storage/connect/array.h
  modified:   storage/connect/blkfil.cpp
  modified:   storage/connect/blkfil.h
  modified:   storage/connect/block.h
  modified:   storage/connect/colblk.cpp
  modified:   storage/connect/colblk.h
  modified:   storage/connect/csort.h
  modified:   storage/connect/filamvct.cpp
  modified:   storage/connect/filter.cpp
  modified:   storage/connect/filter.h
  modified:   storage/connect/global.h
  modified:   storage/connect/json.h
  modified:   storage/connect/plgdbsem.h
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/tabcol.cpp
  modified:   storage/connect/tabcol.h
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/table.cpp
  modified:   storage/connect/tabodbc.cpp
  modified:   storage/connect/tabodbc.h
  modified:   storage/connect/tabsys.h
  modified:   storage/connect/tabxml.h
  modified:   storage/connect/value.cpp
  modified:   storage/connect/value.h
  modified:   storage/connect/xindex.cpp
  modified:   storage/connect/xindex.h
  modified:   storage/connect/xobject.cpp
  modified:   storage/connect/xobject.h
  modified:   storage/connect/xtable.h

Set values as nullable when retrieving catalog info
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/mysql-test/connect/r/odbc_oracle.result
  modified:   storage/connect/odbconn.cpp

Change format of Jpath
  modified:   storage/connect/json.cpp
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/mysql-test/connect/r/json.result
  modified:   storage/connect/mysql-test/connect/r/json_udf.result
  modified:   storage/connect/mysql-test/connect/r/json_udf_bin.result
  modified:   storage/connect/mysql-test/connect/r/zip.result
  modified:   storage/connect/mysql-test/connect/t/json.test
  modified:   storage/connect/mysql-test/connect/t/json_udf.test
  modified:   storage/connect/mysql-test/connect/t/json_udf_bin.test
  modified:   storage/connect/mysql-test/connect/t/zip.test
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  modified:   storage/connect/tabmgo.cpp

Change null representation from ??? to <null>
  modified:   storage/connect/json.cpp

Change the name of UDF that are equal to a native JSON function name
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/jsonudf.h
  modified:   storage/connect/mysql-test/connect/t/json_udf.inc
  modified:   storage/connect/mysql-test/connect/t/json_udf2.inc

Fix bug in making JSON project info
  modified:   storage/connect/mongofam.cpp

Fix COMPUTE when one argument is null
  modified:   storage/connect/value.cpp

Value is null only when nullable
  modified:   storage/connect/value.h
2017-05-23 19:35:50 +02:00
Marko Mäkelä
7e0f40b333 MDEV-12625 total_index_blocks is uninitialized in ALTER TABLE…ALGORITHM=INPLACE of small tables
Before MDEV-6812, it did not matter that merge_files[].offset was
uninitialized when no files were created.

This problem was introduced in MDEV-6812. There could be a user-visible
impact that the progress reports spit into the error log are bogus.

row_merge_build_indexes(): Initialize merge_files[i].offset.
2017-05-23 18:37:55 +03:00