[sisyphus] sqlite3-pcre alpha

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Ноя 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 синтаксисе не существует способа указать флаги отдельно.

Если кто-то посмотрит код на предмет ошибок, я буду благодарен.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20061102/459e627d/attachment-0003.bin>


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