HDTenEightyP/NetNews huggingface dataset:
From: dhepner@cup.hp.com (Dan Hepner)
Subject: Re: Hot Standby DBMS's
Date: Thu, 20 Aug 1992 17:40:52 GMT
Organization: Hewlett-Packard
X-Newsreader: Tin 1.1scd1 PL4

From: edwards@world.std.com (Jonathan Edwards)

>Given a CICS-like environment, you propose splitting all input transactions
>(3270 screens) across two systems (i infer). 
>One of these system is 'muted' so that its outputs are
>supressed. This is not quite perfect, though, due to the possibility of
>timing differences on the two systems. Any transaction mix that leads to
>lock races could have different outcomes on the two systems due to random
>timing differences.

Since all locks need to be obtained on both systems before the 
transaction is eventually committed, lock race conditions (defective
design) result in deadlocks.  The system as a whole remains perfectly 
serialized.

Dan Hepner
From: chibuike@info.umd.edu (Chibuike O. Nwaeze)
Newsgroups: comp.databases
Subject: printing memo fields in dbase4 v1.1
Date: 12 Aug 92 22:09:05 GMT
Organization: University of Maryland, College Park


	Can someone tell me how to print memo fields in the report generator
of Ashton Tate Dbase4.  I have 3 dbf files, one of the dbf files contains the 
memo field.  I have modified the report .FRM file to accept memo files which I
believe have the template {VVVVVVV}.  However, whenever I run the program 
only the fields print out to the file.

	any information will be appreciated.


-Chibuike.
Newsgroups: comp.databases
From: marti@nugget.inf.ethz.ch (Robert Marti)
Subject: Re: nested SQL select
Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Fri, 14 Aug 1992 07:13:43 GMT

In article <3761@keele.keele.ac.uk>, csa09@seq1.keele.ac.uk (Paul
Singleton) writes:
ps> How, in general, can I nest SQL 'select' expressions?
ps> I have a table T(A,B,C) and I want effectively to
ps>   select A, count(B) from ( project A, B from T ) group by A
ps> [ ... ]
ps> Is there a general algorithm for translating relational algebra
ps> expressions into SQL?

I agree that "good" (orthogonal) language design should indeed
allow something like
  select <attribute-list>
  from   ( select <attribute-list>
           from   <table-name>
           ... )
  ...
However, I would just like to point out that "count" and in
particular "group by" are not considered as part of relational
algebra:  Relational algebra operators are selection, projection,
union, intersection, difference, cartesian product/join, and
division (but see also section 6.3 in [ElMasri & Navathe 89]).
In any case, I don't have a "one-SQL-statement-solution" to your
problem, either ...


Paul Singleton's article was then followed up by
jdr@starflight.Corp.Sun.COM (Jon Roland)  who writes in article
<l8h5i5INNhvg@jethro.Corp.Sun.COM>:
jr> You've missed our thread on "SQL Shortcomings", in which we have
jr> shown why SQL is brain-damaged and needs to be stamped out.

I didn't follow that thread.  While I (again, see above) agree that
SQL has its flaws ("brain-damaged" is a bit too strongly worded for
my taste), you will certainly have a hard time to "stamp it out" --
at least for the time being.  Even Mike Stonebraker, whose QUEL
language design is regarded by most academics to be superior to
SQL, has termed SQL "intergalactic data speak".  (Sorry, I don't
remember where.)


jr> Relational algebra allows expressions which have no SQL
jr> equivalents, because SQL is not an implementation of relational
jr> theory, and doesn't threaten to become one in the future.

An interesting statement.  Could you give me a few examples of
relational algebra expressions which have no SQL equivalent?
(Please only use operators from the set {selection, projection,
union, difference, cartesian product}.  This set of operators
has been shown to be complete.)


jr> If you want to get some real work done, try something like
jr> Progress.

I am not familiar with Progress.  However, I think that lots of
people get plenty of real work done with SQL-based DBMSs, despite
SQL's shortcomings.  (This is of course no reason that the
researchers should not strive for better languages than SQL
and for better data models than the relational data model.)

-- 
Robert Marti                    |  Phone:    +41 1 254 72 60
Informationssysteme             |  FAX:      +41 1 262 39 73
ETH-Zentrum                     |  E-Mail:   marti@inf.ethz.ch
CH-8092 Zurich, Switzerland     |
Newsgroups: comp.databases
From: wvhorn@magnus.acs.ohio-state.edu (William VanHorne)
Subject: Borland Dbase Compiler
Organization: The Ohio State University
Date: Tue, 18 Aug 1992 17:26:46 GMT

Does anyone know whatever happend to Borland's Dbase compiler?

When Borland acquired Ashton-Tate, one of their stated reasons was that
they had a "Xbase" compiler already in the works, and that it was close
to completion.  Well, since the first of the year, I have heard *nothing*
from the Borland media machine about this product.  Has anyone heard 
*anything* from Borland ?  Is this product dead?  Ready to ship?  Vaporware?

---Bill VanHorne

Newsgroups: comp.databases
From: johnw@bnd2.bnd.oz.au (John Warburton)
Subject: Re: Hot Standby DBMS's
Organization: B&D Doors, Sydney, NSW, Australia
Date: Wed, 19 Aug 1992 00:10:17 GMT

From article <9208172103.AA04378@hplwk.hpl.hp.com>, by albert@HPLWK.HPL.HP.COM (Joseph Albert):
> 
> Jonathan Edwards writes:
> 
>>In the transaction-processing world, there is the concept of a 'hot standby'
>>system, which is a geographically separated system containing a copy of the
>>database, and capable of coming online very quickly. The replicated data must
>>be close to current, and guaranteeing complete synchronization is required
>>by some applications. A further feature is the ability to 'catchup'
>>incrementally to missed changes after an outage, without a complete database
>>copy. Our database (homebrew non-relational) does this.
>>Are there any other databases that can do this?
> 
> A more reliable fault-tolerance would be obtained from redundancy at a
> level which is lowered than the level of abstraction of the database.
> Disks can be made redundant by having 2 or 3 physical disks, with
> drivers that make them look like a single device. if one disk fails,
	.
	.
	.
	.
  lots more on physical fault tolerance deleted...

That all sounds good for cpu, disk crashes etc, but what about when you plug
humans into the loop?

4 out of our last 5 crashes have been human error & not hardware problems.
Mainly filling up the database disks & no more writes possible, or someone
accidentally writing direct onto the databse volume file .. sigh

I think that these sort of problems and the resultant reload of database
checkpoint & replay of transactions could have been avoided with a machine that
has the checkpoint written to it, at the same time as to tape, and transaction
logs sent to the machine every 15 mins, so as to save time in reload of the
checkpoint, - all we would do would replay the transactions -saving us about 2
1/2 expensive hours.

The reason this looks good, is that you do not have to replace your existing
hardware for expensive fault tolerant machines. All you need is a (secondhand?)
machine like your production one, with cheaper disks - just as long as it limps
along until you fix the problem on the production machine, that's fine.

comments?

> Joseph Albert
> albert@hplabs.hp.com
-- 
John Warburton				Internet:    johnw@bnd2.bnd.oz.au
Systems Administrator			Phone:       +61 2 771 5566
B & D Australia				Fax:	     +61 2 771 6385
		  Living on ice-cream and chocolate kisses...
From: cheung@mathcs.emory.edu (Shun Yan Cheung)
Newsgroups: comp.databases
Subject: Syntax rules of SQL
Date: 17 Aug 92 19:37:18 GMT
Organization: Emory University, Dept of Math and CS

I need help finding syntax rules (BNF) of SQL for a database project.
Thanks in advance.
-- 
Shun Yan Cheung     |  cheung@mathcs.emory.edu      | Office: (404) 727-3823
Emory University    |  cheung@emory.bitnet          | Fax:    (404) 727-5611
Dept of Math and CS |  "Life deals you different suits. It's up to you how
Atlanta, GA 30322   |   to play them".
From: alan@curta.cc.columbia.edu (Alan Crosswell)
Newsgroups: comp.databases.ingres
Subject: automatically compressing your checkpoints
Date: 17 Aug 92 19:07:21 GMT
Organization: Columbia University

I thought some of you running Ingres 6.x under Unix might be interested
in my version of cktmpl.def:

BST:    echo beginning checkpoint to tape %C of %N locations
BSD:    echo beginning checkpoint to disk %C of %N locations
BRT:    echo beginning restore of tape %C of %N locations
BRD:    echo beginning restore of disk %C of %N locations
WST:    echo mount tape %N and press return; read foo; cd %D; /bin/tar cbf  
20 %C *
WSD:    cd %D; /bin/tar cf - * | /usr/ucb/compress -c > %A
WRT:    echo mount tape %N and press return; read foo; cd %D; /bin/tar xf  
%C
WRD:    cd %D; /usr/ucb/zcat < %A | /bin/tar xf -
EET:    echo done with tape operations
ESD:    echo COMPRESSED checkpoint written \(using /usr/ucb/compress\)
ERD:    echo COMPRESSED checkpoint read \(using /usr/ucb/zcat\)
From: lstein@Ingres.COM (Larry Stein - lstein@ingres.com)
Newsgroups: comp.databases.ingres
Subject: VLDB Presentation in Dallas (TIME CHANGE!!)
Keywords: IUA, VLDB, Dallas
Date: 21 Aug 92 04:58:51 GMT
Distribution: na
Organization: ASK Computer Systems, Ingres Product Division
News-Software: VAX/VMS VNEWS 1.4-b1

NOTE TIME CHANGE!!!

On Friday, August 28, Ingres Principle Consultant George Merritt
will give a presentation on very large databases to the
North Texas Ingres Users Association. The meeting will start at
8:30am (NOT 1:30PM) at the ASK/Ingres office in Dallas.

All Ingres users are encouraged to attend this very important
presentation. Please RSVP to the Ingres office at 214-385-3035.
We have already had to arrange for multiple presentations
because of the high demand.

Larry Stein, Ingres
Secretary, NTIUA
Newsgroups: comp.databases.ingres
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Newsgroups: comp.databases.ingres
Subject: Re: seeking reportwriter advice
Date: 18 Aug 92 20:58:50 GMT

In article <1992Aug17.220006.18965@news.acns.nwu.edu>, 
betty@casbah.acns.nwu.edu (Betty Benson) writes:
> I am trying to convert some KnowledgeMan programs to Ingres reportwriter,
> and I need to duplicate the situation where user can optionally restrict
> the report to data within a given time-period.
> 
> In K-Man, user is prompted  "What starting date?  (yy/mm/dd or ALL)" .
> If user says "ALL" then  variables ymd_a and ymd_z are to to 00/00/00
> and 99/99/99 respectively.  (Yes, I know those particular pseudo-dates
> won't work in Ingres, but that's not the problem.)
> 
> Otherwise user's response is input as ymd_a, and user is prompted for
> ending date, which is input to ymd_z.  Then, of course, only data within
> that  date-range goes into the report.  (If user said ALL, everything 
> would be selected.)
> 
> SOooo...in reportwriter I can't have alternate queries under .IF
> control, one with a where clause, and one without, to handle the ALL
> response.  I can't put .LET statements in  (to define ymd_a and ymd_z)
> between .DECLARE and .QUERY, apparently.

One solution is to use a simple condition in the query and use very wide
values to express the idea of "all dates":

	.QUERY SELECT ... FROM ...
		WHERE date_col between $d1 and $d2

In every case, the user must specify d1 and d2.  If they want all dates,
they can enter something like 1/1/1901 and 1/1/2020.  

Unfortunately, this requires the user to type in these special values,
although you can improve this by using DECLARE:

	.DECLARE d1 = date not null 
		with prompt "Enter the beginning date, or 1/1/1901 for all"

You can also wrap a shell around the report to handle the various cases. 
You can write this in the OS command language (Unix shell script or VMS
com file), in 4GL, or whatever.

The other possibility is to use this more complex condition:

	.QUERY SELECT ... FROM ...
		WHERE ( $use_all_dates = 'Y' or date_col between $d1 and $d2 )

If the user specifies Y for "use_all_dates", then it doesn't matter at
all what they specify for d1 and d2.  If they don't specify a Y, then
the values of d1 and d2 become significant.

Let's face it, the report writer isn't real smart about getting input
from the user.  If you need a lot of control and robust data checking,
then you need to write a front end to the report writer program.

--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.
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Newsgroups: comp.databases.ingres
Subject: Re: Dynamic FRS
Date: 15 Aug 92 00:13:10 GMT

In article <ron.713730907@sigyn.cs.athabascau.ca>, ron@sigyn.cs.athabascau.ca 
(Ron Haukenfrers) writes:
> 
> Does anyone know of a way to dynamically create a field in an ingres form?
> I would like to create a field at runtime because it's datatype, length
> and attributes are all derived at runtime.  I guess I can use the old
> hack of creating a big text field and doing the manual type conversions,
> but that doesn't solve the problem of data length and attributes.

This question has certainly come up before, and the sad answer is...no. 
With standard character-cell-based FRS, you just can't do it.  You might
be able to reverse engineer the forms system catalogs (ii_object,
ii_forms, ii_fields, and ii_trim), and create a form on the fly that
way, but it's probably a whole lot of work and not certain to succeed.

You can do quite a bit with SET_FRS (or SET_FORMS in 4GL).  You can
change many of the field attributes on the fly.  Another possibility
would be to have a form with a stock of fields of varying sizes and
types.  If they were all invisible by default, then you could visibilize
the one you want at run time.  Disadvantage: they show up at different
places on the screen.

--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: leath@atlas.cs.upei.ca (Stephen Leath)
Subject: SQL intersection ?
Originator: leath@atlas.cs.upei.ca
Organization: University of Prince Edward Island
Date: Thu, 13 Aug 1992 12:45:12 GMT

   Retrieve (x, y, sum(z by y)) the retrieve is broken down by ingres
the sum(z by y) and the retrieve (x,y). The resulting tables are intersected.

In SQL one can not do this:
 
Select x, y, sum(z)
order by y

x must be part of the order by clause yet this is not what I want. It gets
more complicated if you want to convert a multiple aggregate QUEL statement
like:

   Retrieve (x, y, z, sum(z by y), sum(x by z) )

And further complications arise when the QUEL statement has separate where 
clauses on each aggregate and another placed on the entire queery. 

  Retrieve (x, y, z, sum(z by y where ....), sum(x by y where....) )
    where ......

BTW Oracle does have an intersection aswell as a union.

Thanks in advance:
STEVE LEATH

Newsgroups: comp.databases.ingres
From: howie@ivory.cc.columbia.edu (Howie Kaye)
Subject: setsid on sunOS 4.1.2
Keywords: setsid, sun, interrupts
Reply-To: howie@cunixf.cc.columbia.edu
Organization: Columbia University
Date: Thu, 20 Aug 1992 16:59:19 GMT

We've had a problem with the ingres terminal monitor under sunOS
4.1.2 where it does not seem to be responding to terminal interrupts.
I traced it to the setsid commands in all of the front end scripts
for the various ingres programs (ie setsid -b ~ingres/tm -qquel).
Things seems to work if i run tm by hand.

I was wondering if there was actually a reason that those setsid's
were there -- do they do anything useful, or can I just remove
them?

Thanks

------------------------------------------------------------
Howie Kaye                              howie@columbia.edu
Columbia University                     hlkcu@cuvma.bitnet
UNIX Systems Group                      ...!rutgers!columbia!howie
From: kerry@Ingres.COM (Kerry Kurasaki)
Newsgroups: comp.databases.ingres
Subject: Re: Number of slave processes?
Date: 12 Aug 92 17:46:00 GMT
Reply-To: kerry@Ingres.COM (Kerry Kurasaki)
Organization: Ask Computer Systems Inc., Ingres Division, Alameda CA 94501

In article <AA03466.199208111216.ttyB3@turing.ncl.ac.uk> Cristyn Emmett <Cristyn.Emmett@newcastle.ac.uk> writes:
>Hello,
>I am DBA for an Ingres 6.3/01 installation on a Sun 4/470 (SunOS 4.1.1)
>We have the four Ingres components /ingresdb, /ingresvar, /ingreslog and
>/licence/ingres each on a separate disk.
>We have been experiencing deadlock problems and I have experimented
>with decreased fillfactors in the (btree) tables which are most heavily
>used, also with adding secondary indexes to these tables.
>However, the problems continue.
>
>We are still only running two slave processes and I am wondering if it
>would be advantageous to increase this number to 4, or maybe more.
>Could anyone advise me of a suitable number, and perhaps of some check I
>could make 'before and after' to see what improvement, if any, has been 
>gained. 
>

Please do not confuse UNIX I/O slaves, which are part the the physical I/O
system, with deadlocking, which is returned by the OS independent portion
of INGRES.  Changing the number of slaves may help performance, but will
have no effect on database design issues.

My guess is that you have multiple applications that are accessing the data
in different ways thus causing the deadlock.  Multiple queries may need
to be reordered, if possible, to cause the queries to block on locks,
instead of contend for them.

How many slaves is the "right" number?  There is no one correct answer
since it is so application and load dependent.  My method is to slowly
increase the number of slaves until the CPU times between them is less
balanced.  For example, if you have 10 slaves and 4 of them have no CPU,
then 6 is approximately the "correct" number.  Finally, don't worry
about fine tuning the number of slaves.  Getting within one or two is
more than "close enough".

Kerry
From: EV2WS1%MISX01@KINGSTON.ARPC.ALCAN.CA (Warren Spencer (315) 349-0606)
Newsgroups: comp.databases.ingres
Subject: Canadore College Anyone ?
Date: 20 Aug 92 15:51:00 GMT
Organization: National Radio Astronomy Observatory

Hi folks,

Sorry to fill your in-basket with chatter, but does anyone know if Canadore 
College (an legit Ingres installation) in North Bay, Ont., Canada is on the 
Internet anywhere?

Warren Spencer
Newsgroups: comp.databases.ingres
From: Gavin Trigg <gavin@asis.unimelb.EDU.AU>
Subject: Re: Number of slave processes?
Organization: National Radio Astronomy Observatory
Date: Wed, 12 Aug 1992 21:57:23 GMT

> 
> Hello,
> I am DBA for an Ingres 6.3/01 installation on a Sun 4/470 (SunOS 4.1.1)
> We have the four Ingres components /ingresdb, /ingresvar, /ingreslog and
> /licence/ingres each on a separate disk.
> We have been experiencing deadlock problems and I have experimented
> with decreased fillfactors in the (btree) tables which are most heavily
> used, also with adding secondary indexes to these tables.
> However, the problems continue.
> 
> We are still only running two slave processes and I am wondering if it
> would be advantageous to increase this number to 4, or maybe more.
> Could anyone advise me of a suitable number, and perhaps of some check I
> could make 'before and after' to see what improvement, if any, has been 
> gained. 
> 
> Thank you,
> 
> 	Cristy
> 
> Also known as:       
> cristyn.emmett@newcastle.ac.uk
> ******************************
> 
Cristy,

Deadlock has nothing to do with location of components or number of slaves.
Fillfactors MAY have an effect.  The things to look for are lock escalation
(look in errlog.log), number of locks and appropriate locking strategies
(shared vs. exclusive).  There is a section in the DBA guide that discusses
all this.  IPM is invaluble in finding out what locks and their type have been
taken on which pages or tables.   I'm not sure about 6.3 but certainly at 6.4
there is the ability to 'trace' which locks have been taken by the individual
sessions.

-- 
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.
From: rsoc@doc.ic.ac.uk (Rob O'Connor)
Newsgroups: comp.databases.ingres
Subject: Silly question
Date: 20 Aug 1992 09:54:48 +0100
Organization: Department of Computing, Imperial College, University of London, UK.
Distribution: world
NNTP-Posting-Host: fulmar.doc.ic.ac.uk

Hi, as a relative novice user, I have a question. I have a column containing
a unique number, the next row being 1 more than the previous, i.e

doc1
doc2
.
.
doc(n)
doc(n+1)
Is there a straightforward way to automatically update the next row as it's
added by looking back at the previous maximum value? So when I append a row,
Ingres looks back at the previous largest value and adds the next one by
default?
Apologies if it's a really stupid question, or I'm missing something obvious!
BTW system is version 6.3 on SunOS 4.1.1.

Rob.
-- 
Internet: rsoc@doc.ic.ac.uk   Tel: +44 71 589 5111 x5070   Fax: +44 71 581 8024
From: cs_mj@gsbacd.uchicago.edu (Mark Jaeger)
Newsgroups: comp.databases.ingres
Subject: Re: error check in proc rules
Date: 19 Aug 92 16:09:29 GMT
Article-I.D.: gsbacd.1992Aug19.100929.1

In article <1992Aug18.152456.15925@uqvax.cc.uq.oz.au>, 
ccwilfred@uqvax.cc.uq.oz.au writes:
> Is it true that the IF statement and the RAISE ERROR in the code below will
> never be executed if it is in a procedure which is only executed by a rule?
> 
>     INSERT INTO unique_key_tbl VALUES (1234,'data');
>     INSERT INTO unique_key_tbl VALUES (1234,'data');  /* do it again */
>     IF iierrornumber != 0 THEN
>        saved_error_number = iierrornumber;
>        err_msg = 'This code will never execute if proc called by rule';
>        RAISE ERROR :saved_error_number :err_msg;
>     ENDIF;
> 
> Is there any reason for checking the value of iierrornumber after a 
> database command in procedures fired by rules?  I expect not, I want to 
> be very sure before I refuse to code such checks.

If the procedure gets invoked _only_ by database rules, then you don't
need to check errors ever.  An error terminates the procedure.

The INGRES/SQL Reference Manual (release 6.4, Dec. 1991) states:

    When an error occurs in a database procedure, the default behavior
    of INGRES depends on whether the procedure was invoked by a rule or
    executed directly by the application (using _execute_procedure_).

    An error in a procedure invoked by a rule causes the following
    actions to occur:

    o The procedure is terminated.

    o Those statements in the procedure which have been executed are
      rolled back.

    o The statement that fired the rule and, consequently, invoked the
      procedure, is rolled back.

    In contrast, if the procedure was executed directly, an error causes
    INGRES to roll back all statements in the procedure up to the point
    of the error but does not terminate the procedure.  The procedure
    continues execution with the first statement following the statement
    that caused the error.

(page 6-13, Ch. 6 "INGRES Features", section "Database Procedures",
subsection "Handling Errors in Database Procedures").

--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