Dear MonetDB users and developers (and those who want to become either or both ;-), We are approaching the official release of MonetDB-4.4.0 & SQL-2.4.0 (planned for September 30 2004)! In the CVS repository on SourceForge (http://sourceforge.net/cvs/?group_id=56967), I created the release-candidate branches "MonetDB_4-4-0" & "SQL_-2-4-0" for MonetDB and MonetDB/SQL, respectively; the first release-candidate versions are tagged as "MonetDB_4-4-0_rc0" & "SQL_2-4-0_rc0", respectively. I also released the new release-candidates "MonetDB_4-4-0_rc0" & "MonetDB-SQL_2-4-0_rc0", which are available for download from SourceForge (http://sourceforge.net/project/showfiles.php?group_id=56967). (Binary versions for Windows will follow soon.) All users are highly advised (actually "requested" ;-) to use the new release-candidate( branche)s as of now (see below for detail concerning download and CVS checkout/update). Please do not hesitate to ask for support and report bugs or problems, preferably via the bug tracing system at SourceForge (http://sourceforge.net/tracker/?group_id=56967&atid=482468) or via email to monet@cwi.nl; however, please always state clearly, which version of MonetDB/SQL you are using (as the Mserver tells you at startup)! Any support for the now obsolete "MonetDB_4-3-18" & "MonetDB-SQL_2.0.18" will stop as of now. Contents: ========= - Background - Change Logs - Downloads - CVS update - CVS checkins - Testing Background ========== Trying to stick to our roadmap (http://monetdb.cwi.nl/Development/Roadmap/index.html), we plan the "official" release of MonetDB-4.4.0 + MonetDB-SQL-2.4.0 for September 30 2004. As with earlier "pre-releases" of MonetDB & MonetDB-SQL, we start with "release-candidates" to allow testing by a larger group of users before we finally make the actual releases. Hence, starting to use the release-candidates as soon as possible will only be for your own benefit ;-) According to our TestWeb (http://monetdb.cwi.nl/Development/TestWeb/index.html), both MonetDB and SQL are doing quite well right now; hence, I don't expect any (major) problems (see also "MIL clean-up" below). Change Logs =========== In MonetDB, the major change since MonetDB-4.3.18 is an extensive clean-up of the MIL syntax, a summary of which is given below. Furthermore, several (smaller) features have been added, the MAPI protocol has been extended/improved, and (of course) more bugs were fixed. In SQL, the coverage of SQL-92 & SQL-99 standard and the functionality of the JDBC & ODBC drivers have been extended. For details, please check out the changelogs in the Monetdb-changelogs mailing list on SF (http://lists.sourceforge.net/lists/listinfo/monetdb-changelogs). MIL clean-up ------------ - By improving the context-awareness of the parser, the namespace for variables has been made independent of the namespace for commands/procs (basically, the latter now always require parentheses!). Thus, you can have variables and commands with the same name. All function invocation conventions work, and behave as expected: fcn(x,y); x.fcn(y); fcn(x); x.fcn(); fcn(); - By improving the context-awareness of the parser, i := i-1; now works!!! That is, from the context, the parser decides whether the - is part of a following constant, or an infix operator. - proc definitions now always must have a full signature. This means that all parameters must be specified. A return type is obligatory; if there none one must write 'void'. The MEL syntax is used here; including variable-number of arguments. e.g. proc fcn(str a) : void { ls(a); } proc fcn(any a) : void ls(a); proc fcn(any::1 a) : any::1 return a proc fcn(..int...) : int return $($0); proc fcn(int pos, ..any::1..) : any::1 return $(pos); Note that the ugly := syntax is no longer supported. Note that the function body can be any valid MIL statement (not necessarily a sequential block). - automatic identifier to bat reference conversion is scrapped. Say you have a BAT (not a variable!) named "XYZ"; XYZ.print(); does not work any more; instead you need to use bat("XYZ").print; To alleviate sys.mx, variables for all monet_* system bats have been introduced, so you can refer to those still with an identifier. - Variables must now be introduced explicitly: VAR abc; VAR cde := 0; - Accelerator names (hash,index) were removed from the global namespace. The accbuild() and other commands now just expect strings, if you specify an accelerator. These are additional measures to separate the naming spaces. Only the atom names claim identifiers both from the command/proc and variables spaces. - MORE CONSTRUCTS REMOVED: (1) [b~], you should use b.mark(nil) (2) [~b], you should use b.reverse.mark(nil).reverse (3) [b~42], you should use b.project(42) (4) [42~b], you should use b.reverse.project(42).reverse (5) [a?b:c], you should use [ifthenelse](a,b,c) (6) [a?b:c], you should use [ifthenelse](a,b,c) (7) [a?b:], you should use [ifthen](a,b) (8) [a?:c], you should use [ifelse](a,c) Downloads ========= MonetDB-*-4.4.0_rc0-1.i686.rpm ------------------------------ These rpm's contain the binary distribution for Linux. The rpm's were built on a Fedora Core 2 system; however, they should work on other Linux distributions as well (unless there are incompatibilities with dynamically linked system libraries...). While the MonetDB-client-4.4.0_rc0-1.i686.rpm can be installed stand-alone, the MonetDB-server-4.4.0_rc0-1.i686.rpm requires the matching MonetDB-client-4.4.0_rc0-1.i686.rpm to be installed as well. To develop your own add-on modules, you additionally need to install the MonetDB-devel-4.4.0_rc0-1.i686.rpm. MonetDB-SQL*-2.4.0_rc0-1.i686.rpm --------------------------------- These rpm's contain the binary distribution for Linux. The rpm's were built on a Fedora Core 2 system; however, they should work on other Linux distributions as well (unless there are incompatibilities with dynamically linked system libraries...). To get a working MonetDB-SQL server, you need to install the MonetDB-SQL-server-2.4.0_rc0-1.i686.rpm (which requires that the MonetDB-server-4.4.0_rc0-1.i686.rpm is already installed). MonetDB's "MapiClient" also serves as a textual SQL user interface: simply start it with "MapiClient --language=sql". The MonetDB-SQL-client-2.4.0_rc0-1.RedHat.rpm contains (preliminary) ODBC & JDBC support for MonetDB-SQL. The MonetDB-SQL-devel-2.4.0_rc0-1.rpm contains header files for further development. MonetDB-4.4.0_rc0.tar.gz ------------------------ This is a gzip'ed tar file containing the source code of MonetDB; read HowToStart or HowToStart-Win32.txt for build instructions. MonetDB-SQL-2.4.0_rc0.tar.gz ---------------------------- This is a gzip'ed tar file containing the source code of MonetDB/SQL; read HowToStart-SQL or HowToStart-SQL-Win32.txt for build instructions. Mknife-1.4.0_rc0.jar -------------------- Mknife is a 'Swiss army knife' GUI to ease the interaction with a running MonetDB server. See http://monetdb.cwi.nl/GetGoing/Usage/Mknife/ for details. Binary installers for Windows will follow soon. CVS update ========== If you are already using the release candidate branches "MonetDB_4-3-18" and "SQL_2-0-18" from CVS, simply run "cvs update -dP" to update your code to this new release candidate version. If you are already using a CVS version of MonetDB/MonetDB-SQL, you can run either "cvs update -dP -rMonetDB_4-4-0_rc0" "cvs update -dP -rSQL_2-4-0_rc0" to get this very release candidate, or "cvs update -dP -rMonetDB_4-4-0" "cvs update -dP -rSQL_2-4-0" to get the most recent version in the release candidate branch. The difference is, that via the first option, you are "stuck" with this very release candidate, i.e., future "cvs update" (without "-r..." or "-A") will not change your checked-out version; via the second option, however, future "cvs update" will get you again the latest version in the release candidate branch. CVS checkins ============ All bug fixes (and only these!) on MonetDB and/or SQL are bound to go to the new release-candidate branches ("MonetDB_4-4-0"/"SQL_2-4-0"), only. On a regular basis, I will then take care of propagating these bug-fixes back to the respective main branch All new features are bound to go to the main branches (and only there!). This release-candidate branch will become the new stable/release branch within the next 2.5 weeks. Testing ======= The release-candidate branches will be tested every night. All (no-SQL) add-on modules that are tested every night will be tested with the release-candidate branch of MonetDB, *only*, unless the very maintainer(s) of any add-on module request differently. The main/development branches of MonetDB and SQL will also be tested every night. As usually, any (constructive;-) comments and feedback are more than welcome! Enjoy! Stefan -- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |