Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FB8-262: rpl_slave_tx_isolation fails in 8.0.23 #3

Closed
wants to merge 410 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
410 commits
Select commit Hold shift + click to select a range
f41a0ee
Applying cert validation callback if SSL_CTX is set
maxgeorg Dec 2, 2020
ecee263
Avoid executing the identical statements in the same database
mzait Dec 8, 2020
e659c09
Porting COLUMN_STATISTICS to MySQL 8.0
iRitwik Dec 15, 2020
c1b19d5
Port sql_stats.disk_usage columns
george-reynya Dec 11, 2020
fb7cdf4
Fail MyRocks initialization if rocksdb_wsenv_path is set without wsen…
yizhang82 Dec 18, 2020
4e7c07a
Move os_event definition to separate header file
atish2196 Dec 4, 2020
a77ee17
Memory improvement of os_event struct
atish2196 Dec 4, 2020
1ae1091
Port max_db_connections to track and limit connections per db
george-reynya Dec 15, 2020
42de1a3
Bulk load tmp sst file should end with sst to be more wsenv-friendly
yizhang82 Dec 18, 2020
62339c3
Make rocksdb alter table inplace for changing default column value.
atish2196 Dec 3, 2020
0489dbc
Make InnoDB FSEG_FILLFACTOR dynamic
steaphangreene Sep 16, 2014
8ba8ff8
Enabled rpl_raft_show_raft_logs mtr test case.
Pushapgl Dec 15, 2020
8c5f9db
Enabled rpl_raft_purge_logs MTR test
Pushapgl Dec 15, 2020
f7aeade
Add sorted MRR support for secondary key ref plans
lth Dec 16, 2020
24f57e3
PS-7290: Using RocksDB as a temp table can lead to an assertion on th…
inikep Jan 13, 2021
7727ccf
PS-7167: "slice1.compare.slice2" debug assertion
inikep Jan 14, 2021
9fbb6b7
PS-7499: Improve error log when MyRocks fails with rocksdb_validate_t…
inikep Jan 20, 2021
7543986
Fix SSL memory leak on connection close
Jan 6, 2021
19ed995
Fix rows_read and queries_range stats in bypass
yizhang82 Jan 5, 2021
6a63028
remove local signal_cnt
luqun Jan 10, 2021
0fc7e46
Skip a few tests force exits and causing leaks under asandebug
yizhang82 Jan 9, 2021
063e8d9
Move Connection_handler_manager::dec_connection_count() into .cc file
george-reynya Jan 10, 2021
9c70c67
Add support to Trace Queries for MySQL 8.0.17
Oct 20, 2020
c235329
init master_log name and pos during raft_change_master()
luqun Jan 12, 2021
d150f43
Fix issues with TTL read filtering with no snapshot
lth Jan 8, 2021
11f9d3f
Clean retrieved gtid in rli during raft_reset_slave
luqun Jan 16, 2021
afa85d9
Install extra headers needed for plugins
george-reynya Jan 20, 2021
6fe175c
Re-register new log file after closing to solve heap-use-after-free
luqun Jan 10, 2021
337481e
Add write unprepared testing
lth Aug 15, 2019
e54bd68
Change disable_raft default value to false
luqun Nov 28, 2020
53e256b
register IO_CACHE after commit
luqun Jan 22, 2021
0b5f153
Fixed purge raft logs and purge raft logs before date test case
Pushapgl Jan 20, 2021
e249002
Enabled rpl_raft_auto_purge mtr test case
Pushapgl Jan 26, 2021
8b4bc8d
Add argument to KILL statement to specify the reason why kill happened
Jan 25, 2021
cacc20b
remove hard-code binlog cache length
luqun Jan 19, 2021
ab1c5e8
Fixing issue of plugin staying in INACTIVE state
luqun Jan 19, 2021
846606e
Add rpl_raft_leader_election_simple MTR
luqun Nov 15, 2020
4a4f11e
Wrapping last semi-sync acked pos in std::atomic to avoid locking in …
abhinav04sharma Dec 17, 2020
1e6caf3
Move thd_wait_end() calls after mutex is released
george-reynya Jan 27, 2021
4bb39d5
Fixes replication/compression crash on retry
Feb 11, 2021
febeb7f
Fix compilation issues when BORINGSSL_API_VERSION <= 7
inikep Oct 13, 2021
be3a9ab
Do not allow change master in raft mode
luqun Feb 1, 2021
0470388
Util method to get string representation of listener queue callbacks
luqun Feb 1, 2021
5e790f4
Increasing config change IO_CACHE size to follow actual config change
luqun Feb 1, 2021
6405cee
error line logging only for server startup
luqun Feb 1, 2021
ed4de02
Adding raft binlog event type and another Metadata event sub-type
luqun Jan 27, 2021
95537c3
Add trivial thread pool test
george-reynya Feb 5, 2021
87d842a
Do not count delete markers during distinct key calculation in proper…
lth Feb 3, 2021
8057086
cur_log_ext should be incremented only on reaching consensus
luqun Jan 29, 2021
3a93f6e
Properly adding raft term and index to apply side binlog metadata event
luqun Jan 31, 2021
259ad91
error handling for file rotation flow
luqun Jan 31, 2021
226a6b3
disable semi-sync hooks when raft is enabled
luqun Feb 2, 2021
3224a1a
Port : Support for rpl_wait_for_semi_sync_ack in raft mode
Pushapgl Feb 5, 2021
082f1d6
Make wl5522_debug_zip a big test
yizhang82 Feb 10, 2021
f608759
fix in metadata event type read funtion
bhatvinay Feb 18, 2021
eceecac
PS-6790 : Introduce reduced doublewrite buffer mode
inikep Jan 26, 2021
8a663bc
Remove interlocked locking in ordered_commit
atish2196 Apr 19, 2020
03f64f8
Support backwards compatible compression on replication
Feb 9, 2021
5feadb1
Adding more information in i_s.rbr_bi_inconsistencies
abhinav04sharma Feb 19, 2021
7a4a261
Port: Ignore sql_require_primary_key in ALTER if the table didn't hav…
Pushapgl Feb 12, 2021
7026af3
Add linux thread id to show processlist
yizhang82 Feb 6, 2021
24b2bde
Fix mysql range query optimizer bug in key_or
yizhang82 Feb 17, 2021
f982f08
recover raft logs by removing partial trxs
luqun Feb 9, 2021
34e3336
Checking for inited bool to make sure global_init_info was successful
luqun Feb 15, 2021
1ae7d8b
Support for dumping raft logs to vanilla async replicas
Pushapgl Feb 10, 2021
573b35f
Add server_cpu and warnings to query response attributes
Feb 23, 2021
9c16a70
Fixed the flaky raft test suite
Pushapgl Feb 25, 2021
942db43
return error from Raft_replication_delegate when plugin is not available
luqun Feb 15, 2021
3d12d69
Handle printing of FD event generated by slave SQL thread
yashtc Feb 10, 2021
dcdf7d5
fix logging verbosity for logs generated during idempotent recovery
pradeep1288 Mar 3, 2021
d23f885
store full gtid set into Previous_gtids_log_event
luqun Oct 9, 2019
07df47c
Adding option to enable global commit ordering on secondaries
luqun Oct 9, 2020
966b2e4
Changes required for MySQL privacy plugin
Feb 26, 2021
a6115da
Bump upper limit when searching for build id
lth Mar 4, 2021
ff68755
Adding timestamps for raft rotates which happen in the context of lis…
luqun Feb 2, 2021
3165cd5
Raft abrupt stepdown and trim binlog file / gtid test
luqun Feb 1, 2021
1000927
Port: Fixes around raft log truncation.
Pushapgl Mar 10, 2021
ffc1f47
Fix rocksdb.rqg_runtime in write unprepared
lth Mar 4, 2021
e27a031
Fix bypass range query
yizhang82 Jan 20, 2021
b2fe252
Better bloom filter / iterator bounds
yizhang82 Jan 22, 2021
c64d957
Properly fallback if executing unsupported case
yizhang82 Jan 23, 2021
f40ede1
Add switch to disallow filters
yizhang82 Jan 23, 2021
4564015
Need to consider all table fields when determine index/value packing
yizhang82 Jan 23, 2021
24f2c02
Remove field limit and support VARBINARY
yizhang82 Dec 1, 2020
a170ff8
Refactoring index covering check to match MyRocks and add non-coverin…
yizhang82 Jan 27, 2021
6120598
Unique SK Point lookup actually go through point look up path
yizhang82 Feb 4, 2021
17dfc17
Fix crash when updating rows with blobs
lth Mar 9, 2021
ebc4e26
Fix buffer management issues during online alter
lth Mar 5, 2021
080ded7
rebase due to relay log Format_description_event event size difference
luqun Mar 18, 2021
740224c
FB8-263: Add JUnit reporting support to MTR
oleksandr-kachan Oct 14, 2021
8e8d0e6
Remove some dead code and unused variables
lth Aug 19, 2020
d13ccb3
Refactor index_first_intern and index_last_intern into one function
lth Aug 23, 2020
c6ad12a
Add max_db_connections for thread_pool plugin
george-reynya Mar 20, 2021
1de3ea6
Porting gradual write throttling and configurable throttle dimensions…
Rahul-Singhal Mar 18, 2021
6d3c20e
2x integer key decoding perf
yizhang82 Oct 18, 2020
7ae4d06
Faster value decoding
yizhang82 Oct 24, 2020
0aacfcc
Improve count(*) performance and fix index merge bug
yizhang82 Dec 13, 2020
ab45b07
Skip decoding completely during count and improve SK count perf by 20x
yizhang82 Feb 5, 2021
c3c9ea9
Fix memory bloat in my_core::handler
atish2196 Mar 22, 2021
1a050bd
allow install/uninstall plugin when enable_super_log_bin_read_only is…
luqun Mar 20, 2021
945beea
fix raft change string metadata event
luqun Apr 1, 2021
84f2d41
Integrate rocksdb fault injection framework with myrocks
atish2196 Mar 23, 2021
22448a5
Setting read only during shutdown
abhinav04sharma Jan 23, 2021
054cbd6
Add exponential backoff for smart restart
li-chi Mar 26, 2021
57ed446
Check for errors during inplace_populate_sk
lth Mar 10, 2021
5773ab3
Return stats from storage engine directly without table open
yizhang82 Feb 24, 2021
46badde
Allocate a server extension structure for slave_stats_daemon
Rahul-Singhal Mar 31, 2021
6bbd897
always release data_lock mutex to avoid deadlock
luqun Apr 6, 2021
8089549
Add locking when reading index cardinality in InnoDB
lth Apr 2, 2021
20c2767
Track RAM usage in temptable shared block
atish2196 Apr 1, 2021
924a35a
fix Is_semi_sync_slave value in show slave HOSTS
luqun Apr 8, 2021
1bcd853
correctly calculate binlog index path during binlog_change_to_binlog
luqun Apr 12, 2021
dda87b1
Adds capability to set different BottommostLevelCompaction option for…
rahku Apr 8, 2021
d6aee25
Fix contention in MDL_key::ACL_CACHE
yizhang82 Apr 13, 2021
602321c
MySQL Privacy Plugin: Add function to return query attributes
Apr 15, 2021
05fda7d
Call thd_wait_* callbacks for admitting new query in thread pool plugin
george-reynya Mar 31, 2021
7bee702
Avoid deleting plugin connection handler
george-reynya May 6, 2021
546cc61
Fix --repeat to avoid adding the same options multiple times
george-reynya May 20, 2021
8c2e532
Port COMMIT wait event and admission_control_multiquery_filter to 8.0
george-reynya Jun 2, 2021
7b097f1
Port MTR tests for COMMIT wait event and admission_control_multiquery…
george-reynya Jun 7, 2021
83c0a9d
Fix thread pool tests
george-reynya May 14, 2021
0aa39ce
Add dbug support and worker pool test
george-reynya Jun 17, 2021
c1e9000
Add required headers for thread pool plugin
george-reynya May 6, 2021
472765a
Fix valgrind suppression for thread pool
lth Jul 19, 2021
0e3f66e
Add retry when opening doulewrite buffer
lth Apr 15, 2021
57552d6
Increase timeout for shutting down the server in rocksdb tests to 60s
Apr 19, 2021
78e1685
Fixing calculation seconds behind master when IO thread is caught up
Dec 1, 2017
6715bca
INDEX_STATISTICS in MySQL 8.0
iRitwik Apr 5, 2021
a1768fe
add rename table and database statment as supported high pri
atish2196 Mar 9, 2020
6220a1a
Added new SQL function GET_INDEX_SIZE_BY_PREFIX
Pushapgl Apr 7, 2021
4a1b72a
Add config to disable perfschema table events_statements_summary_by_t…
atish2196 Apr 6, 2021
9a97ed3
Fix before image when binlog entries are written during idempotent re…
abhinav04sharma Apr 22, 2021
96ecd5d
Replication lag timestamp occassionally gets updated to now()
Apr 23, 2021
74d74fb
Changes required for MySQL privacy plugin
Apr 21, 2021
8f8798b
Fix possible asan reported error on rpl_mts.rpl_find_binlog_by_gtid
Apr 26, 2021
46042d0
Bug#32141711: CAN'T WRITE; DUPLICATE KEY IN TABLE / DUPLICATE ENTRY '…
Jan 8, 2021
b856ccc
Skip reading binlog files during show binary logs
Apr 30, 2021
c7cfd5d
Make MySQL error code consistent between 5.6.35 and 8.0.20
May 5, 2021
16dd28b
Fix export of headers for plugins
george-reynya May 6, 2021
d6a9621
Support showing query digest in SHOW PROCESS LIST
yizhang82 Oct 28, 2020
82b8cce
Support show_query_digest with SHOW ENGINE STATUS
yizhang82 Feb 14, 2021
2867b63
amend MySQL to support the PPF SQL cache
mzait May 6, 2021
370a759
Add error message for purpose policy check fail
May 7, 2021
91871a0
Add new THD function to populate query response attribute
May 12, 2021
c323ef4
Fix incorrect bloom filter full key check
yizhang82 Mar 20, 2021
a653248
Adding --malloc-conf option in mysqld_safe
yoshinorim May 14, 2021
160751a
Update Rocksdb submodule to 6.25.fb
inikep Oct 22, 2021
0e1ec98
Fix SELECT COUNT(*) FOR UPDATE
yizhang82 May 16, 2021
e30500f
Allocate PFS_table_io_stat on-demand instead of always MAX_INDEXES + 1
yizhang82 May 1, 2021
b290a4d
Support gap lock logging in sql_findings
mzait May 14, 2021
e8f8bf1
Consolidate rnd_init/rnd_next/rnd_end into index_* functions
lth Aug 25, 2020
adff939
Add variable to prevent serializing legacy json types
lth May 19, 2021
738f924
Enforce --order-by-primary-key if --rocksdb-bulk-load is specified
Pushapgl Apr 29, 2021
7f713b4
Merge index scan with index reads
lth Aug 26, 2020
f218c6c
Add variable to enable/disable PFS_histogram for MT stats
yizhang82 May 18, 2021
0163296
Aborting process on all RDB_IO_ERROR_TX_COMMIT errors on commit()
yoshinorim May 21, 2021
ed3111f
Combine rnd_next/index_next/position_to_correct_key codepaths
lth Aug 28, 2020
fbc06a6
Reset iterator after point lookup
lth Aug 28, 2020
984c981
Propagate initial max_db_connections value
george-reynya May 23, 2021
258a757
Tells raft mode in binlog
li-chi May 25, 2021
b8dfed9
Gracefully exit mysqld_safe loop during backoff
li-chi May 21, 2021
4996f0b
properly set write throttling params when set via command line
Rahul-Singhal May 25, 2021
53b6d86
add mrr partition support
luqun Dec 24, 2020
e3a511f
Using RocksDB Env API to create / access the corruption marker file.
yang3116 May 21, 2021
261bf0a
fix flaky raft testcase
luqun May 28, 2021
e607748
Fix heap overflow in group_relay_log_name handling
abhinav04sharma May 28, 2021
ded99b2
This is the 8.0 port of D28735624
mzait May 28, 2021
35d4822
Use DBUG_TRACE instead of DBUG_ENTER
luqun Jun 1, 2021
bb77cf9
Add bounds checks to response attributes
abal147 May 25, 2021
1af241a
Delete garbage temp sst files using RocksDB Env API
yang3116 May 25, 2021
b2a39da
check for sql_bin_log = 0 with write throttling
May 26, 2021
31181a2
fix memory during MYSQL_BIN_LOG::open_existing_binlog
luqun Jun 2, 2021
bea5ebe
add more timeout for asandebug shutdown
luqun Jun 3, 2021
b0d14ff
Using locks in Dump_log methods only when raft is enabled
abhinav04sharma Jun 4, 2021
5b41ee5
Port D27349016 Add low HLC boundary support for transactions to 8.0.20
maxgeorg Jun 1, 2021
38a088b
Porting D28003281 "Upper HLC bound support" to 8.0.20.
maxgeorg Jun 1, 2021
3c21019
leader election to be a sync point in the new leader
bhatvinay Jun 5, 2021
b937915
Track out of order hlc value during slave apply
luqun May 24, 2021
4963a21
Add integer_digits.h to installed extra headers
george-reynya Jun 5, 2021
1252353
Add optimizer hint to force group by plans
lth Jun 1, 2021
754e72c
add new test fault macros reset_hlc_for_tests
luqun Jun 6, 2021
38163be
Error out SQL thread on out of order opids in raft logs
abhinav04sharma Apr 28, 2021
443b8a9
Consider limit when costing group-by plans
lth Jun 4, 2021
5761c1e
Support commit order deadlocks resolution in dependency replication
abhinav04sharma Jun 8, 2021
142fb35
Fallback to TBL mode instead of syncing trxs when errors are encounte…
abhinav04sharma Jun 8, 2021
b30b70c
Limit memory allocated for FTS table sync messages
Apr 28, 2021
6446bcb
SHOW SLAVE STATUS shows real error
yizhang82 Jun 6, 2021
41bf76d
Add variable to disable events_wait_summary_by_thread_by_event_name t…
yizhang82 May 22, 2021
1edfcde
Support SELECT FOR UPDATE SKIP LOCKED / NOWAIT
yizhang82 Jun 6, 2021
29c2229
Add RENAME TABLE test for x-database RENAME and DROP DATABASE
yizhang82 Jun 6, 2021
b9e8939
Reduce flakiness of rocksdb.optimize_table
Jun 10, 2021
54ac9e6
Add bounds checks to all resp attr code
abal147 Jun 2, 2021
e166202
Add MTR tests for privacy plugin
May 14, 2021
3163224
MyRocks crashes on pure virtual function when querying rocksdb_trx list
Jun 14, 2021
27283bd
Use Get for secondary key point lookups
lth Jan 5, 2021
61037be
Implement iterator class
lth Jan 4, 2021
ce6f23c
Support parsing index comments for partial indexes
lth Jan 13, 2021
2980f3a
port dscp_on_socket to 8.0
li-chi Jun 18, 2021
d9c0ed3
remove rpl_dscp_on_socket
li-chi Jun 21, 2021
0c101c2
Fix two bugs in bypass
lth Jun 21, 2021
d99f7b9
Suppress valgrind issue with rocksdb CacheEntryStats
yizhang82 Jun 21, 2021
d75649c
always use lz4_pic.a for libmysqlclient
luqun Jun 23, 2021
f47da83
Add partial index iterator
lth Jan 13, 2021
fdec1da
Prematerialize partial indexes during bulk loading
lth Mar 25, 2021
8f25b1c
Move myrocks settings to my.cnf
yizhang82 Jun 24, 2021
cc20410
Fix sending server_cpu as part of query response attributes
Jun 28, 2021
46cd33c
Generate code coverage using suite option
Jun 18, 2021
c48af2e
add GET_COMMITTED_GTIDS for raft
luqun Jul 8, 2021
550529b
raft: skip mts_recovery_groups during start slave
luqun Jun 30, 2021
04e8a11
Revert SHARED_LIB_MAJOR_VERSION back
luqun Jun 24, 2021
2f21117
Port mysql_change_user_nonblocking from 8.0.17 to 8.0.20
Jun 28, 2021
937352a
Supporting cancelling manual compactions
yoshinorim Jul 19, 2021
5281a7b
Fix table names in COLUMN_STATISTICS
iRitwik Jul 12, 2021
49e1c87
Add TABLE_INSTANCE to COLUMN_STATISTICS
iRitwik Aug 19, 2021
1196e38
Discount pattern matches that are not prefix matches
iRitwik Aug 4, 2021
50ab32f
Fix valgrind error on rpl.rpl_io_thd_wait_for_disk_space
lth Jul 19, 2021
1ca3caa
Fix invalid MDL wait timeout in replication threads
lth Jul 21, 2021
c1d606e
Use iterator interface in bypass
lth Jun 21, 2021
995757c
update RaftListenerCallbackArg struct
luqun Jul 29, 2021
c8ecb11
Acquire refcount with lock when opening InnoDB tables
lth Jul 28, 2021
97b886e
always check mi during raft_reset_slave
luqun Jul 28, 2021
0960326
Fix sample_sqltext built-in memory tracking
yizhang82 Aug 2, 2021
5ae8659
raft mtr: update rpl_end_raft.inc for disable-raft
luqun Aug 2, 2021
0a7579e
Validate expected schema provided from client
lth Jul 27, 2021
5b590b3
Fix incorrect test privacy_configerator_policy_fail_open_pes_check_pass
Aug 5, 2021
f61134f
include new state function
jkedgar Aug 6, 2021
e7f0525
Continue in mysql_real_connect_nonblocking while more to be done
jkedgar Aug 5, 2021
dd71198
Reserve errno for discovery failures
abal147 Aug 10, 2021
5c4ba29
Suppress mtr warnings around SO_SNDBUF
Aug 11, 2021
8137b89
fix master_uuid
li-chi Aug 11, 2021
f51f604
Add ctest_preload option to mysql-test-run.pl
Aug 12, 2021
4b4d019
move the new error from messages_to_error_log.txt to messages_to_clie…
mzait Aug 18, 2021
9da784c
Avoid considering skip scan keys in queries with large IN lists
lth Aug 19, 2021
12e1db5
Stabilize rocksdb.drop_table3 and rocksdb.truncate_table3
lth Aug 19, 2021
2db0cc9
Force primary index if all keys of have equality predicates
Aug 19, 2021
25b2e05
Adding MTR test for verify result attributes set for Privacy
aditya-jalan Aug 19, 2021
ab7d41c
Adding new option to slave_type_conversions to allow non-truncated co…
abhinav04sharma Aug 25, 2021
a5fa8bc
Optimize sql_id hash calculation for write throttling
Rahul-Singhal Aug 17, 2021
500d8a4
Return the list of read and write tables in the query response attrib…
mzait Aug 24, 2021
241b49a
fix flaky rocksdb.rocksdb_table_stats_sampling_pct_change
luqun Aug 24, 2021
0934a78
incorrect File_size value in show raft logs result
luqun Aug 4, 2021
9771a75
Add initial support for skycastle
yizhang82 Aug 27, 2021
72370fc
MTR tests for privacy plugin to have a global enable/disable sysvar
aditya-jalan Aug 23, 2021
a910aef
Add support for swapping index in FORCE INDEX via variable
lth Aug 26, 2021
0288316
add cmd_line flag to dscp_on_socket
li-chi Aug 27, 2021
40607a7
fix broken mtr test because of dscp_on_socket
inikep Oct 29, 2021
0ea0344
Exclude automation queries so they cannot be throttled by replication…
Rahul-Singhal Aug 26, 2021
2bf2c61
Add gtid_purged_for_tailing
li-chi Jun 24, 2021
de7b17f
Fixes to commit order deadlock handling
abhinav04sharma Aug 30, 2021
9c7b6b0
FB8-262: rpl_slave_tx_isolation fails in 8.0.23
avbelov23 Oct 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -197,9 +197,6 @@ SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Auto
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseCRLF: false
UseTab: Never
Expand Down
3 changes: 3 additions & 0 deletions .skycastleworkspace.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[repository]
name = mysql-5.6
type = git
12 changes: 11 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,13 @@ IF(MY_COMPILER_IS_CLANG OR MY_COMPILER_IS_GNU)
SET(MY_COMPILER_IS_GNU_OR_CLANG 1)
ENDIF()

INCLUDE(CTest)
# Explicitly disabling BUILD_TESTING set by just included CTest, since other
# code is not ready to handle BUILD_TESTING set. If you try to remove the
# directive and CMake configuration and reconfiguration finishes successfully,
# remove the hack.
SET(BUILD_TESTING OFF)

# Maintainer mode is default on only for debug builds using GCC/G++
IF(CMAKE_BUILD_TYPE_UPPER STREQUAL "DEBUG" OR WITH_DEBUG)
IF(MY_COMPILER_IS_GNU)
Expand Down Expand Up @@ -570,6 +577,7 @@ INCLUDE(mysql_add_executable)
INCLUDE(curl)
INCLUDE(rapidjson)
INCLUDE(fprofile)
INCLUDE(prepend_append_cflags_if_supported)
INCLUDE(gloves)


Expand Down Expand Up @@ -1158,7 +1166,9 @@ ENDIF()
# Enable debug sync for debug builds.
FOREACH(LANG C CXX)
STRING_PREPEND(CMAKE_${LANG}_FLAGS_DEBUG "-DENABLED_DEBUG_SYNC ")
STRING_PREPEND(CMAKE_${LANG}_FLAGS_DEBUG "-DSAFE_MUTEX ")
IF (NOT DISABLE_SAFE_MUTEX)
STRING_PREPEND(CMAKE_${LANG}_FLAGS_DEBUG "-DSAFE_MUTEX ")
ENDIF()
ENDFOREACH()


Expand Down
2 changes: 2 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,8 @@ jobs:
-DWITH_BOOST=$(BOOST_DIR)
-DMYSQL_MAINTAINER_MODE=ON
-DWITH_SYSTEM_LIBS=ON
-DWITH_LZ4=bundled
-DWITH_ZSTD=bundled
-DWITH_MECAB=system
-DWITH_NUMA=ON
$SANITIZER_DEFINES
Expand Down
2 changes: 1 addition & 1 deletion client/check/mysqlcheck_core.cc
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ static int use_db(const string &database) {
return 1;
if (mysql_get_server_version(sock) >= FIRST_PERFORMANCE_SCHEMA_VERSION &&
!my_strcasecmp(&my_charset_latin1, database.c_str(),
PERFORMANCE_SCHEMA_DB_NAME))
PERFORMANCE_SCHEMA_DB_NAME_MACRO))
return 1;
if (mysql_select_db(sock, database.c_str())) {
DBError(sock, "when selecting the database");
Expand Down
6 changes: 4 additions & 2 deletions client/client_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,9 @@ enum options_client {
OPT_CHECKSUM,
OPT_THREAD_PRIORITY,
/* Add new option above this */
OPT_MAX_CLIENT_OPTION
OPT_MAX_CLIENT_OPTION,
OPT_COMPRESS_DATA,
OPT_COMPRESS_DATA_CHUNK_SIZE
};

/**
Expand All @@ -217,7 +219,7 @@ enum options_client {
/**
Name of the performance schema database.
*/
#define PERFORMANCE_SCHEMA_DB_NAME "performance_schema"
#define PERFORMANCE_SCHEMA_DB_NAME_MACRO "performance_schema"

/**
First mysql version supporting the sys schema.
Expand Down
2 changes: 1 addition & 1 deletion client/dump/mysqldump_tool_chain_maker_options.cc
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ void Mysqldump_tool_chain_maker_options::process_positional_options(
m_object_filter.m_databases_excluded.push_back(
std::make_pair("", INFORMATION_SCHEMA_DB_NAME));
m_object_filter.m_databases_excluded.push_back(
std::make_pair("", PERFORMANCE_SCHEMA_DB_NAME));
std::make_pair("", PERFORMANCE_SCHEMA_DB_NAME_MACRO));
m_object_filter.m_databases_excluded.push_back(
std::make_pair("", "ndbinfo"));
m_object_filter.m_databases_excluded.push_back(std::make_pair("", "sys"));
Expand Down
6 changes: 5 additions & 1 deletion client/mysql.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4676,6 +4676,11 @@ static int sql_real_connect(char *host, char *database, char *user,
static bool init_connection_options(MYSQL *mysql) {
bool handle_expired = (opt_connect_expired_password || !status.batch);

// Using the compression_lib connection attribute requires connection
// attributes be reset early. Parsing the command arguments could add a new
// connection attribute
mysql_options(mysql, MYSQL_OPT_CONNECT_ATTR_RESET, nullptr);

if (opt_init_command)
mysql_options(mysql, MYSQL_INIT_COMMAND, opt_init_command);

Expand Down Expand Up @@ -4747,7 +4752,6 @@ static bool init_connection_options(MYSQL *mysql) {
mysql_options(mysql, MYSQL_ENABLE_CLEARTEXT_PLUGIN,
(char *)&opt_enable_cleartext_plugin);

mysql_options(mysql, MYSQL_OPT_CONNECT_ATTR_RESET, nullptr);
mysql_options4(mysql, MYSQL_OPT_CONNECT_ATTR_ADD, "program_name", "mysql");
if (current_os_user)
mysql_options4(mysql, MYSQL_OPT_CONNECT_ATTR_ADD, "os_user",
Expand Down
65 changes: 62 additions & 3 deletions client/mysqldump.cc
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ static uint opt_enable_cleartext_plugin = 0;
static bool using_opt_enable_cleartext_plugin = false;
static uint opt_mysql_port = 0, opt_master_data;
static uint opt_slave_data;
static bool opt_compress_data = false;
static ulonglong opt_compression_chunk_size = 0;
static bool do_compress = 0;
static ulong opt_lra_size = 0;
static ulong opt_lra_sleep = 0;
static ulong opt_lra_pages_before_sleep = 0;
Expand Down Expand Up @@ -723,6 +726,13 @@ static struct my_option my_long_options[] = {
"Thread Priority of the mysqldump session", &opt_thread_priority,
&opt_thread_priority, 0, GET_INT, REQUIRED_ARG, 0, -20, 19, nullptr, 0,
nullptr},
{"compress-data", OPT_COMPRESS_DATA,
"Enables compression of data using ZSTD", &opt_compress_data,
&opt_compress_data, 0, GET_BOOL, NO_ARG, 0, 0, 0, nullptr, 0, nullptr},
{"compress-data-chunk-size", OPT_COMPRESS_DATA_CHUNK_SIZE,
"Split compressed data on chunks of specified size in megabytes",
&opt_compression_chunk_size, &opt_compression_chunk_size, 0, GET_ULL,
OPT_ARG, 0, 0, (ulonglong)(~(my_off_t)0), nullptr, 0, nullptr},
{nullptr, 0, nullptr, nullptr, nullptr, nullptr, GET_NO_ARG, NO_ARG, 0, 0,
0, nullptr, 0, nullptr}};

Expand Down Expand Up @@ -1114,6 +1124,19 @@ static bool get_one_option(int optid, const struct my_option *opt,
/* Store the supplied list of errors into an array. */
if (parse_ignore_error()) exit(EX_EOM);
break;
case (int)OPT_COMPRESS_DATA:
do_compress = 1;
break;
case (int)OPT_COMPRESS_DATA_CHUNK_SIZE: {
// NO_LINT_DEBUG
if (opt_compression_chunk_size > 0) {
verbose_msg("split data on chunks of %llu bytes size\n",
opt_compression_chunk_size);
} else {
verbose_msg("No chunking on compressed data\n");
}
break;
}
}
return false;
}
Expand Down Expand Up @@ -1210,6 +1233,23 @@ static int get_options(int *argc, char ***argv) {
return EX_USAGE;
}
if (tty_password) opt_password = get_tty_password(NullS);

if (do_compress && !path) {
// NO_LINT_DEBUG
fprintf(stderr, "%s: --compress-data must be used with --tab.\n",
my_progname);
return (EX_USAGE);
}

if (!do_compress && opt_compression_chunk_size > 0) {
// NO_LINT_DEBUG
fprintf(stderr,
"%s: --compress-data-chunk-size > 0 must be used with "
"--compress-data.\n",
my_progname);
return (EX_USAGE);
}

return (0);
} /* get_options */

Expand Down Expand Up @@ -3943,6 +3983,13 @@ static void dump_table(char *table, char *db) {
dynstr_append_checked(&query_string, filename);
dynstr_append_checked(&query_string, "'");

if (do_compress) {
dynstr_append_checked(&query_string, " COMPRESSED(");
dynstr_append_checked(&query_string,
std::to_string(opt_compression_chunk_size).c_str());
dynstr_append_checked(&query_string, ")");
}

dynstr_append_checked(&query_string, " /*!50138 CHARACTER SET ");
dynstr_append_checked(&query_string,
default_charset == mysql_universal_client_charset
Expand Down Expand Up @@ -4693,7 +4740,8 @@ static int dump_all_databases() {
continue;

if (mysql_get_server_version(mysql) >= FIRST_PERFORMANCE_SCHEMA_VERSION &&
!my_strcasecmp(&my_charset_latin1, row[0], PERFORMANCE_SCHEMA_DB_NAME))
!my_strcasecmp(&my_charset_latin1, row[0],
PERFORMANCE_SCHEMA_DB_NAME_MACRO))
continue;

if (mysql_get_server_version(mysql) >= FIRST_SYS_SCHEMA_VERSION &&
Expand Down Expand Up @@ -4741,7 +4789,7 @@ static int dump_all_databases() {

if (mysql_get_server_version(mysql) >= FIRST_PERFORMANCE_SCHEMA_VERSION &&
!my_strcasecmp(&my_charset_latin1, row[0],
PERFORMANCE_SCHEMA_DB_NAME))
PERFORMANCE_SCHEMA_DB_NAME_MACRO))
continue;

if (mysql_get_server_version(mysql) >= FIRST_SYS_SCHEMA_VERSION &&
Expand Down Expand Up @@ -5177,7 +5225,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables) {
!(mysql_get_server_version(mysql) >= FIRST_INFORMATION_SCHEMA_VERSION &&
!my_strcasecmp(&my_charset_latin1, db, INFORMATION_SCHEMA_DB_NAME)) &&
!(mysql_get_server_version(mysql) >= FIRST_PERFORMANCE_SCHEMA_VERSION &&
!my_strcasecmp(&my_charset_latin1, db, PERFORMANCE_SCHEMA_DB_NAME))) {
!my_strcasecmp(&my_charset_latin1, db,
PERFORMANCE_SCHEMA_DB_NAME_MACRO))) {
if (mysql_real_query(mysql, lock_tables_query.str,
(ulong)(lock_tables_query.length - 1))) {
if (!opt_force) {
Expand Down Expand Up @@ -6233,6 +6282,16 @@ int main(int argc, char **argv) {
exit(exit_code);
}

if (opt_rocksdb_bulk_load) {
if (!opt_order_by_primary && !opt_order_by_primary_desc) {
opt_order_by_primary = true;
fprintf(stderr,
"-- Warning: --rocksdb-bulk-load requires either "
"--order-by-primary or "
"--order-by-primary-desc. "
"Continuing with --order-by-primary-desc as default option.");
}
}
/*
Disable comments in xml mode if 'comments' option is not explicitly used.
*/
Expand Down
Loading