Hey Gabriele, and rest of monetdb-developers,
After a few weeks of inactivity I've resumed work on making datamapper
work with MonetDB/XQuery. At the moment the dataobjects layer is
working, it can construct a simple xquery and retrieve the results and
map them to objects, as demonstrated here: http://pastie.org/781382
I am now working on implementing the other functionality, conditions,
joins, creating, inserting and updating records. My primary goal is to
use the MonetDB/XQuery as if it were a normal tables+rows-oriented
database. (How to really exploit the advantages of XQuery/XML might be
a whole new project.)
This is what the XQuery monetdb adapter looks like now:
http://github.com/d-snp/ruby-monetdb-xquery/blob/do/lib/monetdb_adapter.rb
For comparison, this is what the standard DataObjectsAdapter looks
like (outputting SQL queries):
http://github.com/datamapper/dm-core/blob/master/lib/dm-core/adapters/data_o...
I have absolutely zero previous experience with XQuery so if you have
any comments or suggestions, XQuery/XQUF snippets or patches they
would be very welcome.
Greetings,
Tinco Andringa
On Tue, Dec 1, 2009 at 15:25, Gabriele Modena
On 30 Nov 2009, at 18:15, Tinco Andringa wrote:
Darn, just when I decided to announce my port of the monetdb-ruby-sql gem to xquery, you release a fix of your own :P Anyway it's here:
Hi Tinco! Nice to hear you are interested in monetdb/ruby :)
There's still some differences between the official one and mine, I think mine handles errors a bit more gracefully, but it could be I missed something. I will look at the other changes as soon as possible to see if mine has any odd behaviour.
I will have a look at your implementation and see if we can merge the effort.
In the following weeks I will be working on making XQuery and MonetDB work on DataMapper (since DataMapper is a nicer framework than ActiveRecord, and also ActiveRecord depends heavily on SQL)
That is also very nice to hear since I am personally fond of DataMapper!
I would suggest to have a look at data objects [0] first, since it seems a unified way to deal with interfaces under DM.