[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: RIM 0.54 and RS 0.83 distribution
Farrukh, [resent with CC to the list] I was reading your query BNF and had some questions. Are you sure you want the "IN" clause, with arbitrary nesting of subqueries? I think this would be especially hard to implement efficiently with anything other than a relational databse. In general, it looks like your subset would allow queries that I think would be difficult to implement if you stored your data in XML, or any form other than in a relational database: For example, the following queries for all unique combinations of the values from the x and y columns of table 'a', and the z column of table 'b'. SELECT DISTINCT a.x, a.y, b.z FROM a, b Here is one that would do a 3-way join: SELECT FROM a, b, c WHERE a.x = b.x and b.y = c.y and a.z = c.z Of course, nested subqueries could be used to create some hairy requests as well. In one of your recent email's, you said that you implemented the query processor for this BNF in 4 hours, but mentioned that you hadn't bound it to your back end yet. It seems like you have primarily just done parsing then, which is usually easy, so it doesn't surprise me that it would only take a few hours. One of the main arguments made after the invention of SQL was that you can create a language which appears to be asking for very run-time expensive behavior (joins, cross-products, etc), but that with a sophisticated query optimizer, it should be possible to actually execute the query in a reasonable amount of time. I would hate to require that people either use a relational database, or implement their own query optimizer. It is hard to write a query optimizer. That is one of the main reasons that JDO chose a filtering-based query feature, which does not open the possibility of arbitrary joins and cross-product creation. Michael
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC