Page 1 of 1

Xataface 1.1 Released

PostPosted: Mon Jan 05, 2009 8:24 pm
by shannah
Xataface 1.1 has been released. I includes a number of bug fixes and performance improvements so it is recommended for all users using 1.0.x.

Upgrading should be a simple matter of replacing your old Xataface folder with this new one. Applications should work fine unchanged.

Re: Xataface 1.1 Released

PostPosted: Mon Jan 12, 2009 5:13 pm
by dratman
shannah wrote:Xataface 1.1 has been released. I includes a number of bug fixes and performance improvements so it is recommended for all users using 1.0.x.

Upgrading should be a simple matter of replacing your old Xataface folder with this new one. Applications should work fine unchanged.


Steve,

I noticed on Freshmeat you wrote that the SQL parsing had been extended. Is there any documentation of what can (or what can't) be parsed?

Thank you.

Ralph

PostPosted: Mon Jan 12, 2009 5:19 pm
by shannah
I haven't documented it in detail. But the parser used to have problems with the following:

1. Expressions in the select field list.
e.g. select a, 10+5 as b from foo
This is now fixed.

2. Subqueries in the select list.
e.g. select a, (select max(b) from c) as d from foo
This is now fixed.

3. Group by clauses can now contain expressions.

These changes were made primarily to improve the support for managing multilingual content in the database, but they may affect/improve other areas also.

The changes were made to the lib/SQL/Parser.php and lib/SQL/Compiler.php classes primarily, which, once upon a time were from the PEAR class repository; but they have been overhauled so much that they barely resemble the original parsers.

Note also that these changes were for version 1.1 to 1.1.1 . Upgrading from 1.0.x to 1.1 involves wide variety of changes (you can see the changes.txt file with the distribution for an abbreviated list).

PostPosted: Mon Jan 12, 2009 6:03 pm
by dratman
Thanks, Steve, for your quick reply. I will look at those sources and see if I can understand, in a general way, how the parser works, and maybe even get a glimpse of how you use the output of the parser. An interesting topic, because to me it suggests a move at least a little bit into the semantics of a query.

Ralph