On Thu, Feb 19, 2015 at 5:53 AM, Marko Tiikkaja <ma...@joh.to> wrote: > Commit 79af9a1d2668c9edc8171f03c39e7fed571eeb98 changed xpath handling with > regard to namespaces, and it seems to be fixing an actual issue. However, it > was also backpatched to all branches despite it breaking for example code > like this: > > do $$ > declare > _x xml; > begin > _x := (xpath('/x:Foo/x:Bar', xml '<Foo > xmlns="teh:urn"><Bar><Baz>1</Baz><Bat>2</Bat></Bar></Foo>', > array[['x','teh:urn']]))[1]; > raise notice '%', xpath('/Bar/Baz/text()', _x); > raise notice '%', xpath('/Bar/Bat/text()', _x); > end > $$; > > The problem is that there's no way to write the code like this in such a way > that it would work on both versions. If I add the namespace, it's broken on > 9.1.14. Without it it's broken on 9.1.15.
That certainly sucks. > I'm not sure how changing behavior like this in a minor release was > considered acceptable. I'm guessing that the fact that it changes behavior in cases like this wasn't recognized, but I suppose Peter will have to be the one to comment on that. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers