Re: [bdbxml] DbXml::QueryPlanFunction::getUriArg unexpected throw.
George Feinberg <[email protected]> Tue, 23 Aug 2005 12:00:27 -0400
| Newsgroups | gmane.comp.db.dbxml.general |
|---|---|
| Message-ID | <[email protected]> |
> Hi Tom,
>
> I found and fixed this bug recently. The "#" characters are not
> valid in a URI, but DB XML wasn't catching the exception that
> caused properly.
>
> The fix will be present in the next release,
>
> John
>
> Tom McCubbin wrote:
>
>> Ok, first let me preface this email: this report is slightly bogus
>> from the 'unlikely to happen in the real world' category of bugs.
>> However, in our unit tests, which continue to grow for nxqd we
>> have experienced the following 'strange behavior'.
>> Here's the synopsis in pseudo code:
>> createContainer( 'db#824948458663#641948458648' );
>> query ( 'collection("db#824948458663#641948458648")//Node3' );
>> This core dumps. However, if the # signs are removed from the
>> container name, all is well.
This bug highlights a feature that is worth emphasizing.
Container names in BDB XML are simply strings, and are only
constrained by
the file name constraints on the underlying file system.
However, the argument to collection() is defined to be a URI, which has
further constraints. This means that characters (such as '#') that
are legal
in the container name are not legal in the argument to collection().
For this reason, among others, the XmlContainer::addAlias() function
exists, allowing applications to alias container names to simpler, legal
strings.
Regards,
George
------------------------------------------
To remove yourself from this list, send an
email to [email protected]