Subject: outer joins, postquel fcns, command grouping, array idxs

From: David Feldcamp <[email-masked]>
Date: Thu, 30 Apr 92 08:52:36 -0700

I sent out most of these questions last week but never heard anything back...

Several questions from a relatively new user (of version 3.1) having read both the 
user and reference manuals:

[1] There are several places where the documentation says that outer join semantics
	are not present for a particular feature, there are also the reserved words
	leftouter and rightouter which are not documented anywhere else - is there
	ANY feature in this version which will provide outer join semantics
	(documented or not)?

[2] The user manual specifies one syntax for defining postquel functions, e.g.,
	
	define function xxx (language = "postquel", returntype = ZZZ)
		arg is (typename) as
		...

     while the reference manual specifies another syntax, e.g., 

	define postquel function xxx(argtype1, argtype2, ...)
		...

Which is right?
If the first is right, how do you specify more than one argument?
If the second is right, how do you specify the return variable?
In either case, how do you specify a function that does a number of operations
	(outside of a list of queries which the docs do say is not supported)?

[3] Is there any way to batch a number of commands for a single PQexec as long
	as only one retrieve is present and appropriate begins and ends are present?
	For example, right now I cannot even get the command sequence
		"begin retrieve (xxx.all) end" 
	to work correctly and must instead submit the begin, retrieve, and end 
	commands with separate PQexecs.  I've found and replicated the "polling"
	mechanism in the monitor, but that doesn't really solve the problem.
	Ideally this functionality would be provided by Postquel functions -
	will the many restrictions (on type and number of internal statements, 
	type of arguments) be removed in upcoming version?

[4] Although it is not stated in the documentation, it does not seem to be
	possible to use anything other than a constant as an array index; i.e.,
	
	"retrieve (object.name) where object.views[object.lastview] = 2"

	doesn't seem to be accepted by the parser.  Am I doing something wrong or
	is this an unstated limitation?  If it is a limitation, will it be 
	removed in future versions?

Any insight into these problems would be greatly appreciated.

David Feldcamp
UBC Computer Science
[email-masked]