[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