пятница, 9 сентября 2011 г.

PostgreSQL full text search

Всем привет.
Вот понадобилось мне такую вещь сделать.

query = "test"
Message.select("*, ts_headline(message, q,'HighlightAll=true') as
highlight").where("message @@
q").from("messages,plainto_tsquery('#{query}') q")

получается

SELECT *, ts_headline(message, q,'HighlightAll=true') as highlight
FROM messages,plainto_tsquery('test') q WHERE (message @@ q)

Но не хорошо передавать query прям в запрос, ибо опасно.

Как грамотно сделать экранирование или по другому написать эту
конструкцию?

Для информации: http://www.postgresql.org/docs/8.3/static/textsearch-controls.html#TEXTSEARCH-HEADLINE

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

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

Отправить комментарий