7.6.4 Плагин переписывания запросов Rewriter
MySQL поддерживает плагины переписывания запросов, которые могут анализировать и, возможно, изменять SQL-запросы, получаемые сервером, перед их выполнением сервером. См. Плагины переписывания запросов.
Дистрибутивы MySQL включают плагин переписывания запросов postparse, именованный Rewriter, и скрипты для установки плагина и связанных с ним элементов. Эти элементы вместе обеспечивают возможность переписывания запросов:
Плагин со стороны сервера, именованный
Rewriter, анализирует запросы и, возможно, переписывает их на основе кэша правил переписывания в памяти.-
Переписыванию подлежат такие запросы:
SELECT,INSERT,REPLACE,UPDATEиDELETE.Переписыванию подлежат автономные запросы и подготовленные запросы. Запросы, встречающиеся в определениях представлений или хранимых программах, переписыванию не подлежат.
Плагин
Rewriterиспользует базу данных, названнуюquery_rewrite, содержащую таблицу с именемrewrite_rules. Таблица обеспечивает постоянное хранилище правил, которые плагин использует для принятия решения о переписывании запросов. Пользователи взаимодействуют с плагином, изменяя набор правил, хранящихся в этой таблице. Плагин взаимодействует с пользователями, устанавливая столбецmessageстрок таблицы.База данных
query_rewriteсодержит хранимую процедуру с именемflush_rewrite_rules(), которая загружает содержимое таблицы правил в плагин.Функция загрузки с именем
load_rewrite_rules()используется хранимой процедуройflush_rewrite_rules().Плагин
Rewriterпредоставляет системные переменные, которые позволяют настраивать плагин, и переменные состояния, которые предоставляют информацию об операциях во время выполнения. Этот плагин также поддерживает привилегию (SKIP_QUERY_REWRITE), которая защищает запросы данного пользователя от переписывания.
В следующих разделах описано, как установить и использовать плагин Rewriter, и представлена справочная информация о связанных с ним элементах.
© 2025 Oracle
Licensed under the GPLv2 License.