Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

CREATE CONVERSION

Определяет новую перекодировку (conversion).

Синтаксис

CREATE [DEFAULT] CONVERSION <name> FOR <source_encoding> TO
     <dest_encoding> FROM <funcname>

Описание

CREATE CONVERSION определяет новую перекодировку — преобразование между кодировками символов. Имена перекодировок могут использоваться в функции перекодировки для указания конкретного преобразования кодировки. Кроме того, перекодировки, помеченные DEFAULT, могут использоваться для автоматического преобразования кодировки между клиентом и сервером. Для этой цели должны быть определены две перекодировки: из кодировки A в B и из кодировки B в A.

Чтобы создать перекодировку, необходимо иметь привилегию EXECUTE для функции и привилегию CREATE в целевой схеме.

Параметры

Параметр Описание

DEFAULT

Указывает, что эта перекодировка является перекодировкой по умолчанию для конкретной пары кодировок источника и назначения. Для пары кодировок в схеме должно быть только одна перекодировка по умолчанию

name

Имя перекодировки. Имя перекодировки может быть дополнено схемой. Если оно не указано, перекодировка определяется в текущей схеме. Имя перекодировки должно быть уникальным в пределах схемы

source_encoding

Имя исходной кодировки

dest_encoding

Имя целевой кодировки

funcname

Функция, используемая для выполнения перекодировки. Имя функции может быть дополнено схемой. Если оно не указано, функция будет найдена в пути поиска. Функция должна иметь следующую сигнатуру:

conv_proc(
    integer,  -- ID исходной кодировки
    integer,  -- ID целевой кодировки
    cstring,  -- исходная строка (строка C с завершающим нулем)
    internal, -- целевое назначение (заполнить строкой C с завершающим нулем)
    integer   -- длина исходной строки
) RETURNS void;

Примечания

Обратите внимание, что пользовательские функции пользовательской перекодировки должны быть определены как IMMUTABLE. Любой скомпилированный код (файлы общих библиотек) для пользовательских функций должен быть размещен в одном и том же месте на каждом хосте в кластере Greengage DB (мастер и все сегменты). Это местоположение также должно находиться в LD_LIBRARY_PATH, чтобы сервер мог найти файлы.

Примеры

Чтобы создать перекодировку из кодировки UTF8 в LATIN1 с помощью функции myfunc, выполните:

CREATE CONVERSION myconv FOR 'UTF8' TO 'LATIN1' FROM myfunc;

Совместимость

В стандарте SQL нет оператора CREATE CONVERSION, но есть оператор CREATE TRANSLATION, который очень похож по назначению и синтаксису.

См. также