[xquery-talk] Re: The State of Native XML databases
jeff.dexter at rainingdata.com
Tue Aug 21 11:43:16 PDT 2007
Your last assertion is quite correct, and furthermore one other inherent
difficulty with relying on implicit or explicit casting to types like
xs:date is that they can and do generate errors. A query knowing up front
that it's dealing with dates not only mitigates the need for parsing (much
less generation of whatever internal representation the engine uses), but it
also gives the query author a level of guarantee that their query won't blow
up midway through a query.
From: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] On Behalf
Of Andrew Welch
Sent: Tuesday, August 21, 2007 4:16 AM
To: John Snelson
Cc: talk at xquery.com
Subject: Re: [xquery-talk] Re: The State of Native XML databases
On 8/21/07, John Snelson <john.snelson at oracle.com> wrote:
> Andrew Welch wrote:
> > On 8/21/07, John Snelson <john.snelson at oracle.com> wrote:
> >> Andrew Welch wrote:
> >>> Isn't the difference that one _looks like_ a date, but the other
> >>> _is_ an xs:date.
> >> What _is_ an xs:date?
> > Something you can perform operations on using functions that expect an
> That's one possible answer. Of course, the framework allowing you to
> perform operations on the xs:date could easily be storing it as a
> string. Or maybe 3 non-negative integers. Or maybe the number of
> seconds since the year 0. Or...
But it can only do any of those things if you tell it that the String
'2007-08-21' is a date, and not just a String?
Giving <date>2007-08-21</date> to the database can't be enough...
> Another answer is that an xs:date is any string which matches the
> lexical construct defined in the XML Schema spec.
Yes, but again the value in <date>2007-08-21</date> is castable as an
xs:date but you can't perform date operations on it without first creating
an xs:date out of it.
The way I was reading this thread was that if the type information was
stored in the database, the cost of creating the xs:date would be incurred
once and not once per query that uses the value?
Please feel free to point out my misunderstandings, this is all good info.
talk at x-query.com
More information about the talk