On Wed, Jun 01, 2005 at 06:02:05PM +0200, Martin Kersten wrote:
Hello,
Rodrigo Schmidt wrote: Seems I made a mistake in my earlier reply.
Hello,
I am PhD student at EPFL, Switzerland, and I am working on database replication. I just started looking at MonetDB and I have a simple doubt. Are modules like the SQL module written in MIL or in C/C++?
Modules are mostly written in C, but they require more programming experience than MIL. MIL is primarilly used to quickly produce code, without all the worries you have when writing a C-based module.
Indeed SQL server module is writen in C. The SQL server module translates SQL into MIL-statements which are then executed on MonetDB/MIL server. Some small procedures are done directly in mil.
I downloaded the sources of the SQL front end and I found some files whose extension is ".mx" and which seem to implement the SQL translator into MIL. The code looks pretty much like C++.
The SQL to MIL translator is written in C. The code and documentation are packaged in 'mx' format, which supports combining code and documentation. The Mx tool is provided in the distribution.
Moreover, I read somewhere in your web page that two-phase-locking is implemented outside the database kernel. Where exactly is it implemented for the SQL front end?
It is handled in the catalog management area. Basically, the kernel provides a module to implement locks and semaphores. However, the relational algebra engine does not include these calls to separate the users, it is expected that the front-end compiler provides these calls. This is in line with what some modern DBMS do.
The MonetDB/MIL server indeed only comes with the handles to build transaction support (such as locking etc). The SQL server complements this with full transaction support. This is based on Optimistic Concurrency Control. A transaction simply starts and at the end checks the used columns where not changed by other transactions during its lifetime. All changes are then logged to a writeahead log and once this is completed the 'commit' is done. Niels Nes
Thank you very much in advance!
Success, keep us informed on your progress and findings.
Martin Kersten
Best regards, Rodrigo Schmidt
------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-- Niels Nes, Centre for Mathematics and Computer Science (CWI) Kruislaan 413, 1098 SJ Amsterdam, The Netherlands room C0.02, phone ++31 20 592-4098, fax ++31 20 592-4312 url: http://www.cwi.nl/~niels e-mail: Niels.Nes@cwi.nl