4GL 4.0.UH1 Compiler on Sun SPARC (I'm not impressed)...
Posted in 1992
Path: emory!swrinde!cs.utexas.edu!utgpu!watserv1!watmath!plg.waterloo.edu!dvadura
From: dvadura@plg.uwaterloo.ca (Dennis Vadura)
Newsgroups: comp.databases.informix
Message-ID: <1992Jan21.141030.22010@watmath.waterloo.edu>
Date: 21 Jan 92 14:10:30 GMT
Sender: news@watmath.waterloo.edu (News Owner)
Organization: Computer Science Dept., University of Waterloo
Originator: dvadura@plg.waterloo.edu
[Actually I am uncertain if I have the number uptop correct the compiler
was purchased new on Jan 4th.]
I have several gripes about the compiler that I feel important enough raise.
I find these inexcusable considering the amount of money that is dished
out for this product (I may be willing to accept them if it had cost a $100).
1. 4GL variable names may conflict with C reserved words. The following
program fails during the cc pass.
database foo
program main
define switch integer
let switch = 1
message "hello there"
sleep 10
end program
It fails because the 4GL compiler does not generate unique identifier
names for the C compiler pass. I understand that it is nice to
look at the C code and be able to indentify 4GL variables but couldn't
INFORMIX prepend ifx_ or something to each 4gl generated identifier.
This type of error is a mystery to people not familiar with compilers and
who look into the 4GL manual and don't find "switch" in the list of
reserved words.
2. The documented and supported method of calling report routines is to use
the construct:
output to report report_fun_name(args...)
but if instead you write:
call report_fun_name(args...)
the compiler compiles the source without any warning or errors but dumps
core when run. Whats more the 4GL RDS system will happily execute the
above incorrect invocation and appears to produce correct results although
I am now not convinced that results were a 100 percent accurate.
3. I see no reason for the requirement that the parent directories of the
directory containing the database have permitions 755 or higher. This
is inexcusable. I want to put the database into a directory, say
/u/database/live
where the permisions and ownership are as follows:
/u root 755
/u/database informix 755
/u/database/live informix 755
as it stands now I have to make /u owned by informix or I can't seem to get
grant or revoke to work for other users.
I am confident of points 1 and 2, point 3 I am not so sure about. If anyone
has a set of perms and ownerships that allow grant/revoke for users but do
not allow anyone other than "informix" to modify the database files themselves
I would appreciate being told that I am wrong. I would also prefer to make
the root directory not owned by "informix". I certainly don't want /u to be
mode 0777 to satisfy the engine this is completely unacceptable.
-thanks
-dennis
--
-------------------------------------------------------------------------------
If it bleeds then we can kill it. |Dennis Vadura
-- Aaaarnold |dvadura@plg.uwaterloo.ca
===============================================================================