mariadb/storage/mroonga
Daniel Black 553ef1a78b MDEV-13115: Implement SELECT SKIP LOCKED
Adds an implementation for SELECT ... FOR UPDATE SKIP LOCKED /
SELECT ... LOCK IN SHARED MODE SKIP LOCKED

This is implemented only InnoDB at the moment, not in RockDB yet.

This adds a new hander flag HA_CAN_SKIP_LOCKED than
will be used when the storage engine advertises the flag.

When a storage engine indicates this flag it will get
TL_WRITE_SKIP_LOCKED and TL_READ_SKIP_LOCKED transaction types.

The Lex structure has been updated to store both the FOR UPDATE/LOCK IN
SHARE as well as the SKIP LOCKED so the SHOW CREATE VIEW
implementation is simplier.

"SELECT FOR UPDATE ... SKIP LOCKED" combined with CREATE TABLE AS or
INSERT.. SELECT on the result set is not safe for STATEMENT based
replication. MIXED replication will replicate this as row based events."

Thanks to guidance from Facebook commit
193896c466
This helped verify basic test case, and components that need implementing
(even though every part was implemented differently).

Thanks Marko for guidance on simplier InnoDB implementation.

Reviewers: Marko, Monty
2021-04-08 16:51:36 +10:00
..
build Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
data fix mroonga post-install script 2018-06-24 15:18:36 +02:00
lib Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
mysql-test Merge 10.4 into 10.5 2020-04-25 21:57:52 +03:00
packages Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
test Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
tools MDEV-23024 Remove Cassandra Storage Engine 2020-07-14 16:24:50 +03:00
udf Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
vendor/groonga Merge 10.4 into 10.5 2020-10-30 11:15:30 +02:00
appveyor.yml MDEV-23024 Remove Cassandra Storage Engine 2020-07-14 16:24:50 +03:00
AUTHORS
autogen.sh Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
ChangeLog
CMakeLists.txt MDEV-14024 PCRE2. 2019-12-21 10:34:02 +01:00
config.sh.in Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
configure.ac MDEV-14024 PCRE2. 2019-12-21 10:34:02 +01:00
COPYING Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
gpg_uid
ha_mroonga.cpp MDEV-13115: Implement SELECT SKIP LOCKED 2021-04-08 16:51:36 +10:00
ha_mroonga.def Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
ha_mroonga.hpp Merge 10.4 into 10.5 2020-12-02 18:29:49 +02:00
Makefile.am Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
mrn_constants.hpp Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mrn_err.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mrn_macro.hpp Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mrn_mysql.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mrn_mysql_compat.h cleanup: PSI key is *always* the first argument 2020-03-10 19:24:23 +01:00
mrn_table.cpp MDEV-11412 Ensure that table is truly dropped when using DROP TABLE 2020-06-14 19:39:42 +03:00
mrn_table.hpp Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mrn_variables.hpp perfschema compilation, test and misc fixes 2020-03-10 19:24:23 +01:00
mrn_version.h.in Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
NEWS
plugin_version Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
README
required_groonga_normalizer_mysql_version
required_groonga_version Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
sources.am
version Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_in_hex Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_major Update Mroonga to the latest version on 2017-10-10T23:15:25+0900 2017-10-10 23:15:25 +09:00
version_micro Update Mroonga to the latest version on 2017-10-16T09:50:49+0900 2017-10-16 09:50:49 +09:00
version_minor

See doc/locale/en/html/index.html or doc/locale/ja/html/index.html