HDTenEightyP/NetNews huggingface dataset:
From: mjl@vax.oxford.ac.uk
Newsgroups: comp.databases.ingres
Subject: Re: HELP! SQL (Ingres) problem
Date: 15 Dec 92 11:08:39 GMT
Organization: Oxford University VAX 6620

In article <1992Dec11.151318.12353@ips.cs.tu-bs.de>, mack@ips.cs.tu-bs.de (Thomas Mack) writes:
> 
> That's interesting - I came across a similar phenomenon just two days ago.
> I had the chance to test this behaviour on sybase as well, and the result
> was no different.
> 
> I observered, that every construct:
> 
> SELECT ...
> FROM ...
> WHERE (clause A) or (subselect-clause)
> 
> did not give any result, if the subselect-clause did not deliver any rows,
> irrespective of the result in clause A. In some queries I get _some_
> resulting rows, but much less than without the subselect-clause.
> 
> Are these unrecognized SQL-restrictions? It does not seem to depend
> on the database system, as sybase behaves the same way.
> 

Thanks to those who offered advice on this problem. I have had a suggestion
that there is a bug involving OR affecting 6.4/01, which is fixed in version
6.4/02. Not sure where this is documented but whenever we get this next
update I will test it.

It sounds as though your problem is similar to mine, but how many people noticed
my error in the explanation of the example? I meant to say that the number
of rows returned by the LARGER of the two clauses A & B is the mimimum that
should be returned by the combined A OR B. It makes no difference to the
essence of the problem though.

================================================================================
Martin Loach, Childhood Cancer Research Group, 
Belsyre Court, 57 Woodstock Rd, Oxford, OX2 6HJ, United Kingdom.
Voice : +44 865 310030 (operator)
Fax   : +44 865 514254
JANET : MJL@UK.AC.OX.CCRG
================================================================================
Newsgroups: comp.databases.ingres
From: glennm@hpman010.uksr.hp.com (Glenn Mackie)
Subject: Re: Raw Datafiles on Ingres??
Date: Tue, 15 Dec 1992 11:14:03 GMT
Organization: UK SMPC, Manchester
X-Newsreader: TIN [version 1.1.4 PL6]

Michael A Leo (melkor!valandil!mal) wrote:
:     In article <rule-091292172916@17.9.6.35> rule@apple.com (Jeff Rule) writes:
:     >In article <1992Dec9.172402.3908@sequent.com>, map@sequent.com (Michael
:     >Perry) wrote:
:     >> However, you can turn on Direct I/O by using:
:     >> 
:     >>    ingsetenv II_DIRECT_IO y
:     >> 
:     >> and restarting your server(s). Tthis will help your file-system I/O.
:     >> 
:     >
:     >Tell me more!  How is this different from the "normal" way ingres is doing
:     >I/O?  What are the tradeoffs?  Is this documented anywhere?
:     
:     This way Ingres bypasses the Unix buffer cache and writes directly to
:     the cooked file.  There is a performance increase but I haven't
:     measured it.
:     
: Alas, I called Ingres tech support, and this only works on Sequent machines.
: As it indicates, Ingres will bypass the file system.  According to Ingres
: the performance increase is quite substantial.  

	Are there any data integrity issues associated with this method??
	Do Sequent and Ingres users employ this method in a live environment
	or is it purely for benchmarking?

	Just wondering

	Glenn Mackie
Newsgroups: comp.databases.ingres
From: thomasl@mtl.mit.edu (Thomas J Lohman)
Subject: Ingres sessions
Organization: MIT Microsystems Technology Laboratories
Date: Sat, 12 Dec 1992 19:38:07 GMT

Does anyone know how to get the Unix pid associated with a database
connection?  I already have a script which removes all database connections
except for ingres owned connections ( I wish Ingres would supply this for
offline checkpointing etc...perhaps in the new releases).  What I would like
to do then is send a HUP/KILL signal to the processes which had the database
connections.  Perhaps this is too much to ask since the process can originate
on a client machine.  Does anyone have any thoughts?

thanks,


--tom
Newsgroups: comp.databases.ingres
From: sm_rosen@ceres.fccc.edu (Steve Rosen)
Newsgroups: comp.databases.ingres
Subject: Need 4GL/app builder recommendations
Date: 18 Dec 92 14:59:34 GMT
Reply-To: sm_rosen@ceres.fccc.edu
Organization: Fox Chase Cancer Center - Phila, PA
Originator: sm_rosen@ceres


Anybody have any recommendations for 4GL/GUI builders that work well with
Ingres?  I am using v6.4 on DECstations with Ultrix/Motif/C. I'd be curious
to know how extensively you have used a specific product.

The following are minimal requirements:

	(1) Must be DB independent as we may switch to Sybase
            in the near future.

	(2) Have good support for building graphical interfaces
            as this will be an important part of the application.

	(3) Supports building distributed applications in some shape
            or form.

	(4) Works well with well know S/W dev tools such as CodeCenter, etc.

I have begun to gather infor on Unify, JYACC/JAM and Uniface?
Any other suggestions?  Thanks, e-mail appreciated.
-- 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             Steve Rosen / Fox Chase Cancer Center / Phila, PA
         {Voice}: (215) 728-3665, E-Mail: sm_rosen@ceres.fccc.edu

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.databases.ingres
From: mikes@Ingres.COM (Mike Schilling)
Subject: Re: Problems with 'FIELD' function in Windows4GL-Scripts
Date: 17 Dec 92 17:28:27 GMT

From article <1992Dec16.104137.5440@rulway.LeidenUniv.nl>, by zamper@slc5 (Andreas Zamperoni):
> I have a problem with the class returned by the 'FIELD' function, causing
> that I can't apply the method I want, because 'FIELD' returns another
> class than expected/desired.
> 
> I have an 'EnumField' within a 'SubForm' within a 'TableField', and I want to
> use 'ValueList.AddTextItem(...)' to manipulate the 'EnumField' (list) of a specific
> row of my 'TableField'.
> 
> The command should be something like:
> 
>  FIELD (table[row].subform.enumfield).ValueList.AddTextItem(...)
> 
> but I get a message like "... ValueList is not a field of the specified class ...".
> I looked in the manuals and I read that a command
>  
>  FIELD (tablefield[n].column) 
> 
> returns an object of class 'CellAttributes' and not - as I need - an object of 
> class 'EnumField'. How can I add items to my list (maybe directly, using 
> array-like notation, as I read in the manuals too, but which didn't work)?
>  
> Please e-mail me any suggestions for solutions. Thanks in advance,
> 
>  A. Zamperoni
> 
You can't change the value list for only one row of the tablefield: for
any given column in a tablefield, all of the rows have the same type of
FieldObject, and the FieldObjects are identical, except for what can be
overridden in the CellAttributes.

You can change the value list for the entire column by changing it in the
column's protofield.
----------------------------------------------------------------------------
mikes@ingres.com = Mike Schilling, INGRES, An ASK Group Company, Alameda, CA
Just machines that make big decisions,
Programmed by fellows with compassion and vision.	-- Donald Fagen, "IGY"
Newsgroups: comp.databases.ingres
From: cathys@Ingres.COM (Cathy Savino)
Subject: Re: Windows 4GL vs. ESQL interfaces
Keywords: ESQL, Windows 4GL, database interface.
Reply-To: cathys@ingres.com (Cathy Savino)
Organization: <ingres, An ASK Company
Date: 14 Dec 92 21:37:59 GMT

In article <kitchel.724345020@manta>, kitchel@manta.dpsi.com (Sidney W. Kitchel) writes:
|> 	Ingres offers several options for application development. Two
|> of them are Windows 4GL and embedded SQL (ESQL) in languages like C 
|> and Cobol. Both the 4GL and ESQL approachs involve preprocessors. Are
|> the the resulting interfaces essentially the same?? I.e. do the
|> preprocessed codes behave in the same way by using the same library of
|> primitive Ingres calls and hooking up to program variables in the same
|> protocol??
|> 	We have some experience with ESQL application development and
|> would like to know more about the behavior of 4GL before we do any
|> development in it.
|> 							--Sid
|> 
|> --
|> Sidney W. Kitchel  	    kitchel@cs.indiana.edu, kitchel@dpsi.com
|> Data Parallel Systems, Inc.  ============||  DPSI  ||===============
|> 4617 E. Morningside Drive	                      (812) 334-8100
|> Bloomington, Indiana,  47408  USA		FAX:  (812) 334-8121

Not even close. Windows4gl is an a GUI application generator. If you run it under
X/Motif, it creates X applications. Under decwindows in creates decwindows 
applications. ESQL/C creates character based applications. To find out more
about windows4gl, call 1-800-4ingres.
--
Cathy Savino 
   ___     _____   __  __       Ingres, An ASK Company
  / _ \   / ____\  | |/ /       1080 Marina Village Parkway
 / /_\ \  \____ \  | |\ \       Alameda, Ca 94501
/_/   \_\ \_____/  |_| \_\      (510) 748-3524
                                cathys@ingres.com
Newsgroups: comp.databases.ingres
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Subject: Re: Ingres sessions
Organization: 
Date: Sun, 13 Dec 1992 17:48:39 GMT

In article <1992Dec12.193807.23878@athena.mit.edu>, thomasl@mtl.mit.edu 
(Thomas J Lohman) writes:
> Does anyone know how to get the Unix pid associated with a database
> connection?  I already have a script which removes all database connections
> except for ingres owned connections ( I wish Ingres would supply this for
> offline checkpointing etc...perhaps in the new releases).  What I would like
> to do then is send a HUP/KILL signal to the processes which had the database
> connections.  Perhaps this is too much to ask since the process can originate
> on a client machine.  Does anyone have any thoughts?

The only thought I had would be to use the iimonitor command and the
output from formatting each session.  See the I & O Guide for details. 
There _is_ a terminal identifier in there, and that, together with the
"w" or "who" command, might give you the pid of the user.

As you say, if the connection is through INGRES/Net, you're probably out
of luck.  In this case, I think iimonitor calls the terminal "batch".

I'd like to see INGRES/Net and the server connection code enhanced so
that they knew about the pid, username, node, connect time, and database
connection name (including vnode) for all connections.  It would make
some of these administration and debugging tasks much easier.  I'd love
to hear something about what their plans are in these directions. 

--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: map@sequent.com (Michael Perry)
Subject: Re: Raw Datafiles on Ingres??
Organization: Sequent Computer Systems, Inc.
Date: Fri, 11 Dec 92 18:59:34 GMT

In article <rule-091292172916@17.9.6.35> rule@apple.com (Jeff Rule) writes:
>In article <1992Dec9.172402.3908@sequent.com>, map@sequent.com (Michael
>Perry) wrote:
>> However, you can turn on Direct I/O by using:
>> 
>>    ingsetenv II_DIRECT_IO y
>> 
>> and restarting your server(s). Tthis will help your file-system I/O.
>> 
>
>Tell me more!  How is this different from the "normal" way ingres is doing
>I/O?  What are the tradeoffs?  Is this documented anywhere?

This way Ingres bypasses the Unix buffer cache and writes directly to
the cooked file.  There is a performance increase but I haven't
measured it.

I believe it is documented in the I&O Guide.

Mike
-- 
    "Life's a bench, then you die!"
Newsgroups: comp.databases.ingres
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Subject: Re: ********
Organization: 
Date: Sun, 13 Dec 1992 16:39:31 GMT

In article <1g74d7EINNfje@uni-erlangen.de>, 
berthold@faui60.informatik.uni-erlangen.de (Berthold Reinwald) writes:
> 
> Due to some comments on my last posting (subj: ********, I'm sorry about
> this), I think, I should clarify my problem:
> 
> A) First the structure of my table with some instances:
> 
> OP_DEBITOREN
> re_no   ku_no     r_z_datum         o_betrag      markierung
> 
> 1       1         20.10.1993        3000.000      0
> ...
> 
> B) Second, my job:
> 
> I have to write down a procedure, which (1) selects debitors from the
> table, who have outstanding bills and (2) these guys should get a reminder.

Ah, so _this_ is the real problem.  How about this:

	update op_debitoren o
	set markierung = 1 
	where exists (
		select re_no,ku_no
		from op_debitoren o2
		where 1=1
		and o2.re_no = o.re_no
		and o2.ku_no = o.ku_no
		group by re_no, ku_no
		having 
interval('day', date ('30.11.1993') - min(r_z_datum)) > 10
		and min(o_betrag) > 0 and min(markierung) = 0
	)

This implements the update in a single SQL statement, instead of
trying to implement cursors in a database procedure.  Unfortunately,
this does not solve your problem of sending a message, but maybe it will
still help.  Maybe you need another column (like a time stamp) to
trigger the message.

--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: dtd@quark.ansto.gov.au (David Denton)
Subject: Re: Ingres sessions
Organization: Australian Nuclear Science and Technology Organisation
Date: Sun, 13 Dec 1992 23:13:18 GMT

In article <1992Dec12.193807.23878@athena.mit.edu> thomasl@mtl.mit.edu (Thomas J Lohman) writes:
>Does anyone know how to get the Unix pid associated with a database
>connection?  I already have a script which removes all database connections
>except for ingres owned connections ( I wish Ingres would supply this for
>offline checkpointing etc...perhaps in the new releases).  What I would like
>to do then is send a HUP/KILL signal to the processes which had the database
>connections.  Perhaps this is too much to ask since the process can originate
>on a client machine.  Does anyone have any thoughts?
>
>thanks,
>
>
>--tom

I've been asking (no pun intended) Ingres about this for years.
In Ingres 6.4 (the one we run anyway)  you can finally track down 
the terminal device name associated with an Ingres session using iimonitor
but thats as far as it goes.

In short I'd like to know too.

David Denton
ANSTO
Australia
dtd@nucleus.ansto.gov.au

Newsgroups: comp.databases.ingres
From: nowacki@porsche.net.com ( Michael Nowacki I.T. Database Contractor)
Subject: Re: Verifying DB integrity
Organization: Network Equipment Technologies, Redwood City
Distribution: usa
Date: Wed, 16 Dec 1992 19:29:14 GMT

In article <1992Dec15.152656.1@gsbacd.uchicago.edu> cs_mj@gsbacd.uchicago.edu (Mark Jaeger) writes:
>In article <1992Dec8.171609.19032@unet.net.com>, nowacki@porsche.net.com 
>(Michael Nowacki I.T. Database Contractor) writes:
>> How do you, as a DBA, validate the integrity of production databases
>> for which you are responsibile?
>> 
>> Have you ever been required to be able to pro-actively verify that no internal
>> file structures, such as index trees, are corrupt?
>> 
>
>I've tried to think about this problem on occasion, but it seems to me
>to be too daunting a task to come up with a complete solution.  It is an
>interesting question, though.

a) it is a fact that Ingres doesn't trash data so often that you can't live w/o
thorough routine validation
b) nonetheless, some critical applications cannot afford the risk of going 
without. 

>The statement that "you are on your own" is only partially true.  INGRES
>has the "verifydb" command with the "table" operation, and it does do
>_some_ checking.  Warning: Only do this in "report" mode!!!

I recieved a email reply from an Ingres person along this same line. I am
familiar with verifydb; that's why I didn't consider it the method of choice.
When 6.0 came out it was almost entirely unsupported; now it's supported only
in report mode. I would like a more confident statement from ASK/Ingres(tm)
telling us how reliable they consider it to be.

>The "verifydb" utility tries to verify the integrity of the index
>structure of a table or secondary index.

So, how many DBAs actually do this in production? When and if you've got a
sufficient maintenance window, is it common practice to perform this "extra"
level of checking? I don't believe in giving computers time off...

>occasions where I knew there was a problem with a table because of other
>problems (server crashed, or server reported table corruption in the
>error log).  But I suppose one could use it proactively as well.

I've had to face the music with databases that have been corrupt for months
before applications code tripped over the problem. That's why I don't consider
proactive validation to be a luxury. 


>It seems to me there are several levels of checking:

My original post didn't clearly differentiate the two kinds I was asking about:

1. results of failure of referential integrity enforcement (responsibility of
the user)

2. corrupt internal control structures (responsibility of the DBMS)

For 1) the vendor(s) could provide wiz-bang utilities, and that would be nice,
but for 2) we're really dependent upon them.

Like anyone else, after using a far more functional verify utility (in Rdb), 
I'm spoiled. I'd like to see more attention paid to verifydb than the 3 or 4
pages in the current doc set. At least decide to support it when we really
need it, in run mode.

>--Mark Jaeger				internet: cs_mj@gsbvax.uchicago.edu

mn
Newsgroups: comp.databases.ingres
From: dominick@protocol.zycad.com (Dom Paniscotti)
Newsgroups: comp.databases.ingres
Subject: Re: Windows 4GL vs. ESQL interfaces
Date: 16 Dec 1992 10:12:56 -0500
Organization: Protocol, a Division of ZYCAD Corporation
Distribution: world
Reply-To: dominick@protocol.zycad.com
NNTP-Posting-Host: hayaku.protocol.zycad.com
Keywords: ESQL, Windows 4GL, database interface.


In article <15DEC199221101939@stars.gsfc.nasa.gov>, thompson@stars.gsfc.nasa.gov (William Thompson, code 682.1, x2040) writes:
|> In article <1gkudhINNalc@hayaku.protocol.zycad.com>, dominick@protocol.zycad.com writes...
|> 
|> 	(stuff deleted)
|> 
|> >I may be true that Inges Windows/4GL is tied (heavily) to the GUI, but for 
|> >someone who needs to rapidly develop an X based database application it's 
|> >probably the best way to go.  I've also found it to be a good way to
|> >rapid prototype an application (you get functional windows very quickly).
|> >However, given enough time and money, I would have to say I would develop
|> >my application using ESQL/C and and a good GUI development package.  I think
|> >(IMHO) the later would produce a much more maintainable application 
|> >than one written in W4gl.
|> 
|> You start by saying how good W4GL is, and then you say you'd rather not use it.
|> Could you expand on why you end up with that conclusion?
|> 
|> Bill Thompson

Like I said, "given enough time and money" -- Which is something this 
software engineer never has enough of :-).  I'll give you a real life 
example.  I recently was asked to develop an X-based configuration
management application, my initial estimate was >2 man years (using 
ESQL and XbuilderAccessory (sp? -- a GUI development tool)).  I was 
told that there was only enough funding for 1 man year.  I went back
and decided to re-bid the job using the 4GL.  My new estimate ending
up being just over 1 man year.  The final product ending up being
developed on time and budget using the 4GL. BTW, that was using W4GL
ver 1.x (no 4GL debugger, and lots of core dumps).
-- So much for the testimonial --
If I would have had the 2 man years however, I would have developed using
ESQL and C for a few reasons:
	1.  There are more people who know SQL and "C" -- therefore, it easier
            to maintain the code down the line. Furthermore, I'm not stuck
	    with it since "He's the 4GL guru" :-).
	2.  You can design much more flexible GUI's using a GUI development
	    tool (Ingres supports a fixed set of widgets and doesn't let
	    you design custom ones.
	3.  The 4GL is not as powerful/flexible/etc. as "C"
	4.  You are now tied to Ingres.  You could have possibly ported
	    the SQL and "C" code. (What happens if Ingres decided to close
	    shop or drop the W4GL product; unlikely, but...)

	Hope this clears things up,
		Dom 
-- 
Dom Paniscotti                  internet: dominick@protocol.zycad.com
Protocol, a Division of ZYCAD   phone:    (201) 347-7900            
500 International Drive         fax:      (201) 347-0303        
Mt. Olive, NJ 07828
From: brent@spss.com (Brent Lambert)
Newsgroups: comp.databases.ingres
Subject: Re: HELP! SQL (Ingres) problem
Date: 14 Dec 92 17:19:27 GMT
Organization: SPSS, Inc. - portable code group

In article <1992Dec11.151318.12353@ips.cs.tu-bs.de>, mack@ips.cs.tu-bs.de (Thomas Mack) writes:
> In article <1992Dec9.123448.10686@vax.oxford.ac.uk> mjl@vax.oxford.ac.uk writes:
> >Can anyone help me with this SQL problem in Ingres. 
> 
> That's interesting - I came across a similar phenomenon just two days ago.
> I had the chance to test this behaviour on sybase as well, and the result
> was no different.
> 
> I observered, that every construct:
> 
> SELECT ...
> FROM ...
> WHERE (clause A) or (subselect-clause)
> 
> did not give any result, if the subselect-clause did not deliver any rows,
> irrespective of the result in clause A. In some queries I get _some_
> resulting rows, but much less than without the subselect-clause.
> 
> Are these unrecognized SQL-restrictions? It does not seem to depend
> on the database system, as sybase behaves the same way.

I would not base any theories on what Sybase does.  In this particular
instance, when I encountered the "ORing a subselect" problem, Sybase Tech
Support told me that it's a bug that "will be fixed in release 5".

I still have the "evidence" and some explanations that I faxed to Sybase to
demonstrate the problem if anyone would like to see it or use it to pursue a
solution with Ingres.


-- 
The above statements are not the opinions or policies of SPSS Inc.
The above statements may not be the opinions of Brent Lambert.
The first disclaimer is a policy of SPSS Inc.
Subsequent disclaimers are probably the opinion of Brent Lambert.