HDTenEightyP/NetNews huggingface dataset:
From: tssmith@netcom.com (Tim Smith)
Subject: Re: Triggers in Informix?
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Tue, 10 Nov 1992 06:32:00 GMT

In article <1992Nov5.171359.7885@informix.com> davek@informix.com (David Kosenko) writes:
>Ian Franklin writes:
>>>Current release plans I believe (take this with a grain of salt, please) 
>>>call for
>>>a trigger implementation in a future Informix release (6.0, 7.0, ???).
>>>
>>I heard that a version of 5 was comming out in a few weeks for
>>trigger but am not to sure hiw reliable that is.
>
>Release 5.01 of Informix servers will include support of triggers.  This
>release is due on major platforms before the end of the year (1992).  See
>your local sales rep for a more specifi date for your plaform.
>
>Dave

Are the 5.01 triggers "after statement" triggers, or do you support
the SQL3 standards for all trigger types (I think there are 12 of
them)?

If not in 5.01, when?

Thanks.

--Tim (tssmith@netcom.com)
From: widener!uunet!uunet!microc!eric@emory.mathcs.emory.edu
Newsgroups: comp.databases.informix
Subject: Re: importing images
Date: 5 Nov 1992 14:58:09 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: widener!uunet!uunet!microc!eric@emory.mathcs.emory.edu
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1573>

}From: uunet!desktalk.com!eric (Eric Lieber)
}Message-Id: <1992Sep29.181725.1158@desktalk.desktalk.com>
}Subject: Re: importing images
}Date: 29 Sep 92 18:17:25 GMT
}Organization: Desktalk Systems Inc.

}In article 1723@execnet, "clay irving" <clay.irving@execnet.com> () writes:
}>Does anyone have any experience in getting an image into the OnLine
}>database? I'll have a GIF, JPEG or BMP image in a file on the system that
}>I want to import into a field defined as a BLOB. I'm wondering how to get
}>it into the database?...
}>
}>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
}>Clay Irving             Work: clay@garpac.com
}>4GL Project Manager      Fun: clay.irving@execnet.com
}>Garpac Corporation      uucp: {uupsi3, 4gen}!garpac!clay
}>Voice: 212.760.0070      CIS: 75170, 107
}>Fax: 212.564.2635        IBM: HONE82(DACK0AX)
}>----------------------------------------------------------
}>     * Software Systems for the Apparel Industry *
}>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
} Instead of storing these huge amounts of data inefficiently in the database,
}why not store the address (pathname) in the database and keep your GIF/RASTER >file as an operating system  file. This will improve performance.
}If the picture has to be swapped out with another all u have to do is
}update the  pathname and you are ready to go.

}eric lieber
}DeskTalk Systems
}Torrance, CA

Uh-Uh!!
Mr. Lieber, this is true ONLY if you have Informix-SE.
If you have OnLine, why not take full advantage of storing these images
along with the character data?  Why have image files on the slow UNIX file
system and the data in the faster raw disk?  Now imagine 30,000 scanned
customer signatures in a UNIX directory...

I can't find ANY reason for doing what you say!

+--------------------+--------------------------------------+----------------+
| Eric C. Leschhorn  |    MICROCOMPUTOS   Fax:(809)688-6044 |                |
| Marketing Director | Dominican Republic Tel:(809)530-8506 +-----------+    |
| uunet!microc!eric  |  Puerto Rico, USA  Tel:(809)250-8789 +---------+ |    |
+--------------------+--------------------------------------|   +-+   | |    |
|  I N F O R M I X   L A T I N   A M E R I C A N   T E A M  |   | |   | |    |
+-----------------------------------------------------------+---+ +---+ +----+

Newsgroups: comp.databases.informix
From: aburt@mnemosyne.cs.du.edu (Andrew Burt)
Subject: Re: Triggers in Informix?
Organization: University of Denver, Dept. of Math & Comp. Sci.
Date: Fri, 13 Nov 92 16:50:28 GMT

In <1992Nov13.101943.24076@informix.com> aland@informix.com (Colonel Panic) writes:

>In article <1992Nov10.063200.2163@netcom.com> tssmith@netcom.com (Tim Smith) writes:
>>Are the 5.01 triggers "after statement" triggers, or do you support
>>the SQL3 standards for all trigger types (I think there are 12 of
>>them)?
>>
>>If not in 5.01, when?
>>
>>Thanks.
>>
>>--Tim (tssmith@netcom.com)

>Does it bother anybody else that this poster is an Oracle employee hiding
>behind a public-access account?

Not much really -- I'm sure you know that whatever your public answer is,
Oracle and other competitors would read it just the same as your customers.
I'm sure you would think about every answer from both viewpoints regardless
of who asked the question.  Besides, if they wanted to, they'd probably
find out more stuff that you don't want them to know via other means --
like rummaging through your trash... :-)

I for one, found the subject very interesting, and I'm merely a customer
of Informix.

(I also see many people using public access accounts, since I'm the admin
of a public system (Nyx) -- people use public accounts for many reasons,
such as if their "main" system doesn't get news, isn't on the internet, etc.
I wouldn't assume there is a dark motive just because it's from a public
site, though of course it is possible.)
-- 

Andrew Burt 		   					  aburt@du.edu

"But if he was dying he wouldn't bother to carve "Aaaaargh", he'd just say it."
From: wrt@kepler.unh.edu (Walter R Trachim)
Newsgroups: comp.databases.informix
Subject: 4GL syntax questions
Date: 13 Nov 1992 15:54:16 GMT
Organization: University of New Hampshire  -  Durham, NH
NNTP-Posting-Host: kepler.unh.edu


I'm having a potentially simple, albeit boneheaded syntax problem that has me
stumped. I wrote what I think is a simple program to generate a listing of
network connections that we bill for here, and at the very beginning of the 
file I'm getting syntax errors. I must be doing forgetting something elementary
as this happens near the beginning of the first pass of the compile.

If I am doing something simple and stupid, I have to plead being a relative
newcomer to 4GLs of any flavor, so no tongues of fire, please.

I've included the piece of the program where I'm running into trouble:

================================================================================
main
define
	install record like inst_all.*
	port_map  record like prt_jck.*
|_______________________^
|
|      A grammatical error has been found on line 14, character 25.
| The construct is not understandable in its context.
| See error number -4373.

(It almost looks as though I need a comma or some other delimiter to separate
the record definitions. Am I right?)

declare
	i_curs cursor for
		select * from install
	p_curs cursor for
		select * from port_map
================================================================================

The reason I've included the declare statements is that if it is a mindless
type of error, then I suspect I'll run into the same problem with those.

Any advice or constructive comment would be greatly appreciated. E-mail's
okay - no need to tie up bandwidth.

Walt

-- 
 Walter R. Trachim		  |"And remember, my sentimental friend: the
 UNH Telecom and Network Services | heart is not judged by how much you love,
 Durham, NH 03824                 | but by how much you are loved by others."  
 Walt_Trachim@unh.edu             |      --The Wizard of Oz
Newsgroups: comp.databases.informix
From: shemminga@cix.compulink.co.uk (Stuart Hemming)
Subject: Re: Stored queries under INFOR
Reply-To: shemminga@cix.compulink.co.uk
Date: Thu, 5 Nov 1992 12:03:00 +0000


In <1992Nov4.162232.28445@walter.cray.com> Andrew T. Rodnite asks

> Does anybody know if INFORMIX 4.00 or INFORMIX 4.10 supports stored queries?
> 
> If not what about 5.00? What about any INFORMIX product?

Informix v4.x doesn't but according to the manuals I saw at Informix
UK v5.0 does.

--------------------------------------------------------------
| Who cares whos opinions these are?!                        |
| Send me mail and I'll love you forever (Maybe)             |
|------------------------------------------------------------|     
| Stuart Hemming       | shemminga@cix.compulink.co.uk       |
| Tudor Labels Ltd     | uunet!cix.compulink.co.uk!shemminga |
| Roman Bank Bourne    | Tel :  (+44) 778 426444             |
| Lincs PE10 9LQ. UK.  | Fax :  (+44) 778 421862             |
--------------------------------------------------------------


Stuart
|8-)
From: anasaz!qip.naomi@enuucp.eas.asu.edu (Naomi Walker)
Newsgroups: comp.databases.informix
Subject: Re: your mail
Date: 11 Nov 1992 16:03:05 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: anasaz!qip.naomi@enuucp.eas.asu.edu (Naomi Walker)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1586>

} 
} In article <1dbtpnINNqac@emory.mathcs.emory.edu> johnl@obelix.informix.com (Jonathan Leffler) writes:
} >}From: uunet!gauss.rutgers.edu!manmetha (Rajesh Malhotra)
} >}Subject: Erratic error 408 from ESQL/C
} >}Date: 4 Nov 92 22:26:16 GMT
} >}X-Informix-List-Id: <news.2057>
} >}
} >}Fellow Informix'ers,
} >}
} >}	Every now and then a query in our application fails
} >}with an error code of 408. We have'nt been able to duplicate the
} >}scenario and make the error occur again. The manual's description
} >}of 408 does not seem to make sense.
} >}
} >}	Any ideas / suggestions?
} >}
} >}BTW we are running Informix online 5.0 and ESQL/C on an IBM RS600
} >}running AIX 3.2
} >
} >The key info here is probably the RS6000.  AIX detects when it is getting
} >low on swap space (or some other virtual memory resource), and it then
} >arbitrarily kills a process or processes to relieve the pressure.  Sometimes
} >you are lucky and it is only an sqlturbo it kills -- sometimes it kills
} >tbinit instead.  And sometimes you are unlucky and it kills an sqlturbo in a
} >critical section so OnLine has to abort.
} >
} >AIX is wonderful, really:-(
} >
} >Yours,
} >Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
} 
} This error occurs every time in one of my load module.  To work around this
} problem, I have to move/rearrange codes around.
} 
} It is a mystery to me, and I don't think it have any thing to do with the 
} machine (my application is on Pyramid 7080 series).
} 
} I am still investigating....\8-(
} 
} Zombie (dinguyen@wam.umd.edu)
} 
We have gotten this error when somehow our tables were damaged.  If this
had been a large production table, I would have run tbchecks against the
table.  Since there were a small number of rows in the table, I created
a new empty table, and copied from one table to another (select * from
oldtable, insert into newtable), and the problem was resolved.


-- 
  Naomi Walker  (aka N7FSA)     naomi%anasaz.UUCP@asuvax.eas.asu.edu

  Enthusiasm is caught,         In tennis, 
  not taught.                   love means nothing.
From: johnl@obelix.informix.com (Jonathan Leffler)
Newsgroups: comp.databases.informix
Subject: Re:  Erratic error 408 from ESQL/C
Date: 5 Nov 1992 14:48:07 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: johnl@obelix.informix.com (Jonathan Leffler)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1571>

}From: uunet!gauss.rutgers.edu!manmetha (Rajesh Malhotra)
}Subject: Erratic error 408 from ESQL/C
}Date: 4 Nov 92 22:26:16 GMT
}X-Informix-List-Id: <news.2057>
}
}Fellow Informix'ers,
}
}	Every now and then a query in our application fails
}with an error code of 408. We have'nt been able to duplicate the
}scenario and make the error occur again. The manual's description
}of 408 does not seem to make sense.
}
}	Any ideas / suggestions?
}
}BTW we are running Informix online 5.0 and ESQL/C on an IBM RS600
}running AIX 3.2

The key info here is probably the RS6000.  AIX detects when it is getting
low on swap space (or some other virtual memory resource), and it then
arbitrarily kills a process or processes to relieve the pressure.  Sometimes
you are lucky and it is only an sqlturbo it kills -- sometimes it kills
tbinit instead.  And sometimes you are unlucky and it kills an sqlturbo in a
critical section so OnLine has to abort.

AIX is wonderful, really:-(

Yours,
Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
From: zellich@STL-07SIMA.ARMY.MIL (Rich Zellich)
Newsgroups: comp.databases.informix
Subject: Re: tracking execution
Date: 13 Nov 1992 13:38:04 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: zellich@STL-07SIMA.ARMY.MIL (Rich Zellich)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1605>

I think this may be what you're looking for...
-Rich
-------


The following is in our project's master .h file:
(Note that *every* module in the project does OssTrace("thismodulename");
 as the first line of executable code in the module [where thismodulename
 is, of course, the individual module name...should someone forget to do
 this in a new module, then the "(unknown)" declaration in WriteOssLog.c
 will be used].)

/*
 * OssTrace will eventually be defined to not only declare a static variable
 * containing the name of the function, but call WriteOssLog if we are
 * tracing.
 */
extern char __exec_start[], __exec_end[], __ossname[];

#define OssTrace(x) static char __ossname[] = x; \
           if (oss_trace||oss_debug) { WriteOssLog(ERR_TRACE, __exec_start); \
				      __osstrace(__ossname, __FILE__); }

/*
 * WriteOssLog passes the name of the function, obtained from OssTrace.
 * If not defined in the current function, it will pick up the one defined
 * in WriteOssLog itself, which will be empty.
 */
#define WriteOssLog(i, m) _WriteOssLog(__ossname, __FILE__, __LINE__, i, m)




WriteOssLog.c contains the following global declarations:

char __exec_start[] = "Starting execution";
char __exec_end[]   = "Ending execution";
char __ossname[]    = "(unknown)";





The following is a typical call to WriteOssLog():

   if ( status == ABEND )
      {
      /*:DON Error:*/
      UpdateMsg(ABEND, &LVT);
      sprintf(msg, don_error, MG_DON);
      WriteOssLog(ERR_MISC, msg);
      return(ULMainReturn(&LVT, rep_req_flag, &original_a0));
      }
From: maint72@saad-emh1.ARMY.MIL (Michael Gordon)
Newsgroups: comp.databases.informix
Subject: Testing Gateway.
Date: 10 Nov 1992 13:28:05 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: maint72@saad-emh1.ARMY.MIL (Michael Gordon)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1580>


Walt,

Understand from your message of 11/10/92 you had gateway problems.  Here at
Sacramento we also had our own gateway problems over the last week.  It seems
I can now receive postings from Emory, but I don't know if you are receiving
postings from us.  

Could you respond with an awknowledgement to this message to assure us this
machine is now working in both directions?

Thanks.

Michael Gordon
From: rchoi@thylacine.cs.wisc.edu (Ron Choi)
Newsgroups: comp.databases.informix
Subject: Questions about user-interfaces
Date: 9 Nov 92 21:44:42 GMT
Organization: University of Wisconsin, Madison -- Computer Sciences Dept.

does anyone have answers to the following questions?

1) is there any way of displaying multiple rows from a table in one screen
   using perform?

2) who sells user-interface software that runs on top of informix?
   i need the vendor's name, product name, and price information.
   also, how good are they?

thanx in advance,
-- 
---------------------------------------------------------------------------
ron choi 				\\  #include <disclaimer.h>
university of wisconsin, madison	\\
	"when i was your age, i walked ten miles to school, unarmed."
Newsgroups: comp.databases.informix
From: ijk@cbnewsh.cb.att.com (ihor.j.kinal)
Subject: Front-end growth with a describe statement.
Organization: AT&T
Date: Wed, 11 Nov 1992 21:10:32 GMT

We've recently discovered something that is TOTALLY undocumented,
that may explain front-end growth.  

The situation is where you use ESQL, and do not know the
exact number/type of variables in the row.  In that case,
you can use a describe statement into a sqlda POINTER.

It turns out that the describe is a library call, and this
library does a MALLOC, to set up a sqlda structure that
your pointer now points to. [ With 20/20 hindsight, this
makes sense, since a POINTER must point to something substantial.
The problem, however, was that ESQL has always been a black-box,
with the inner workings hidden.  We did not expect that a library
would have undocumented side-effects. ]


This malloced memory is NOT freed when you close/ $ free
the cursor associated with the describe.  Instead, the
user is EXPECTED to do a normal C library free of the
sqlda pointer.


NOTE of course, that if you use describe only once, then it's
not a problem.  If, however, you do MANY describes,
then you may experience unusual growth until your server exits
[ours do not].


Note that this is NOT common knowledge even among Informix
support personnel. 


Standard disclaimers apply,
Ihor Kinal
att!cbnewsh!ijk
att!trumpet!ijk
From: widener!uunet!uunet!microc!eric@emory.mathcs.emory.edu
Newsgroups: comp.databases.informix
Subject: Client/Server using I-SE + I-Net 5.0
Date: 5 Nov 1992 19:53:08 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: widener!uunet!uunet!microc!eric@emory.mathcs.emory.edu
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1576>

Hi netters!
I have the following set up:

+----------+                                      +----------+
+ RS/6000  +                                      + RS/6000  +
+   32H    +   +-------+  dedic. line +-------+   +   220    +
+----------+---| Modem |--------------| Modem |---+----------+
+ I-SE 5.0 +   +-------+              +-------+   + I-SE 5.0 +
+ I-Net 5.0+                                      + I-Net 5.0+
+ 4GL 4.0  +                                      + 4GL 4.0  +
+----------+                                      +----------+

This customer used to have the same database (I-SE) on both machines
and now he wants to have only one in the 32H and only applications
on the 220.

I-Net works fine when I use DBaccess, but when I try to generate
a default form using I-SQL 4.0, the compilation hangs.  When I try
to run my application written in I-4GL 4.0 the application crashes
with a syntax error on the line 0 (DATABASE "//dusa/u/univers/micro")
even tough it compiles successfully.

Can somebody help?

Eric Leschhorn
MICROCOMPUTOS
uunet!microc!eric
From: aland@informix.com (Colonel Panic)
Newsgroups: comp.databases.informix
Subject: Re: Problems with 4GL
Date: 8 Nov 92 02:47:29 GMT
Distribution: na
Organization: Helen Keller Bondurant's Performance Driving School for the Blind

In article <1992Oct30.175558.12412@muug.mb.ca> jlukes@muug.mb.ca (Jerry Lukes) writes:
>I just installed Informix 4GL for DOS compiled version with 
>Microsoft C compiler V 6.0 and for some reason 4GL won't compile.
>There is no error message, only status line is saying Compiling Phase 3.
>Can anybody help ? 

You're not trying to compile for protected-mode execution (pc4gl), are you?
It won't work with MS C 6.X or 7.X.  You *can* get compilation for real-mode 
execution to work with 6.X (maybe 7.X too) with some dinking; Informix Support
has a Tech Alert on the subject.

>Jerry Lukes                                     PHONE  204-934-4356
>C.P. Rail Signals & Communications              FAX    204-934-4624

--
Alan Denney                     "I pretended to know nothing
aland@informix.com               (It's best to use discretion)
{pyramid|uunet}!infmx!aland      But she turned her floodlight eyes on me
Disclaimer:  I am a Toon.        and demanded a confession."
                                 - "Spy in the House of Love", Was (Not Was)
From: rchoi@thylacine.cs.wisc.edu (Ron Choi)
Newsgroups: comp.databases.informix
Subject: Informix logs read-only queries? can't handle 'not-exists'?
Date: 11 Nov 92 18:41:42 GMT
Organization: University of Wisconsin, Madison -- Computer Sciences Dept.

i'm running Online 5.0 and seemed to have discovered a bug (or bugs).
i ran the following query overnight:

select count(*)
from relA
where (relA.x10A = 0 or relA.x10A = 5) and not exists (
	select relB.evenAcct
	from relB
	where (relB.x100B = 0 or relB.x100B = 49) and
	relB.evenAcct = relA.acct
	);

and got hundreds of "Logical Log Files are Full -- Backup is Needed".
the worst thing is that this corrupted the database.  first of all, the above
query is read-only, so it should not create log records (unless informix
is doing something weird and supporting cascade aborts).  secondly, 
the database had logging turned off (with 'tbtape -N databasename'), but 
it still logs anyway!  and a query sure shoudn't corrupt the database.  
has anyone seen this before?  i can reproduce it; i ran this twice already 
with the same result.  and yes, i was the only person accessing the database 
that night.

-- 
---------------------------------------------------------------------------
ron choi 				\\  #include <disclaimer.h>
university of wisconsin, madison	\\
	"when i was your age, i walked ten miles to school, unarmed."
From: johnl@obelix.informix.com (Jonathan Leffler)
Newsgroups: comp.databases.informix
Subject: Re:  Comparing/passing records in 4GL/C
Date: 11 Nov 1992 02:23:12 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: johnl@obelix.informix.com (Jonathan Leffler)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1584>


>From: uunet!magnus.acs.ohio-state.edu!kbrummel (Karl P Brummel)
>Subject: Comparing/passing records in 4GL/C
>Date: 5 Nov 92 15:24:59 GMT
>X-Informix-List-Id: <news.2067>

>I'm interested in comparing two entire records at runtime, so I can tell if
>one (which started out a copy of the first) is still the same as the first:
>i.e., I want to detect if the record has been updated.  I can't do something
>like
>if ( rec1 = rec2 ) then...
>or
>if (rec1.* = rec2.*) then...
>in 4GL, and I don't seem to be able to find a way to pass a pointer to a
>record to a C function. 

That's not very surprising -- there are no pointers anywhere in I4GL.

>I can pass all the fields with
>call myfunc(rec1.*,rec2.*),
>but then I have to pop all the fields off the stack, which means I have to
>know all the fields in the record.  What I want to do is get a pointer to
>the first, a pointer to the second, find the size somehow (at run time)
>and do a
>memcmp(rec1,rec2,sizeof(rec));
>or something similar.

No chance.

>The library function field_touched() almost does what
>I want, so there must be a way to know this information at runtime.  Any
>ideas how I write field_changed()?

I doubt if it does.  What it does is tell you if the user typed anything
in any of the fields in the input record.  It may be that the user typed
an 'A' over an existing 'A' -- that makes field_touched think something
happened.  And it only tells you if the record was modified during input.

>Poking through the headers for 4GL didn't give me any great ideas.

Bad luck -- it wouldn't have helped me either.

Roughly speaking, what you have to do is, for each field in the record, is:

	LET is_changed = FALSE
	IF is_changed = FALSE THEN
		CASE
		WHEN rec1.columnA IS NULL AND rec2.columnA IS NULL
			LET is_changed = FALSE
		WHEN rec1.columnA IS NULL OR rec2.columnA IS NULL
			LET is_changed = TRUE
		WHEN rec1.columnA != rec2.columnA
			LET is_changed = TRUE
		--OTHERWISE
			--LET is_changed = FALSE
		END CASE
	END IF
	IF is_changed = FALSE THEN
		CASE
		WHEN rec1.columnB IS NULL AND rec2.columnB IS NULL
			...
		END CASE
	END IF

Obviously, for each field which cannot contain nulls, you only need the last
test -- a darned sight easier.  This algorithm can end up testing is_changed
a few times, but it avoids poblems with the tests being indented off the RHS
of the screen.

This is non-trivial, especially on tables with 50-odd columns -- I normally
use a shell script to generate the code, and I leave the shell script in the
program as a set of comments, so if (when?) the table is changed, I can
recreate the test automatically.

Yours,
Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>