Skip site navigation (1) Skip section navigation (2)

a question on postgres/xml

From: Cindy <tittle(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: a question on postgres/xml
Date: 2008-09-09 17:29:00
Message-ID: (view raw, whole thread or download thread mbox)
Lists: 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[(at)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[(at)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

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
    "lsjxml_headword_idx" btree (headword)
    "lsjxml_id_idx" btree (id)
    "lsjxml_uncaseunax_idx" btree (uncaseunax)

Thanks for any help!

pgsql-bugs by date

Next:From: Cindy MooreDate: 2008-09-09 17:29:56
Subject: issue with postgres/xml
Previous:From: Daniel René ThulDate: 2008-09-09 09:16:13
Subject: FATAL: could not reattach to shared memory (key=412, addr=03C00000): 487

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group