[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