OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] XQuery and DTD/Schema?

[ Lists Home | Date Index | Thread Index ]

Your description of what you want out of the XQuery static type system again differ from what I've heard other XML Query working group members state. I'd really love for the XML Query working group to answer some of the questions asked earlier in this thread[0] so one knows exactly what we shoul dexpect from the XQuery type system in implementations. 
[0] http://lists.xml.org/archives/xml-dev/200207/msg00286.html

	-----Original Message----- 
	From: Michael Kay [mailto:michael.h.kay@ntlworld.com] 
	Sent: Mon 7/8/2002 3:29 AM 
	To: 'Joe English'; xml-dev@lists.xml.org 
	Subject: RE: [xml-dev] XQuery and DTD/Schema?

	> Static typing can help optimize low-level operations that are
	> close to the machine (for instance this is why as a rule SML
	> is more efficient than Scheme), but languages that do heroic
	> optimizations -- APL, SQL, and Common Lisp for instance --
	> tend to be dynamically typed.  Static typing is neither
	> necessary nor sufficient.
	> What optimization strategies does the XQuery type system
	> enable? Has anyone implemented, or even just designed, a
	> database access optimizer that takes advantage of it?
	The most important optimization in database languages is selection of
	indexes. By definition this needs to be done statically: if you have to
	look at the data in order to decide whether to use an index, the index
	serves no purpose.
	If the query is
	employee[salary > 100000]
	then to use an index on salary, at the very least you have to know that
	the index was built using the same assumptions about the ">" operator as
	the query is using. So some kind of static analysis is necessary. And
	some of the characteristics of the XPath 1.0 dynamic typing rules (which
	say, for example that "1.0" = "1" is false, but "1.0" <= "1" is true)
	become a major embarassment.
	I have argued in the past that the static analysis you need to do for
	optimization isn't precisely the same as you do for static typing of
	programming languages; but it certainly has a lot in common.
	Tamino's optimizer certainly uses this kind of analysis. When you are
	dealing with terabytes of data, there is no other option.
	Michael Kay
	Software AG
	home: Michael.H.Kay@ntlworld.com
	work: Michael.Kay@softwareag.com
	The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
	initiative of OASIS <http://www.oasis-open.org>
	The list archives are at http://lists.xml.org/archives/xml-dev/
	To subscribe or unsubscribe from this list use the subscription
	manager: <http://lists.xml.org/ob/adm.pl>


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS