[sisyphus] sqlite3-pcre alpha

Alexey Tourbin at на altlinux.ru
Чт Ноя 2 03:05:45 MSK 2006


Я нарисовал модуль для sqlite3, который привязывает оператор REGEXP
к pcre_compile и т.п. (по умолчанию этот оператор не реализован).

Посмотреть и попробовать его можно здесь:
git://git.altlinux.org/people/at/packages/sqlite3-pcre.git

Для сборки требуется sqlite3 оттуда же (которого пока нет в сизифе).

Там реализован LRU кеш для скомпилированных регулярных выражений,
так что скорость выполнения, по идее, должна быть довольно высокой.

Как это работает:
.load pcre
SELECT "asdf" REGEXP "(?i)^A";
SELECT * FROM table WHERE col REGEXP "^...";

Обратите внимание, что флаги-модификаторы для выражений можно указывать
специфическим образом (?флаги), как в первом примере.  Таков "родной"
перловый синтаксис.  По этой же причине в качестве реализации REGEXP
практически не имеет смысла использовать posix regex(7), так как в
данном SQL синтаксисе не существует способа указать флаги отдельно.

Если кто-то посмотрит код на предмет ошибок, я буду благодарен.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/sisyphus/attachments/20061102/459e627d/attachment.bin 


Подробная информация о списке рассылки Sisyphus