a question on postgres/xml

Поиск
Список
Период
Сортировка
От Cindy
Тема a question on postgres/xml
Дата
Msg-id 3358645f0809091029t7b8cf352wf52a34048503b9b@mail.gmail.com
обсуждение исходный текст
Список pgsql-bugs
I looked through the lists and couldn't figure out where else to put
this.  I'm trying to create indices on xpath expressions for columns
of type xml.
I'm running postgres version 8.3.3, running on solaris.

Text=# create index trclass on lsj_xml ((xpath
('//span[@class="tr"]/text()', entry)::text));
ERROR:  functions in index expression must be marked IMMUTABLE

If I can't cast it as a text, then what?  xml has no comparator
functions, and I need indices because the xpath lookups are very slow.
I've tried a number of variations including

Text=# create index trclass on lsj_xml (xmlserialize(content xpath
('//span[@class="tr"]/text()', entry) as text));
ERROR:  argument of XMLSERIALIZE must be type xml, not type xml[]

which i understand, because the xpath is returning an array of xml
bits.  But I'm a bit stumped here, so any help, tips, or suggestions
would be appreciated.  I've been scouring the internet for any info on
postgres/xml, but there's very little out there since this is so
new...


If you need the table info:

Text=# \d lsj_xml
      Table "public.lsj_xml"
   Column   |  Type   | Modifiers
------------+---------+-----------
 id         | integer | not null
 headword   | text    | not null
 caseunax   | text    | not null
 uncaseax   | text    | not null
 uncaseunax | text    | not null
 entry      | xml     | not null
Indexes:
    "lsjxml_headword_idx" btree (headword)
    "lsjxml_id_idx" btree (id)
    "lsjxml_uncaseunax_idx" btree (uncaseunax)


Thanks for any help!
Cindy
ctmoore@uci.edu

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Cindy Moore
Дата:
Сообщение: issue with postgres/xml
Следующее
От: "Kevin"
Дата:
Сообщение: BUG #4412: Check constraints cannot be added to the table for fields that are mixed case