11.4.1 Регистрация обработчика SQL
Вы можете зарегистрировать обработчик SQL одним из следующих способов:
Регистрация обработчика SQL с помощью API MySQL Shell
register_Sql_Handler имеет следующий синтаксис:
shell.register_sql_handler(name, description, prefixes, callback)
name: уникальный идентификатор обработчика SQL.description: краткое описание предоставляемых обработчиком расширений SQL.prefixes: список префиксов (строки), идентифицирующих SQL-запросы, обрабатываемые этим обработчиком. Вы должны определить хотя бы один префикс.-
callback: имя функции, которая должна быть выполнена при обнаружении запроса, соответствующего префиксу.Функция должна иметь следующий сигнатуру:
function(session, sql): [Result]
Регистрация обработчика SQL с помощью декоратора Python
Вы также можете использовать декоратор Python @sql_handler для регистрации обработчика SQL. Декоратор использует shell.registerSqlHandler для регистрации обработчика. Применяются те же ограничения для параметров.
Например:
from mysqlsh.plugin_manager import sql_handler
@sql_handler(prefixes=['SHOW '])
"Prints a notice when a SHOW command is executed"
def show_preprocessor(session, sql):
print(f"SHOW COMMAND EXECUTED: {sql}")
Вывод списка зарегистрированных обработчиков SQL
Для вывода списка зарегистрированных обработчиков SQL используйте shell.list_sql_handlers. Эта функция возвращает имя и описание всех зарегистрированных обработчиков SQL.
© 2025 Oracle
Licensed under the GPLv2 License.