Использование подстроки имени столбца при создании индекса в CockroachDB
Переходя от Oracle к CockroachDB, я использую команду создания индекса, как показано ниже:
CREATE INDEX ON "sales" (substring("a",0,19), substring("b",20,2), "c");
Я получаю ошибку:
invalid syntax: statement ignored: unimplemented at or near ")"
CREATE INDEX ON "sales" (substring("a",0,19), substring("b",20,2), "c");
Я также использовал: substr
но ошибка та же.
-
Edit1: ошибка для измененной команды
CREATE INDEX ON "sales" (substring("a",0,19));
будет таким же.
2 ответа
Решение
Вы пытаетесь использовать вычисляемый индекс - индекс с ключами, которые являются более сложными, чем ссылки на столбцы. CockroachDB пока не поддерживает вычисляемые индексы.
Существует открытая проблема для добавления поддержки для вычисляемых индексов:
Таракан-БД Создание INDEX Sypnosis.
Согласно автомату, который проверяет строку для создания индекса в таблице, нет возможности использовать функцию подстроки.