Commit graph

179990 commits

Author SHA1 Message Date
Eugene Kosov
0cdc1164dc SQL, IB: various refactoring [#337] 2017-11-27 15:07:32 +03:00
Marko Mäkelä
4dd8736c15 Cleanup: removed unused variable in sql_yacc 2017-11-27 15:07:32 +03:00
Aleksey Midenkov
6e0b2c7fe0 System Versioning 1.0pre2
Merge branch '10.3' into trunk
2017-11-23 19:41:44 +03:00
Aleksey Midenkov
cbe93291e4 SQL,IB: add auto_inc copy mode fix [#347]
Related to #212.

Extra update of sys_trx_start removed [#87].
2017-11-23 18:31:55 +03:00
Marko Mäkelä
b612f3baa2 Tests: more fine-grained TRT check 2017-11-23 17:44:47 +03:00
Aleksey Midenkov
5aae304fa0 SQL: low timer resolution hack for THD::start_time [#307]
Windows platform is suffered with this problem.
2017-11-23 17:44:47 +03:00
Aleksey Midenkov
3d51315912 Tests: disabled DDL survival tests [#196] 2017-11-23 17:44:39 +03:00
Marko Mäkelä
1773116fe0 Use ST_AsText() to get textual result 2017-11-23 15:02:26 +02:00
Sergey Vojtovich
84ee7a1000 Less code to depend on ut_crc32_init() 2017-11-23 15:55:51 +04:00
Sergey Vojtovich
aaf5ee85f3 Removed HW acceleration for big endian checksum
Big endian checksum is needed to workaround 10+ years old bug, where checksum
was calculated incorrectly on big endian hardware. We can still checksum such
tablespaces using software implementation of CRC32.
2017-11-23 15:55:51 +04:00
Sergey Vojtovich
62ce8ce75f Removed ut_crc32_byte_by_byte: never used 2017-11-23 15:55:51 +04:00
Monty
e69466d023 Improve performance of heap tables
- make hp_mask an inline function (short and called 16 times)
- Simplify hp_search. Biggest benefit is for doing key lookup
  without a matching row. Matching rows may be a bit slower, but
  is offseted by having hp_mask inlined.
2017-11-23 10:04:12 +02:00
Marko Mäkelä
d8ada08152 MDEV-14477 InnoDB update_time is wrongly updated after partial rollback or internal COMMIT
The non-persistent UPDATE_TIME for InnoDB tables was not being
updated consistently at transaction commit.

If a transaction is partly rolled back so that in the end it will
not modify a table that it intended to modify, the update_time will
be updated nevertheless. This will also happen when InnoDB fails
to write an undo log record for the intended modification.

If a transaction is committed internally in InnoDB, instead of
being committed from the SQL interface, then the trx_t::mod_tables
will not be applied to the update_time of the tables.

trx_t::mod_tables: Replace the std::set<dict_table_t*>
with std::map<dict_table_t*,undo_no_t>, so that the very first
modification within the transaction is identified.

trx_undo_report_row_operation(): Update mod_tables for every operation
after the undo log record was successfully written.

trx_rollback_to_savepoint_low(): After partial rollback, erase from
trx_t::mod_tables any tables for which all changes were rolled back.

trx_commit_in_memory(): Tighten some assertions and simplify conditions.
Invoke trx_update_mod_tables_timestamp() if persistent tables were
affected.

trx_commit_for_mysql(): Remove the call to
trx_update_mod_tables_timestamp(), as it is now invoked at the
lower level, in trx_commit_in_memory().

trx_rollback_finish(): Clear mod_tables before invoking trx_commit(),
because the trx_commit_in_memory() would otherwise wrongly process
mod_tables after a full ROLLBACK.
2017-11-23 09:54:24 +02:00
Marko Mäkelä
fda4fabe9c Correct a comment 2017-11-23 09:54:24 +02:00
Michael Widenius
8a24be6e74 Less dependencies in include files 2017-11-23 09:49:45 +02:00
Michael Widenius
166056f744 Remove not used mem_root argument from build_clone(), get_copy() and get_item_copy()
TODO:
- Make get_thd_memroot() inline
  - To do this, we need to reduce dependence of include files, especially
    so that sql_class.h is not depending in item.h
2017-11-23 09:49:45 +02:00
Aleksey Midenkov
5994b6873c Daemon: TRT check doesn't abort [fixes #335]
Added schema check logging messages.
2017-11-22 22:20:14 +03:00
Eugene Kosov
0b40a981de Scripts: versioning plugin in deb package [closes #332] 2017-11-22 15:31:04 +03:00
Eugene Kosov
91ba4f04be SQL: prohibit column conversion to system fields for non-empty table [fixes #310] 2017-11-22 15:31:03 +03:00
Aleksey Midenkov
00b98264a8 IB: removed alloc from row_ins_set_tuple_col_8() 2017-11-22 15:31:03 +03:00
Aleksey Midenkov
4ecb38d7c9 SQL: variadic argument type fix [#307] 2017-11-22 15:31:03 +03:00
Aleksey Midenkov
b0c44d2874 Misc: Debian patch for db.Delete_versioning_rows_priv 2017-11-22 15:31:03 +03:00
Sergey Vojtovich
e44107c4d9 Tencent contributions added 2017-11-22 14:39:21 +04:00
Aleksey Midenkov
2b16681ee0 SQL, IB: single check of vers_update_trt [#305]
Warnings cleanup in vtmd.cc
Stale thd->vers_update_trt after rollback to savepoint fix
2017-11-21 21:54:11 +03:00
Eugene Kosov
c31aa75dee SQL: open TRT only after versioned write [#305][fixes #321] 2017-11-21 21:54:11 +03:00
Aleksey Midenkov
9ee3ca8d84 Tests: reverted original results [#322]
main.shm (Windows)
main.named_pipe (Windows)
tokudb_parts.partition_syntax_tokudb
2017-11-21 21:54:11 +03:00
Aleksey Midenkov
e83b54cb34 Tests: disabled tests failing in 10.3 [#302]
main.tc_heuristic_recover
main.func_regexp_pcre
main.mysql_client_test
main.mysql_client_test_comp
main.mysql_client_test_nonblock
encryption.innodb_encrypt_log_corruption
innodb.group_commit_binlog_pos
innodb.group_commit_binlog_pos_no_optimize_thread
innodb.innodb-alter-tempfile
innodb.log_file
innodb.log_file_name
innodb.log_file_name_debug
innodb.log_file_size
innodb.log_corruption
innodb_gis.rtree_compress
innodb_gis.rtree_compress2
innodb_gis.rtree_purge
innodb_gis.rtree_split
mariabackup.huge_lsn
rpl.rpl_semi_sync_event_after_sync
rpl.rpl_semi_sync_after_sync_row
rpl.rpl_semi_sync_after_sync
2017-11-21 21:54:11 +03:00
Aleksey Midenkov
64d9b82825 Tests: TRT-related results [#305] 2017-11-21 21:54:10 +03:00
Aleksey Midenkov
4f386579f8 Tests: renamed to mariabackup.system_versioning [#307]
Removed needless combinations.
2017-11-21 21:54:10 +03:00
Otto Kekäläinen
feec04f29d Travis-CI: clean up cruft and add more in-line commments
This will make these files easier to maintain in the future.
2017-11-21 13:07:26 +02:00
Otto Kekäläinen
325c9ce9b3 Travis-CI: slim down the deb build so it passes in the 50 minute time limit
The Debian packaging build was failing on Travis-CI due to timeouts.
These changes make it faster by skipping less relevant parts of the build,
like the test suite, RocksDB, TokuDB and Mroonga.

Also fix the usage of the 'make -j' flag to not have any spaces as
recommended in an example in the Debian policy.
2017-11-21 13:07:26 +02:00
Otto Kekäläinen
b9e029d706 Travis-CI: make deb job visible on the parallel jobs list 2017-11-21 13:07:26 +02:00
bigs
c029eae02d Spelling fix 2017-11-19 09:49:08 +08:00
Vladislav Vaintroub
e0a00c5a2f MDEV-14412 Support TCP keepalive options
Based on pull request by Oleg Obleukhov
https://github.com/MariaDB/server/pull/400
2017-11-17 21:40:20 +00:00
Vladislav Vaintroub
faee08c10c MDEV-14114 Intoduce variable for binlog io cache size. 2017-11-17 19:28:39 +00:00
Eugene Kosov
75cf92fac9 Tests: regenerate embedded [#302]
sys_vars.sysvars_server_embedded
funcs_1.is_key_column_usage_embedded
funcs_1.is_statistics_mysql_embedded
funcs_1.is_table_constraints_mysql_embedded
funcs_1.is_tables_mysql_embedded
funcs_1.is_columns_mysql_embedded
innodb.monitor
2017-11-17 14:28:45 +03:00
Aleksey Midenkov
a4439fef96 SQL: don't update TRT when altered [#305, #302]
Tests affected: main.mysqlcheck
2017-11-17 14:28:45 +03:00
Eugene Kosov
ecf259cacf SQL: main.flush_read_lock fix [#302] 2017-11-17 11:51:43 +03:00
Aleksey Midenkov
f9714ef6f4 SQL: open TRT only after versioned write [#305] 2017-11-17 11:51:42 +03:00
Aleksey Midenkov
a1e5b4a3c8 Tests: table_flags result [#302] 2017-11-17 11:51:42 +03:00
Aleksey Midenkov
6d78496aee Tests: disabled TRT for some IB tests [#302]
As they fail on TRT schema check:
innodb.log_file
innodb.table_flags
innodb.row_format_redundant
encryption.innodb_encrypt_log_corruption
encryption.innodb_first_page
2017-11-17 11:51:41 +03:00
Aleksey Midenkov
f39df037f6 Daemon: TRT check respects --transaction-registry [#302] 2017-11-17 11:51:41 +03:00
Aleksey Midenkov
3fc943cd87 Tests: suppressions for innodb_force_recovery, ibuf_not_empty [#302] 2017-11-17 11:51:40 +03:00
Eugene Kosov
d83fea9208 IB: stack corruption on windows [#302] 2017-11-17 11:51:40 +03:00
Aleksey Midenkov
af88c66252 SQL,Client: mysqldump for TRT fix [#302]
Test results:
main.
mysqldump
mysqldump-max
mysqld--help
openssl_1
2017-11-17 11:50:40 +03:00
Aleksey Midenkov
0a4aa47ac5 Revert "Scripts: check PLUGIN_ROCKSDB to skip cloning it"
This reverts commit a86d6bad54.
2017-11-17 11:25:54 +03:00
Sergei Golubchik
870f016356 don't git submodule update from rocksdb/CMakeLists.txt (#492)
we now have cmake/submodules.cmake that updates all submodules
2017-11-17 11:25:53 +03:00
Aleksey Midenkov
29d25e0522 IB: row_ins 'trx' arg reverted [#305] 2017-11-17 11:25:53 +03:00
Eugene Kosov
97540a5e00 Tests: regenerated encryption.innodb_lotoftables [#302] 2017-11-17 11:25:52 +03:00
Aleksey Midenkov
9980886cab Revert "SQL: 1-row partition rotation fix [fixes #260]"
Related to IB partitioning only.
This reverts commit 7e764ae188.
2017-11-17 11:25:52 +03:00