[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XQuery question - feel free to ignore
> If I have a database that supports XQuery and I construct a > query that uses > the following XPath as part of a flower statement: > customer[surname = 'smith'] > how would you both want and expect the query to run? > 1) Return all customers where surname equalled exactly 'smith' or > 2) Follow the datbase matching and return 'Smith' and 'smith' > and other case > insensitive strings or > 3) I can choose by setting a parameter before running the > query which mode > to use The answer is (3). The matching rules depend on the default collation in use, which can be set in the query prolog. > > On a similar note if I ask for > customer[age > 20.5] > but age is stored as an integer would you want/expect the same sort of > conversion to be made as the database would (probably error > as unable to > implicitly cast) or would you expect the results to be > queried as XPath. The XPath 2.0 semantics are identical to the XQuery 1.0 semantics, so I'm not sure what distinction you are making. If age is defined as an xs:integer, this is comparable with the decimal value 20.5 (in fact, all numeric values are mutually comparable), so the comparison is allowed. Whether this involves a "conversion" depends on the implementation. > In essence where does the filter take place, in the database or on some > imaginary document created by the database containing all customers? That depends entirely on the architecture of your chosen implementation (and may not be a meaningful question in many cases, in the sense that the database *is* an imaginary document containing all customers). Michael Kay
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|