09 февраля 2008

PL/Ruby

Есть такая штука как процедурный язык хранимых процедур для СУБД. Для Postgresql обработчиков этих языков написали около десятка, есть и для Руби.
Концептуальный его недостаток в том, что его можно неправильно приготовить, что с успехом делают некоторые дистрибутивостроители. Скажем, вот такой вот код

1 create or replace function rtype(first int4, second varchar) RETURNS varchar as '
2 first + second.to_i
3 ' language 'plruby';
4 select rtype(1, '5');

правильно выполняется на моем локальном сервере, но не принимается девелопмент сервером, на котором PL/Ruby поставлен из пакета. Значит, надо правильно его собрать, как минимум
ruby extconf.rb --enable-conversion
ну и для особенных ценителей есть ключи --enable-network и --enable-geometry.
Чтобы собрать нужен сорец. А поскольку оффсайт отдавал только мануал, я сбил ноги в кровь в поисках сорца хоть в каком-либо виде, хоть в src.rpm, пока не вспомнил, что сижу на величайшем зеркале сорцов всея Open Source. В общем, брать тут http://distfiles.gentoo.org/distfiles/plruby-0.5.1.tar.gz
Рубить всегда! Рубить везде!

Комментариев нет: