Spec-Zone .ru
спецификации, руководства, описания, API
|
У API плагина сервера есть эти характеристики:
У всех плагинов есть несколько общих черт.
У каждого плагина есть имя, что он может быть упомянут в SQL-операторах, так же как других
метаданных, таких как автор и описание, которые предоставляют другую информацию. Эта информация
может быть исследована в INFORMATION_SCHEMA.PLUGINS
таблица или использование SHOW PLUGINS
оператор.
Сменная платформа является растяжимой, чтобы разместить различные виды плагинов.
Хотя некоторые аспекты сменного API характерны для всех типов плагинов, API также разрешает специфичные для типа элементы интерфейса так, чтобы различные типы плагинов могли быть созданы. У плагина с одной целью может быть интерфейс, самый соответствующий его собственным требованиям а не требованиям некоторого другого сменного типа.
Интерфейсы для нескольких типов плагинов существуют, такие как механизмы хранения, полнотекстовый
синтаксический анализатор, и INFORMATION_SCHEMA
таблицы. Другие могут
быть добавлены.
Плагины могут представить информацию пользователям.
Плагин может реализовать систему и переменные состояния, которые доступны через SHOW VARIABLES
и SHOW STATUS
операторы.
Сменный API включает информацию об управлении версиями.
Информация о версии, включенная в сменный API, включает сменной библиотеке и каждому плагину, который это содержит, чтобы самоидентифицировать относительно версии API, которая использовалась, чтобы создать библиотеку. Если API изменится в течение долгого времени, то номера версий изменятся, но сервер может исследовать информацию о версии данной сменной библиотеки, чтобы определить, поддерживает ли это плагины в библиотеке.
Есть два типа номеров версий. Первой является версия для общей сменной платформы непосредственно. Каждая сменная библиотека включает этот вид номера версии. Второй тип версии применяется к отдельным плагинам. У каждого определенного типа плагина есть версия для ее интерфейса, таким образом, у каждого плагина в библиотеке есть специфичный для типа номер версии. Например, у библиотеки, содержащей полнотекстовый плагин синтаксического анализатора, есть общий сменный номер версии API, и у плагина есть номер версии, определенный для полнотекстового сменного интерфейса.
Сменный API реализует ограничения безопасности.
Сменная библиотека должна быть установлена в определенном выделенном каталоге, для которого расположением управляет сервер и не может быть изменено во времени выполнения. Кроме того, библиотека должна содержать определенные символы, которые идентифицируют ее как сменную библиотеку. Сервер не будет загружать что-то как плагин, если он не был создан как плагин.
У плагинов есть доступ к серверным службам.
Интерфейс служб представляет функциональность сервера, что плагины могут получить доступ к вызовам обычной функции использования. Для получения дополнительной информации см. Раздел 23.2.5, "MySQL Services for Plugins".
В некотором отношении API плагина сервера подобен более старой определяемой пользователем функции (UDF) API, который это заменяет, но у сменного API есть несколько преимуществ перед чем более старый интерфейс. Например, у UDFs не было никакой информации об управлении версиями. Кроме того, тем более новый сменный интерфейс устраняет вопросы безопасности более старого интерфейса UDF. Более старый интерфейс для того, чтобы записать несменный UDFs, разрешенный библиотеки, которые будут загружены из любого каталога, искавшего динамическим компоновщиком системы, и символами, которые идентифицировали библиотеку UDF, был относительно неопределенным.
У клиентского API плагина есть подобные архитектурные характеристики, но у клиентских плагинов нет никакого прямого доступа к серверу путем, плагины сервера делают.