mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
43d5edf97c
commit 394d0712d3d46a87a8063e14e998e9c22336e3a6 Author: Anca Agape <anca@fb.com> Date: Thu Jul 27 15:43:07 2017 -0700 Fix rpl.rpl_4threads_deadlock test broken by D5005670 Summary: In D5005670 in fill_fields_processlist() function we introduced a point where we were trying to take the LOCK_thd_data before the synchronization point used by test processlist_after_LOCK_thd_count_before_LOCK_thd_data. This was happening in get_attached_srv_session() function called. Replaced this with get_attached_srv_session_safe() and moved it after lock is aquired. Reviewed By: tianx Differential Revision: D5505992 fbshipit-source-id: bc53924
50 lines
2.4 KiB
Text
50 lines
2.4 KiB
Text
== Summary ==
|
|
This directory contains RocksDB-based Storage Engine (RDBSE) for MySQL,
|
|
also known as "MyRocks".
|
|
|
|
== Resources ==
|
|
https://github.com/facebook/mysql-5.6/wiki/Getting-Started-with-MyRocks
|
|
https://www.facebook.com/groups/MyRocks/
|
|
|
|
== Coding Conventions ==
|
|
The baseline for MyRocks coding conventions for the code in storage/rocksdb/
|
|
is based on the default clang format with a few minor changes. The file
|
|
storage/rocksdb/.clang-format describes conventions and can be integrated
|
|
with Vim or Emacs as described here:
|
|
http://releases.llvm.org/3.6.0/tools/clang/docs/ClangFormat.html#vim-integration
|
|
|
|
All code outside of storage/rocksdb/ should conform to the MySQL coding
|
|
conventions:
|
|
http://dev.mysql.com/doc/internals/en/coding-guidelines.html.
|
|
|
|
Several refinements:
|
|
0. There is an umbrella C++ namespace named "myrocks" for all MyRocks code.
|
|
1. We introduced "RDB" as the super-short abbreviation for "RocksDB". We will
|
|
use it as a name prefix, with different capitalization (see below), to ease
|
|
up code navigation with ctags and grep.
|
|
N.B. For ease of matching, we'll keep the variables and functions dealing
|
|
with sysvars as close as possible to the outside visible names of
|
|
sysvars, which start with "rocksdb_" prefix, the outward storage
|
|
engine name.
|
|
2. The names for classes, interfaces, and C++ structures (which act as
|
|
classes), start with prefix "Rdb_".
|
|
NB: For historical reasons, we'll keep the "ha_<storage_engine_name>" class
|
|
name for ha_rocksdb class, which is an exception to the rule.
|
|
3. The names for global objects and functions start with prefix "rdb_".
|
|
4. The names for macros and constants start with prefix "RDB_".
|
|
5. Regular class member names start with "m_".
|
|
6. Static class member names start with "s_".
|
|
7. Given the 80 character per line limit, we'll not always use full English
|
|
words in names, when a well known or easily recognizable abbreviation
|
|
exists (like "tx" for "transaction" or "param" for "parameter" etc).
|
|
8. When needing to disambiguate, we use different suffixes for that, like
|
|
"_arg" for a function argument/parameter, "_arr" for a C style array, and
|
|
"_vect" for a std::vector etc.
|
|
|
|
== Running Tests ==
|
|
To run tests from rocksdb, rocksdb_rpl or other rocksdb_* packages, use the
|
|
following parameters:
|
|
--default-storage-engine=rocksdb
|
|
--skip-innodb
|
|
--default-tmp-storage-engine=MyISAM
|
|
--rocksdb
|