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

Re: BUG #5534: IS DOCUMENT predicate errors instead ofreturning false

From: Mike Fowler <mike(at)mlfowler(dot)com>
To: Mike Fowler <mike(at)mlfowler(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5534: IS DOCUMENT predicate errors instead ofreturning false
Date: 2010-07-02 13:01:16
Message-ID: 20100702140116.jcpkdfc4kggggco8@www.mlfowler.com (view raw or flat)
Thread:
Lists: pgsql-bugs
Quoting Mike Fowler <mike(at)mlfowler(dot)com>:

>
> The following bug has been logged online:
>
> Bug reference:      5534
> Logged by:          Mike Fowler
> Email address:      mike(at)mlfowler(dot)com
> PostgreSQL version: 9.0beta2
> Operating system:   Linux 2.6.31-14-generic #48-Ubuntu SMP
> Description:        IS DOCUMENT predicate errors instead of returning false
> Details:
>
> IS DOCUMENT should return false for a non-well formed document, and indeed
> is coded to do such. However, the conversion to the xml type which happens
> before the underlying xml_is_document function is even called fails and
> exceptions out. I've mentioned this on -hackers with message ID
> 20100701172553(dot)w5vdy1xbocos8g40(at)www(dot)mlfowler(dot)com
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>

The attached patch is a very small patch that changes parse_expr.c to  
not convert everything to xml. This now means that when passed  
malformed XML it will return false instead of throwing an exception.  
In my mind this acceptable as I don't see anywhere in the standard  
that mandates that:

xmlval IS NOT DOCUMENT == xmlval IS CONTENT

Regards,

-- 
Mike Fowler
Registered Linux user: 379787

Attachment: isdocument-1.patch
Description: text/x-diff (4.6 KB)

In response to

Responses

pgsql-bugs by date

Next:From: Peter EisentrautDate: 2010-07-02 15:02:51
Subject: Re: BUG #5534: IS DOCUMENT predicate errors instead of returning false
Previous:From: Jon StraitDate: 2010-07-02 04:57:04
Subject: BUG #5536: Disputing output for some Geometric types

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