HDTenEightyP/NetNews huggingface dataset:
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Subject: Re: General Print Form Routine
Organization: 
Date: Thu, 30 Jul 1992 20:58:59 GMT

In article <1992Jul30.183629.6079@schaefer.math.wisc.edu>, 
horn@schaefer.math.wisc.edu (Jeffrey Horn) writes:
> I am looking for a general routine to print any given simple form to a 
> file or printer.  Call a simple form, a form that has a set of simple
> fields on the top part of the form and bolow them (possibly) a table field.
> The form could be of arbitrary width and height.  What I want is a routine
> that would get the position and size of all the fields, titles, trim, etc.
> and print them spaced as they are on the form.  The routine would then
> unload ALL the data in the table field and print it as it appears in the
> columns on the form.

It sounds like you've already covered all the bases.  The "printform"
command doesn't do what you want, because you want a picture not of the
form itself, but rather of what is on the screen after the application
has displayed and filled in the form and the user has possibly changed
it.  The FRS "printscreen" function (maps to ^G on many terminals) only
prints what appears on the screen, not the underlying stuff in the table
fields.

> The current print routines provided by ingres only print the visible
> rows in a table field.  If I get no replies I plan to write such a 
> generic print form in embedded C.

This sounds challenging.  You probably won't be able to use "formdata"
and "tabledata" to do it, because the former can't appear in the display
loop for the form, so you'll probably have to use "describe form" and
"describe table" and lots of "inquire_frs".  

It seems like the hardest part will be reproducing the part of FRS that
takes a field (or column) format and a value and converts it to a
display value.  It's too bad INGRES doesn't provide such a function.

--Mark Jaeger				internet: cs_mj@gsbvax.uchicago.edu
Graduate School of Business		yellnet:  (312) 702-0328
University of Chicago			faxnet:   (312) 702-0233
Disclaimer: My opinions are my own and not those of my employer.
Ich bin ein Virus.  Mach' mit und kopiere mich in Deine .signature.

Newsgroups: comp.databases.ingres
From: djm@dagmar.cray.com (Dave Miller)
Subject: Re: select * with a 3-way join having same column names in ESQL/C
Reply-To: djm@dagmar.cray.com (Dave Miller)
Organization: Cray Research, Inc.
Date: 29 Jul 92 09:28:35 CDT


In article <1992Jul29.000202.23983@news.columbia.edu>, alan@curta.cc.columbia.edu (Alan Crosswell) writes:
|> I had a code segment which said:
|> 
|>  exec sql declare x cursor for
|>     select *
|>       from hosts h, hwaddr hw, ip i
|>         where h.hname=i.hname
|>           and i.ipaddr=hw.ipaddr;
|> 
|> .. where all three of the referenced tables have a column named hname.
|> 
|> I then fetched like this:
|> 
|> exec sql fetch x into :hosts,:ip,:hwaddr;
|> 
|> where hosts,ip, and hwaddr are structs generated via dclgen.
|> 
|> I got random wierd results under 6.3 and 6.4 include garbage data
|> and numeric type conversion error messages until I changed the code to
|> select explicit columns and fetch into explicit struct members in the
|> same order.
|> 
|> I assume this is because of the ambiguity of the hname column in the three
|> structs.  The question is whether what I did was incorrect usage or if
|> ESQLC is generating incorrect code to fill in those structs.  It is not
|> clear from the manuals which is the case.  Any pointers appreciated.
|> 

What is happening here is that the * is getting expanded for each of your three
tables.  So first it will retrieve all the columns from "hosts" in the order
they were declared in the create statement.  Then all the columns from "hwaddr".
Finally all the columns from "ip".  This is perfectly legal as far as ESQLC is
concerned.

In the fetch, you are just retrieving into the three columns specified.  Again
this is perfectly legal, since it is allowable to have more columns that are
selected than are retrieved into.  The extra columns are just skipped.
At runtime, there might be some type conversion problems (as you noted) that
would result in errors.  The runtime routines do the best job they can of doing
the conversion.  If the "hosts" table has 3 or more columns, all of your result
rows would be from that table, probably not what you intended.

Dave Miller
Cray Research, Inc.
EXEC SQL include <std.disclaimer>
Newsgroups: comp.databases.ingres
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Subject: Re: Authorizing users for Ingres Net -- Easily(!?)
Organization: 
Date: Tue, 21 Jul 1992 20:26:55 GMT

In article <1992Jul17.145725.1256@speedy.aero.org>, amiranda@speedy.aero.org 
(Ann Miranda) writes:
>  I am searching for an EASY, quick way to authorize a group of users for 
> various remote nodes on our network.  Our system has 1 master database, with about
> 10 remote nodes.  I have to add about 50 users to the database, and to each of
> the nodes.  
> 	As far as I can tell by reading the manual, I have to enter each person
> on each machine.  That's 500 rows of data I would have to type. (yuk!!)
> 
> 	Is there a better way?  (like inputting the same file on all machines,
> or loading a table in the database?)  Am I doing it all wrong??

There may be an unsupported way that will work if the 10 nodes are set
up in a similar way, but it may also require some hacking about on your
part.  There are a bunch of files in ii_system:[ingres.files.name] (VMS)
or $II_SYSTEM/ingres/files/name (Unix) which start with "II_NODE" and
"II_LOGIN".  They usually have the node name of the local node appended
to the file name.  The first file is for node authorizations entered
through "netu"; the second is for user authorization records.  

You may be able to enter the 50 users on one node, and then copy the
ii_login* file to the other nodes, changing the file name as you go. 
For safety, it might be a good idea to shut down INGRES (or at least the
net server, gcc) while you're doing the copy.

Hope this helps.

--Mark Jaeger				internet: cs_mj@gsbvax.uchicago.edu
Graduate School of Business		yellnet:  (312) 702-0328
University of Chicago			faxnet:   (312) 702-0233
Disclaimer: My opinions are my own and not those of my employer.
Ich bin ein Virus.  Mach' mit und kopiere mich in Deine .signature.

Newsgroups: comp.databases.ingres
From: horn@schaefer.math.wisc.edu (Jeffrey Horn)
Subject: General Print Form Routine
Organization: Univ. of Wisconsin Dept. of Mathematics
Date: Thu, 30 Jul 92 18:36:29 GMT

I am looking for a general routine to print any given simple form to a 
file or printer.  Call a simple form, a form that has a set of simple
fields on the top part of the form and bolow them (possibly) a table field.
The form could be of arbitrary width and height.  What I want is a routine
that would get the position and size of all the fields, titles, trim, etc.
and print them spaced as they are on the form.  The routine would then
unload ALL the data in the table field and print it as it appears in the
columns on the form.

The current print routines provided by ingres only print the visible
rows in a table field.  If I get no replies I plan to write such a 
generic print form in embedded C.

Jeff Horn
Newsgroups: comp.databases.ingres
From: sfc%tpghq@uunet.UU.NET (Steve Caswell)
Subject: Re: Naming conventions
Organization: National Radio Astronomy Observatory
Date: Tue, 28 Jul 1992 20:46:23 GMT

> 
> From: horn@schaefer.math.wisc.edu (Jeffrey Horn)
> Subject: Naming conventions
> 
> How do YOU name database objects and ingres application objects.  I am 
> interested in naming conventions for:
> 
>     Databases
>     Tables
>     Forms
>     Frames
>     4gl procedures
>     SQL Procedures
>     Rules
>     Database Events
> 
> Thanks for your input, 
> 
> Jeffrey Horn
> 
> 
I have written and presented a paper on how we implement rules and procedures,
which includes guidelines for naming convention, as well as other topics.   Jeff
or anyone else who is interested in a copy of this paper can drop me an e-mail
with your mailing address and I'll be glad to forward it.

Steve Caswell           |   (404) 448-7727    |  "The opinions expressed are my
Principal Consultant    |   sfc@tpghq.com     |   own.  They may not be perfect,
The Palmer Group        |   uunet!tpghq!sfc   |   but they're all I've got."

Newsgroups: comp.databases.ingres
From: Gavin Trigg <gavin@asis.unimelb.EDU.AU>
Subject: Re: INGRES ReportWriter Woes
Organization: National Radio Astronomy Observatory
Date: Wed, 22 Jul 1992 22:28:26 GMT

Bert,

In Ingres 6.4 there have been 2 new commands added called .SETUP and .CLEANUP.
SETUP can be used to execute the appropriate SQL statements to create views,
temporary tables, etc. to manipulate the data prior to the ONE select in the
report itself.  Obviously, CLEANUP is to reverse the effects of SETUP.

-- 
Gavin Trigg	Internet: gavin@asis.unimelb.EDU.AU
		Telephone: +61 3 344 6003 	Fax +61 3 347 4803
Data Base Administrator, Information Technology Services (ASIS),
The University of Melbourne, Parkville, Australia.  3052.
Newsgroups: comp.databases.ingres
From: KOSTER@CDHF1.GSFC.NASA.GOV
Subject: ABFIMAGE and Linking
Organization: National Radio Astronomy Observatory
Date: Wed, 22 Jul 1992 00:01:40 GMT

In article <1992Jul16.143426.3029@praxis.co.uk>, bill@praxis.co.uk 
(William Walker) writes:

> Does anyone know if it is possible to link an application image
> without having to use abfimage?  We have got a very large development
> system which is half C and half 4GL.  We are running 6.3 under Unix.
> All the C is compiled outside ingres and placed into libraries.
> 
> If I change a C program and want to produce a new executable using
> abfimage, I often have to wait 1/2 hour while Ingres trawls through
> the few hundred osq files before it starts 'building runnable image of
> ...'

First, execute ABFIMAGE and wait until it outputs the "building runnable..."
message.  When it appears, hit CTRL/Y and enter $EXIT (I'm assuming VMS).
If you examine your current directory, INGRES has placed a linker options
file under the name of OPTnnnnnn.OPT, where nnnnnn is some uniqueness
number or some such.

What we have done, on many occasions, is to rename that options to something
more specific to the appication, such as application.OPT.  This options
file is now available for you to use directly, such as

$LINK/EXE=application.exe application/OPT

or, if you need the debugger,

$LINK/DEBUG/EXE=application.exe application/OPT


This options file includes all the procedures identified as being part of
your application, including embedded SQL/QUEL procedures and non-INGRES
routines, such as C, Pascal, and/or FORTRAN routines.  These routines are
expected to reside (their objects, at least), in the ING_ABFDIR directory.
It should be easy for you to compile your non-OSL procedures so that the
resulting object files are located in ING_ABFDIR.

If you like, of course, you could always edit the options file so that
objects are obtained from whatever directories you wish.

This shortcut can save A LOT of time.  It does have its shortcomings,
though:

1.  OSL procedures cannot be handled this way.  I know of no way to compile
OSL procedures SO THAT AN OBJECT FILE IS FORMED.  When we've changed OSL
code, we've had to go back to ABF or ABFIMAGE.

2.  Obviously, if new procedures are added to the application or some
procedures are removed, the options file needs to be updated appropriately.

Hope this helps.

Bill Koster
Computer Sciences Corporation
301.497.2712
KOSTER@CDHF1.GSFC.NASA.GOV

Newsgroups: comp.databases.ingres
From: Gavin Trigg <gavin@asis.unimelb.EDU.AU>
Subject: Re: What will ingres run on ?
Organization: National Radio Astronomy Observatory
Date: Thu, 23 Jul 1992 21:14:44 GMT

> 
> I have been looking for a database that will run on SCO UNIX,
> which is most like SysV.  Does ingres run on anything other than
> a VAX ?
> 
> rjs@crs.cl.msu.edu
> 
Yes, many different failures of Unix.  This site has Ingres running on SunOS,
Solbourne (SunOS clone), VAX/VMS, Interactive Unix, DEC Ultrix, IBM RS 6000.  I
have run benchmarks on Unix implementations on Data General, Hewlett-Packard,
Control Data, Silicon Graphics.  It also runs on Pyramid and ICL.  For
something a little different it also runs on DOS, OS/2.  Goes on and on ......

Find your local Ingres office and ask them about your specific requirements.

-- 
Gavin Trigg	Internet: gavin@asis.unimelb.EDU.AU
		Telephone: +61 3 344 6003 	Fax +61 3 347 4803
Data Base Administrator, Information Technology Services (ASIS),
The University of Melbourne, Parkville, Australia.  3052.
Newsgroups: comp.databases.ingres
From: sethg@dcatlas.dot.gov (Seth Grimes)
Subject: Re: VAX clusters, INGRES licensing...Now I am confused!
Organization: U.S Dept. of Transportation
Date: Tue, 21 Jul 1992 01:09:48 GMT


Ingres _does_ use the distributed lock manager in a VAXcluster with
multiple nodes running Ingres.
From: demarsee@wrdis01.af.mil (Darryl Marsee)
Newsgroups: comp.databases.ingres
Subject: Backspace problems
Date: 30 Jul 92 19:40:35 GMT
Distribution: na
Organization: 1926CCSG Robins AFB

Forgive me if this a FAQ ....

We're running Ingres 6.3 on our Pyramid MIServer 4/2 running OSX 5.0d.
Access is via PC's running Smarterm 220 in vt100 mode over serial lines.
Everyone runs under c-shell, using vt100i as their Ingres terminal type.

The problem is that under certain menus, such as "Create" when running
"tables", Ingres does not let us use the BackSpace Key (^H) to do
a backspace like everything else on our system ... it requires a DEL
(^?).  This is not to our liking, as this requires our users to do
a Control-BackSpace to do a backspace.  So, I figured I could go in
and change the rubout definition in the vt100i.map to take care of
this ... however, setting it equal to controlH didn't work ... in
fact, no matter what I try, it seems that a controlH does nothing
at all.  I tried setting rubout = controlT to see if indeed rubout
was working, and infact it was: ^T worked fine as the rubout.  I just
can't get our BackSpace Key to map to Ingres' DEL FRS Command.  I've
also tried creating my own termcap entry without the "bs" boolean
set, and have tried just about everything for the "bc" setting, but
other than making my left_arrow key do strange things, this hasn't
worked.

Does anyone have any suggestions for a termcap or FRS map entry that
will fix this?  Or is there something easy I'm missing?  Or is this
an undocumented feature of Ingres that I can't workaround?

Many Thanks & Regards for any help,
                          ____                  
Darryl E. Marsee         |    \   1926 CCSG/SCCI 205 Perry Street
Control Data Systems     |  *  \  Robins Air Force Base, GA 31098
demarsee@wrdis01.af.mil  |_____/  demarsee@logdis1.wr.aflc.af.mil
From: jjm+@andrew.cmu.edu (James J. Murawski)
Newsgroups: comp.databases.ingres
Subject: Re: Splitting Tables Across Areas
Date: 28 Jul 92 03:52:03 GMT
Article-I.D.: andrew.YeRHHXm00WBK81B2IY
Organization: Administrative Systems, Carnegie Mellon, Pittsburgh, PA


On 27-Jul-92 in Splitting Tables Across Areas
user KGNWSP%MISX02@KINGSTON.A writes:
>We will running 6.4 on Vax/VMS 5.4-2 shortly, and I want to check out Ingres'
>ability to span a table across two disk drives (two Ingres areas).  Have
>any of you folks attempted this yet?  Any bugs?  Any problems during
>the "modify".  Thanks - I appreciate your help.

I've been splitting tables across multiple locations for over two years
on a Unix flavor of Ingres with no problems at all.  Several of my tables
are split across four locations.

====================================================================
    Jim Murawski
    Sr. Data Base Analyst               (412) 268-2650  [office]
    Administrative Systems              (412) 268-6868  [fax]
    Carnegie Mellon University          jjm+@andrew.cmu.edu
    4910 Forbes Avenue                  Office: UCC 155
    Pittsburgh, PA 15213-3890
Newsgroups: comp.databases.ingres
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Subject: Re: abfimage
Organization: 
Date: Tue, 21 Jul 1992 05:11:44 GMT

In article <1992Jul16.143426.3029@praxis.co.uk>, bill@praxis.co.uk 
(William Walker) writes:
> Does anyone know if it is possible to link an application image
> without having to use abfimage
> 
> We have got a very large development system which is half C and half
> 4GL.  We are running 6.3 under Unix.
> 
> All the C is compiled outside ingres and placed into libraries.
> 
> If I change a C program and want to produce a new executable using
> abfimage, I often have to wait 1/2 hour while Ingres trawls through
> the few hundred osq files before it starts 'building runnable image of
> ...'

I've never tried it, but it's very likely that it can be done.  Under
VMS, you can do "set verify" to find out what scripts are being run, and
this lets you actually see the command that imageapp (or abfimage) uses
to link (load) all the object files together into a runnable binary.

INGRES creates a link options file on the fly when you use imageapp,
which is a list of all the object files that need to be linked together,
and it uses this in the "link" command.  Here's an example of the "link"
command:

	$ link/nomap/exe=mj_test_link.exe DE:[SCRATCH.C.MJ]opt00adeJ.opt/options

and here are the contents of the link options file:

	PROD_II_SYSTEM:[INGRES.library]frontmain.obj
	PROD_II_SYSTEM:[INGRES.library]abfmain.obj
	PROD_II_ABF:[INGRES.ABF.iidbdb.mj_test_link]abextract.obj
	PROD_II_ABF:[INGRES.ABF.iidbdb.mj_test_link]foo.obj
	II_FRAMELIB/share
	II_LIBQLIB/share
	II_COMPATLIB/share

In this case, the only ABF object that I provided was "foo.obj".  INGRES
filled in all the rest.  You'll have to make the translation to Unix. 
PROD_II_SYSTEM is the definition for II_SYSTEM.  PROD_II_ABF becomes
part of the ING_ABFDIR environment variable.  II_FRAMELIB, II_LIBQLIB,
and II_COMPATLIB are shareable images in VMS, and there are probably
equivalent object libraries (archives?) in Unix.  Try poking around in
$II_SYSTEM/ingres/files for abf* and esql* for hints.

Good luck.

--Mark Jaeger				internet: cs_mj@gsbvax.uchicago.edu
Graduate School of Business		yellnet:  (312) 702-0328
University of Chicago			faxnet:   (312) 702-0233
Disclaimer: My opinions are my own and not those of my employer.
Ich bin ein Virus.  Mach' mit und kopiere mich in Deine .signature.

Newsgroups: comp.databases.ingres
From: thf@zelator.in-berlin.de (Thomas Funke)
Subject: Re: select * with a 3-way join having same column names in ESQL/C
Reply-To: thf@zelator.in-berlin.de (Thomas Funke)
Organization: NNU Corp. - NeXT is Not UN*X
Date: Wed, 29 Jul 1992 11:08:44 GMT

In article <1992Jul29.000202.23983@news.columbia.edu>  
alan@curta.cc.columbia.edu (Alan Crosswell) writes:
> I had a code segment which said:
> 
>  exec sql declare x cursor for
>     select *
>       from hosts h, hwaddr hw, ip i
>         where h.hname=i.hname
>           and i.ipaddr=hw.ipaddr;
> 
> .. where all three of the referenced tables have a column named hname.
> 
> I then fetched like this:
> 
> exec sql fetch x into :hosts,:ip,:hwaddr;
> 
> where hosts,ip, and hwaddr are structs generated via dclgen.
> 
> I got random wierd results under 6.3 and 6.4 include garbage data
> and numeric type conversion error messages until I changed the code to
> select explicit columns and fetch into explicit struct members in the
> same order.
> 
> I assume this is because of the ambiguity of the hname column in the  
three

I had the same problem before. It's not from ESQLC but probably a bug in  
the optimizer. Because the errors do not occur every time.

Only solution: Do not write 'select * from table1, table2, ...'
but write down all columns explicitely. Annoying ....



-- 
------------------------------------------------------------------
Thomas Funke  ** E-mail: thf@zelator.in-berlin.de
NeXT-Developer * Unix-Consultant
------------------------------------------------------------------
Newsgroups: comp.databases.ingres
From: sfc%tpghq@uunet.UU.NET (Steve Caswell)
Subject: Re: What will ingres run on ?
Organization: National Radio Astronomy Observatory
Date: Thu, 23 Jul 1992 21:28:52 GMT

> 
> >From rjs@crs.cl.msu.edu Wed Jul 22 06:02:05 1992
> Path: tpghq!uunet!uunet!europa.asd.contel.com!darwin.sura.net!jvnc.net!netnews.upenn.edu!msuinfo!crs.cl.msu.edu!rjs
> From: rjs@crs.cl.msu.edu (Robert J. Stanton)
> Newsgroups: comp.databases.ingres
> Subject: What will ingres run on ?
> Message-ID: <1992Jul22.100205.13112@msuinfo.cl.msu.edu>
> Date: 22 Jul 92 10:02:05 GMT
> Sender: news@msuinfo.cl.msu.edu
> Distribution: comp.databases.ingres
> Organization: Michigan State University
> Lines: 5
> 
> I have been looking for a database that will run on SCO UNIX,
> which is most like SysV.  Does ingres run on anything other than
> a VAX ?
> 
> rjs@crs.cl.msu.edu
> 
> 
INGRES does run under SCO UNIX.  There are a couple of flavors of INGRES on
that box.  One is the INGRES the comes packaged with SCO UNIX.  This version is
described in the ODT-DATA section of the SCO Users Manual.  You can also
purchase full-blown INGRES from Ingres, An ASK Company.  This will get you
the latest and greatest, which is 6.4.  The version that comes packaged with
SCO UNIX is an older version (6.2 I think).  6.4 has many nice new features, so
I would suggest you consider getting 6.4.



Steve Caswell           |   (404) 448-7727    |  "The opinions expressed are my
Principal Consultant    |   sfc@tpghq.com     |   own.  They may not be perfect,
The Palmer Group        |   uunet!tpghq!sfc   |   but they're all I've got."
Newsgroups: comp.databases.ingres
From: Stephan Ozminski <OZMINSKI%MSUKBS.BITNET@pucc.Princeton.EDU>
Subject: Q: nested group by
Organization: National Radio Astronomy Observatory
Date: Mon, 20 Jul 1992 14:33:00 GMT

Does anyone know about the following bug?  I ask on the net because we
do not have Technical Support, only Update Support, so I am not likely
get a response if I sent them a message directly.  So, I'm posting to
the net without first asking Ingres.

It is possible for Ingres (SunOS v6.3 and v6.4/01) to return incorrect
results if a view with a group by clause references a view with a
group by clause, even though relational theory would dictate
otherwise.

Nested group by clauses are necessary because Ingres SQL does not
support nested aggregate functions.  Of course the alternative is to
create intermediate tables, but I should have to do that.  I don't
like having to remember to delete junk tables.

Here is an example of nested group by clauses:

create view tagcountv as
select id, subentry, tag, count(tag) as tagcount
from datatable
GROUP BY ID, SUBENTRY, TAG;

create view tag_max as
select tag, max(tagcount) as maxcount
from tagcountv
GROUP BY TAG;

When I select from tag_max, I get repeats of several of the tags, with
different maximum counts.

If I change tagcountv to have a group by clause of:

        GROUP BY TAG, ID, SUBENTRY

Then the aggregates are calculated properly.  Presumably, the problem
is caused by Ingres not sorting the table resulting from tagcountv,
before it calculates aggregates for tag_max.  Is this a general
problem with SQL implementations or just an Ingres bug?

-Stephan

Stephan J. Ozminski            Bitnet:    OZMINSKI@MSUKBS
Michigan State University      Internet:  OZMINSKI%KBS.DECNET@CLVAX1.CL.MSU.EDU
W.K. Kellogg Biological Station
3700 E. Gull Lake Dr.
Hickory Corners, MI 49060

Newsgroups: comp.databases.ingres