Spec-Zone.ru › MySQL Shell 9.2

11.4.1 Регистрация обработчика SQL

Вы можете зарегистрировать обработчик SQL одним из следующих способов:

  • Регистрация обработчика SQL с помощью API MySQL Shell

  • Регистрация обработчика SQL с помощью декоратора Python

  • Вывод списка зарегистрированных обработчиков 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.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysql-shell-extension-sqlhandler-registration.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API