MCPcopy Create free account
hub / github.com/Shannon-Data/ShannonBase / test_locking

Function test_locking

plugin/test_service_sql_api/test_sql_lock.cc:792–904  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

790}
791
792static void test_locking(void *p) {
793 char buffer[STRING_BUFFER_SIZE];
794 MYSQL_SESSION session_1, session_2, session_3;
795
796 DBUG_TRACE;
797 struct st_plugin_ctx *plugin_ctx = new st_plugin_ctx();
798
799 /* Open session 1 and session 2 */
800 WRITE_STR("\nOpening Session 1\n");
801 session_1 = srv_session_open(nullptr, plugin_ctx);
802 if (!session_1)
803 LogPluginErr(ERROR_LEVEL, ER_LOG_PRINTF_MSG, "open session_1 failed.");
804
805 WRITE_STR("Opening Session 2\n");
806 session_2 = srv_session_open(nullptr, plugin_ctx);
807 if (!session_2)
808 LogPluginErr(ERROR_LEVEL, ER_LOG_PRINTF_MSG, "open session_2 failed.");
809
810 WRITE_STR("Opening Session 3\n");
811 session_3 = srv_session_open(nullptr, plugin_ctx);
812 if (!session_3)
813 LogPluginErr(ERROR_LEVEL, ER_LOG_PRINTF_MSG, "open session_3 failed.");
814
815 /* Locking */
816 WRITE_STR(
817 "===================================================================\n");
818 WRITE_STR("Locking using LOCK TABLE\n");
819 WRITE_STR(
820 "===================================================================\n");
821
822 WRITE_STR(
823 "-------------------------------------------------------------------\n");
824 WRITE_STR("Session 1 :\n");
825 WRITE_STR(
826 "-------------------------------------------------------------------\n");
827 exec_test_cmd(session_1, "LOCK TABLE test.t1 READ", p, plugin_ctx);
828 /* Following statement should return an error because table t1 is locked with
829 * a READ lock */
830 exec_test_cmd(session_1,
831 "/*statement should return an error because table t1 is locked "
832 "with a READ lock*/\nINSERT INTO test.t1 VALUES (11,7)",
833 p, plugin_ctx);
834 exec_test_cmd(session_1, "SHOW OPEN TABLES FROM test LIKE 't1'", p,
835 plugin_ctx);
836
837 WRITE_STR(
838 "-------------------------------------------------------------------\n");
839 WRITE_STR("Session 2 :\n");
840 WRITE_STR(
841 "-------------------------------------------------------------------\n");
842 exec_test_cmd(session_2, "LOCK TABLE test.t2 WRITE", p, plugin_ctx);
843 exec_test_cmd(session_2, "SHOW OPEN TABLES FROM test LIKE 't1'", p,
844 plugin_ctx);
845 exec_test_cmd(session_2, "SHOW OPEN TABLES FROM test LIKE 't2'", p,
846 plugin_ctx);
847
848 WRITE_STR(
849 "-------------------------------------------------------------------\n");

Callers 1

test_sqlFunction · 0.85

Calls 4

WRITE_STRFunction · 0.70
exec_test_cmdFunction · 0.70
srv_session_openFunction · 0.50
srv_session_closeFunction · 0.50

Tested by

no test coverage detected