Return-Path: Received: from punt-2.mail.demon.net by mailstore for rleyton@dogbert.demon.co.uk id 896629254:20:03834:1; Sun, 31 May 98 15:40:54 GMT Received: from mail.acm.org ([199.222.69.4]) by punt-2.mail.demon.net id aa2003725; 31 May 98 15:40 GMT Received: from brookes.ac.uk (csmail.brookes.ac.uk [161.73.1.1]) by mail.acm.org (8.8.5/8.7.5) with ESMTP id LAA115174 for ; Sun, 31 May 1998 11:35:06 -0400 From: majordomo@brookes.ac.uk Received: by brookes.ac.uk (8.8.7/) id QAA07238; Sun, 31 May 1998 16:40:34 +0100 (BST) Date: Sun, 31 May 1998 16:40:34 +0100 (BST) Message-ID: <199805311540.QAA07238@brookes.ac.uk> To: rleyton@acm.org Subject: Majordomo file: list 'leap' file 'leap.9802' Reply-To: majordomo@brookes.ac.uk X-Mozilla-Status: 8001 -- >From leap-owner Sun Feb 1 17:24:46 1998 Received: by brookes.ac.uk (8.8.7/) id RAA12189; Sun, 1 Feb 1998 17:23:33 GMT Message-ID: <34D4A7BA.C19027FD@acm.org> Date: Sun, 01 Feb 1998 16:50:02 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: LEAP Mailing List Subject: leap list: User documentation updated Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk The user documentation has now been significantly updated to reflect the changes to LEAP 1.1. It will appear in the release of 1.1.9, which I hope to make available in a couple of weeks time. The release will primarily be a release to support systems without ANSI C-compilers (such as SunOS 4.1.x), and any bugs that come to light between now and then. In the meantime, the new documentation is available on the LEAP web page. I have completely removed the old (, messy, and out of date) user guide structure, and replaced it with HTML versions of: * The LEAP user guide (1.1.x) * The LEAP online help pages * The LEAP multiple-user installation instructions. There is also an example of installation instructions for students, that have been geared specifically for Oxford Brookes University. The scripts in the 1.1.8 installation had been modified to remove the need for student intervention for all but the target installation directory. A wrapper script has also been developed to allow students to simply type "leap" and start it up correctly - this was because many students had not previously had much exposure to Unix. The URL is, of course: http://www.dogbert.demon.co.uk/leap.html Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Mon Feb 2 22:14:40 1998 Received: by brookes.ac.uk (8.8.7/) id WAA21103; Mon, 2 Feb 1998 22:13:40 GMT Message-ID: <34D629F4.103F449D@acm.org> Date: Mon, 02 Feb 1998 20:17:56 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: LEAP Mailing List Subject: leap list: HP-UX and LEAP 1.1.x - Bug & Fix Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk If you've tried to compile LEAP 1.1.x on HP-UX, you might be getting a segmentation fault when doing a 'make install' (Specifically, when configuring the master database). This e-mail details a solution to the problem. If you're not on HP-UX, or not getting a Segmentation fault at this point, you may as well click the delete button... If you are unsure yourself, I can e-mail you a fixed version of 1.1.8, but only on request. Where it's happening: The problem was reported when compiling LEAP 1.1.8 (and 1.1.7) on an HP-UX 10.20 box using both gcc and HP's cc. What's happening: It would appear that FILENAME_MAX is defined to 14 in stdio.h, which is significantly lower than encountered on other systems, such as Linux and Solaris, where it's somewhere at or about 127 - Thus, when opening a file such as '../database/master/leaprel.relation', a structure (such as a character array) will be overfilled (A strcpy is usually used), causing a segmentation violation then or when the value is addressed. What to do: Osman Buyukisik suggests replacing all occurances of FILENAME_MAX with another definition such as MY_FILENAME_MAX, which is set to a suitably high value (255). Pass it as a definition (-D parameter), or updated consts.h - which should be included in almost everywhere. If that fails, use defines.h - But bear in mind defines.h is rebuilt when you run 'configure' (as is the makefile, for that matter). When it'll be fixed: It'll be fixed in 1.1.9 - I'll be changing the strcpy's to strncpy's, and sanity checking FILENAME_MAX is something suitable. A warning will be displayed for low values of FILENAME_MAX (<50). I'm not sure whether or not I'll be overriding the value at this stage. Who do we thank? Osman Buyukisik was immensely helpful in both identifying the problem, notifying it to me, and also identifying the problem. Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Wed Feb 11 21:20:08 1998 Received: by brookes.ac.uk (8.8.7/) id VAA23671; Wed, 11 Feb 1998 21:18:37 GMT Message-ID: <34E20C8D.F15D189A@acm.org> Date: Wed, 11 Feb 1998 20:39:41 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: LEAP Mailing List Subject: leap list: LEAP bug fixes Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk Just a quick note to say that following the presentation of LEAP to students at Oxford Brookes University, a number of bugs have been identified and fixed in LEAP 1.1.8. The new version of LEAP (1.1.8.2) is available via: http://www.brookes.ac.uk/~e0190404/leap-1.1.8.2.tar.gz http://www.dogbert.demon.co.uk/leap-1.1.8.2.tar.gz (You'll need to save the file to disk - I'm not using FTP because it's an interim fix) Fixes included in 1.1.8.2 will be rolled up into 1.1.9 in the next week, along with a little bit of new functionality and updated documentation (including a new "FAQ"). Do keep those bug reports coming! Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Mon Feb 16 19:30:13 1998 Received: by brookes.ac.uk (8.8.7/) id TAA10590; Mon, 16 Feb 1998 19:29:09 GMT Date: Mon, 16 Feb 1998 19:28:59 GMT Message-Id: <199802161928.TAA10555@brookes.ac.uk> To: leap@brookes.ac.uk From: leap@brookes.ac.uk Subject: leap list: BOUNCE leap@brookes.ac.uk: Admin request Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk >From leap-owner Mon Feb 16 19:28:50 1998 Received: from po9.andrew.cmu.edu by brookes.ac.uk (8.8.7/) id TAA10520; Mon, 16 Feb 1998 19:28:35 GMT Received: (from postman@localhost) by po9.andrew.cmu.edu (8.8.5/8.8.2) id OAA28136 for leap@brookes.ac.uk; Mon, 16 Feb 1998 14:28:15 -0500 (EST) Received: via switchmail; Mon, 16 Feb 1998 14:28:13 -0500 (EST) Received: from tremblant.weh.andrew.cmu.edu via qmail ID ; Mon, 16 Feb 1998 14:27:52 -0500 (EST) Received: from tremblant.weh.andrew.cmu.edu via qmail ID ; Mon, 16 Feb 1998 14:27:51 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.tremblant.weh.andrew.cmu.edu.sun4x.55 via MS.5.6.tremblant.weh.andrew.cmu.edu.sun4_51; Mon, 16 Feb 1998 14:27:50 -0500 (EST) Message-ID: <4ou9Aqm00bkP0fi0Q0@andrew.cmu.edu> Date: Mon, 16 Feb 1998 14:27:50 -0500 (EST) From: Suman K Grandhi To: leap@brookes.ac.uk Subject: LEAP 1.1.8 Questions Hello, My name is Suman Grandhi from Carnegie Mellon University, and I am using LEAP version 1.1.8. I am running into some troubles with the program and I was wondering if you can help me out. I had a few questions and concerns about the program itself: 1) What is the easiest way to add and delete attributes (not data) to/from a relation? 2) How do I delete a database? Can I just go to the directory /database and delete the folder created for a specific database? 3) The maximum number of attributes per relation is 20. I need more than that, how do I go about it. I was looking at somwhere around 50 attributes per relation, so if I join three relations of 20 attributes, can I achieve one joined relation of 60 attributes? 4) Within a database, is there a way to search all of the relations for a given key? It would be gladly appreciated if you could give me a hand with these unanswered questions. Thanks for you time. -Suman Kumar Grandhi email: grandhi@andrew.cmu.edu >From leap-owner Mon Feb 16 21:52:29 1998 Received: by brookes.ac.uk (8.8.7/) id VAA24966; Mon, 16 Feb 1998 21:52:15 GMT Message-ID: <34E8B1A8.8E24493E@acm.org> Date: Mon, 16 Feb 1998 21:37:44 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: leap@brookes.ac.uk, grandhi@andrew.cmu.edu Subject: Re: leap list: BOUNCE leap@brookes.ac.uk: Admin request References: <199802161928.TAA10555@brookes.ac.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk Suman, Many thanks for your e-mail. > My name is Suman Grandhi from Carnegie Mellon University, and I am > using LEAP version 1.1.8. I am running into some troubles with the > program and I was wondering if you can help me out. I had a few > questions and concerns about the program itself: > > 1) What is the easiest way to add and delete attributes (not data) > to/from a relation? Unfortunately, there is no way at the moment to actually add attributes to a relation outside of the relational operators. It's something I'd like to add, and shouldn't be too difficult to implement. The rl_duplicate operator in rtional.c would need to be reworked marginally to perhaps take additional fields/types/sizes to add to the resulting relation. > 2) How do I delete a database? Can I just go to the directory /database > and delete the folder created for a specific database? Another thing I'd like to add - Deleting a database by removing the directory will probably cause unexpected behaviour (the prototype Win32 version I've just compiled up crashed when I tried this - but the compiler is a bit flakey). The master.leapdat relation needs to be maintained as well. If you "delete (leapdat) (NAME='dbname')" THEN delete the directory, it'll resolve the problem. Look for it in 1.2 releases... > 3) The maximum number of attributes per relation is 20. I need more > than that, how do I go about it. I was looking at somwhere around 50 > attributes per relation, so if I join three relations of 20 attributes, > can I achieve one joined relation of 60 attributes? Blimey. Ever heard of normalisation? ;-) I'll look at increasing the number - the reason it was set so low was because of the DOS history of LEAP - and performance was an issue with the old format relations. This is the comment in consts.h: /* Maximum number of attributes allowed. This is again small * for compatibility reasons. It should be set higher at a later * date, but memory might become an issue, depending on the * size of ATTRIBUTE_MAXIMUM_SIZE */ #define MAXIMUM_ATTRIBUTES 20 Feel free to increase this number then recompile - but bear in mind it will increase the memory requirement. LEAP is pretty good as far as memory leaks go (thank purify). LEAP is a bit lazy with it's memory allocation - it always creates a tuple based on the Maximum size of relation possible. This'll become more dynamic in 1.3. > 4) Within a database, is there a way to search all of the relations for > a given key? Another thing to look out for in a 1.2 release - The LEAP data dictionary is pretty poor. Now that LEAP completely self installs, and sets up the databases from scratch, maintaining a data dictionary of attributes shouldn't be too much of a problem. Another item to look for in a relase of 1.2 > It would be gladly appreciated if you could give me a hand with these > unanswered questions. Thanks for you time. Well, I don't think I've actually said what you'd perhaps hoped to hear. 1.1.9 is coming out very soon (I'm going to put together the e-mail announcement when I finish this e-mail) and I hope this to be the last Beta release, and will therefore make 1.2 releases available pretty soon. Once 1.2 is out there, I'll be branching the code and getting on with implementing indexes in 1.3, and implementing some of the things you request above in 1.2. See my 'next' e-mail for more details. Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Mon Feb 16 22:58:43 1998 Received: by brookes.ac.uk (8.8.7/) id WAA01285; Mon, 16 Feb 1998 22:58:19 GMT Message-ID: <34E8BF73.8A8EFA88@acm.org> Date: Mon, 16 Feb 1998 22:36:35 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: LEAP Mailing List Subject: leap list: Presentation notes Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk Dear all, Following the presentation I gave at Oxford Brookes University recently, I have uploaded the slides I used to the Web site: http://www.dogbert.demon.co.uk/user.htm http://www.brookes.ac.uk/~e0190404/user.htm Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Mon Feb 16 23:19:40 1998 Received: by brookes.ac.uk (8.8.7/) id XAA03202; Mon, 16 Feb 1998 23:19:26 GMT Message-ID: <34E8C0EA.511D58C6@acm.org> Date: Mon, 16 Feb 1998 22:42:50 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: LEAP Mailing List Subject: leap list: 1.1.9 released Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk Dear all, LEAP 1.1.9 has just been released to the usual ftp/web sites: ftp://ftp.demon.co.uk/pub/compsci/databases/leap/leap-1.1.9.tar.gz ftp://sunsite.unc.edu/pub/Linux/Incoming/leap-1.1.9.tar.gz http://sunsite.unc.edu/pub/Linux/Incoming/leap-1.1.9.tar.gz http://www.brookes.ac.uk/~e0190404/leap-1.1.9.tar.gz http://www.dogbert.demon.co.uk/leap-1.1.9.tar.gz All theses links are available on the LEAP web page: http://www.dogbert.demon.co.uk/leap.html LEAP 1.1.9 contains the promised updated documentation, and a few minor bug fixes, as well as the 1.1.8.x changes I notified the list. I very much hope that this WILL be the last beta release before I make 1.2 available. In addition, I've *finally* moved LEAP to CVS source control. This will make the support of two branches of LEAP far, far easier, as I intend to branch the source, in order to make (more) significant changes in 1.3, and support 1.2 as the stable release of 1.1. I've tested LEAP 1.1.9 on Solaris and Linux. Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Tue Feb 17 23:41:04 1998 Received: by brookes.ac.uk (8.8.7/) id XAA25168; Tue, 17 Feb 1998 23:39:26 GMT Message-ID: <34EA10AD.EE04596C@acm.org> Date: Tue, 17 Feb 1998 22:35:25 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: leap@brookes.ac.uk CC: grandhi@andrew.cmu.edu Subject: Re: leap list: Suggestions References: <199802161928.TAA10555@brookes.ac.uk> <34E8B1A8.8E24493E@acm.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk Richard Leyton wrote: > > 4) Within a database, is there a way to search all of the relations for > > a given key? > > Another thing to look out for in a 1.2 release - The LEAP data > dictionary is pretty poor. Now that LEAP completely self installs, and > sets up the databases from scratch, maintaining a data dictionary of > attributes shouldn't be too much of a problem. Another item to look for > in a relase of 1.2 I've actually spent a bit of time today modifying 1.1.9 to support two new system relations: leapattributes - (relation,attribute,size,type,length) leaptypes - (types,size) And will be adding more to increase the metadata held in LEAP. I'll also be modifying the commands 'list', and 'describe' (and a few others) to use these relations, rather than the internal structures. If you have any suggestions for metadata that LEAP could do with, please let me know. I'll be putting a patch out for 1.1.9.1 towards the end of the week or over the coming weekend. This will also include a change to the maximum number of attributes, and some other changes in order to make LEAP 1.2 more flexible. One of them will modify the structure of the .relation file - requiring a reinstallation of LEAP (easy with the 'reverse' command in 1.1.7+). Suman - let me know if you'd like to take a look at this patch any earlier. Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Sun Feb 22 14:16:18 1998 Received: by brookes.ac.uk (8.8.7/) id OAA15195; Sun, 22 Feb 1998 14:15:35 GMT Message-Id: <199802221418.PAA23707@k9.dds.nl> From: tjoen@dds.nl To: leap@brookes.ac.uk Date: Sun, 22 Feb 1998 15:18:08 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: leap list: Delete test doesn't work (1.1.8 Cygwin32) Priority: normal In-reply-to: <34E8C0EA.511D58C6@acm.org> Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk 1. leap-1.1.9 not on http://sunsite.unc.edu/pub/Linux/Incoming/leap-1.1.9.tar.gz To get it from other sites is very difficult for me becaue of restricted internet access. 2. After succesfully creating relation test (displayed without * after command "list"): delete test delete (test) non-fatal error #9 cannot find relation [] non-fatal error #29 error occured during expression excecution If relation has another name only error: No condition specified. Correct syntax not in manuals. 3. manual (both file and online): creating relation relation r (...) should be replaced by relation (r) (...) i.e. with brackets >From leap-owner Sun Feb 22 21:05:59 1998 Received: by brookes.ac.uk (8.8.7/) id VAA17342; Sun, 22 Feb 1998 21:05:49 GMT Message-ID: <34F081AD.CB562081@acm.org> Date: Sun, 22 Feb 1998 19:51:09 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: leap@brookes.ac.uk CC: tjoen@dds.nl Subject: Re: leap list: Delete test doesn't work (1.1.8 Cygwin32) References: <199802221418.PAA23707@k9.dds.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk tjoen@dds.nl wrote: > > 1. leap-1.1.9 not on http://sunsite.unc.edu/pub/Linux/Incoming/leap-1.1.9.tar.gz > To get it from other sites is very difficult for me becaue of > restricted internet access. I was aware of this - I've been keeping an eye on the situation - they're usually very good at relocating files, but not recently. I've tried once more to upload a copy, but if that fails, I'll be contacting the maintainers. In the meantime, the web page does have a copy for downloading, so you don't even need ftp permissions/access. > 2. After succesfully creating relation test (displayed without * > after command "list"): > delete test > delete (test) > non-fatal error #9 cannot find relation [] > non-fatal error #29 error occured during expression excecution > > If relation has another name only error: No condition specified. > Correct syntax not in manuals. 'test' is a command that I implemented to make it easy to test new functionality - I'd not disabled it... I'll fix that in the next release. That explains the error messages. delete normally requires conditions, but when (test) specified as an argument in brackets, it tries to execute the operation 'test'... > 3. manual (both file and online): creating relation > relation r (...) should be replaced by > relation (r) (...) i.e. with brackets Will be corrected in the next release. The 'next release' will hopefully be early this week - I've made a lot of changes to support new data dictionary relations, and improve the error handling. It'll be 1.1.9.3, and will be issued as a patch, unless people would prefer a full release. Thanks for your e-mail... Be nice to know your name... ;-) All I have to go on is tjoen@dds.nl Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org >From leap-owner Tue Feb 24 00:06:23 1998 Received: by brookes.ac.uk (8.8.7/) id AAA01976; Tue, 24 Feb 1998 00:05:00 GMT Message-Id: <199802240007.BAA00395@k9.dds.nl> From: tjoen@dds.nl To: leap@brookes.ac.uk Date: Tue, 24 Feb 1998 01:07:16 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: leap list: Delete test doesn't work (1.1.8 Cygwin32) Priority: normal In-reply-to: <34F081AD.CB562081@acm.org> Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk > From: Richard Leyton > tjoen@dds.nl wrote: > > > > 1. leap-1.1.9 not on http://sunsite.unc.edu/pub/Linux/Incoming/leap-1.1.9.tar.gz Got it today. > The 'next release' will hopefully be early this week Not so fast! tIt happened that here had always been a new release before I finished the readme-file of the former one ;-) >From leap-owner Sat Feb 28 15:29:38 1998 Received: by brookes.ac.uk (8.8.7/) id PAA26451; Sat, 28 Feb 1998 15:24:38 GMT Message-Id: <199802281527.QAA04244@k9.dds.nl> From: tjoen@dds.nl To: leap@brookes.ac.uk Date: Sat, 28 Feb 1998 16:27:10 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: leap list: 1.1.9 still buggy Priority: normal In-reply-to: <34E8C0EA.511D58C6@acm.org> Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk 1. opening leap makes all relations temporary, closing without "change rel" means lost data 2. r1=project (autom) (yr,til) r2=project (mutaut) (yr,til) r3=((r1) minus (r2)) join (autom) doesn't work >From leap-owner Sat Feb 28 18:17:54 1998 Received: by brookes.ac.uk (8.8.7/) id SAA08240; Sat, 28 Feb 1998 18:14:36 GMT Message-ID: <34F85360.9202D1D1@acm.org> Date: Sat, 28 Feb 1998 18:11:44 +0000 From: Richard Leyton X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: leap@brookes.ac.uk Subject: Re: leap list: 1.1.9 still buggy References: <199802281527.QAA04244@k9.dds.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: leap@brookes.ac.uk Precedence: bulk Reply-To: leap@brookes.ac.uk All of the bugs you describe are actually features (corny as that might sound...) tjoen@dds.nl wrote: > > 1. opening leap makes all relations temporary, closing without > "change rel" means lost data ...That's why the 'temporary' status is there. See: http://www.dogbert.demon.co.uk/user_guide.htm#temporary Type: status to list all settings, and set temporary off to change the 'temporary' setting. Or, (if you want temporary relations to be persistent all of the time) edit the configs/vars file. This sets it such that temporary relations are NOT removed when LEAP shuts down. As a side note, 1.1.9.3 (which will be available tomorrow) has a new database - tempdb, where all 'zz' temporary relations are stored. This will reduce significantly the 'clutter' in a database (which was why temporary relations were deleted in the first place). > 2. > r1=project (autom) (yr,til) > r2=project (mutaut) (yr,til) > r3=((r1) minus (r2)) join (autom) > > doesn't work Nope. And that's correct. JOIN requires conditions. A sensible join cannot 'just' happen without some information about the relationship between two relations. (It is, after all a product followed by a select) Take an SQL example: select * from a,b - you get a cartesian product. Because LEAP currently is a strict implementation of the relational operators, it doesn't make assumptions, so no condition -> invalid operation. A join requires a condition. A cartesian product doesn't. If no condition is specified, it looks in the relship relation. Take a look at the relship relation - this allows you to define the relationships between two relations, so the above command would work. Alternatively, specify a condition after the second relation, ie. r3=(r1) minus (r2) r4=(r4) join (autom) (r4.attribute=autom.attribute) (Unfortunately it's still not possible to specify the relation name of a sub-operation). I think maybe I should add a third item, so join's logic in searching for a condition is: 1. Does a condition exist on the command line 2. Does a condition exist in the relship relation 3. Assume a cartesian product. Comments? Hope that has answered your questions. Regards, Richard. -- Richard Leyton mailto:rleyton@acm.org