HDTenEightyP/NetNews huggingface dataset:
From: ijk@cbnewsh.cb.att.com (ihor.j.kinal)
Newsgroups: comp.databases.informix
Subject: Re: back-end growth
Summary: Back-end growth User problem or Informix problem ?
	Use $free as appropriate.
Date: 13 Oct 92 14:56:55 GMT
Organization: AT&T

In article <1992Oct11.2231.1801@execnet>, clay.irving@execnet.com (clay irving) writes:
> On 10-11-92 Ihor J Kinal writes: [ That's me]
> 
> |Recently, I posted an article about the backend [sqlturbos]
> |growing in Online 4.10 UE1 and UE3P1.
> |
> |Further investigation showed one specific case to be where
> |we had a cursor that had been prepared once [the specific
> |query was a join between two tables].  After about 50 open/closes,
> |we discovered steady growth in our backends.
> 
> Maybe this explains what's been happening to my system. I'm running 4.10 
> UE1 on an IBM RS/6000. I have a batch 4GL program that I tried to run 
> against 37,000 rows. I have 16MB of memory with 32MB page space. Everytime 
> I run the program it ABENDs -- Not enough memory. I watched sqlturbo go 
> from 1MB to 2MB to 3MB... to 8MB.. Eventually it eats all the virtual 
> memory and the RS/6000's Virtual Memory Manager starts killing processes.

This sounds like a different problem than what we've seen.  Try to
reproduce the problem with the simplest number of statements,
and then post the program, or forward it to Informix support.

NOTE that we're STILL seeing significant growth in backends, and some
growth in our FRONT-ends.  Our colleagues, running a SIMILAR
system on Online 5.0, are seeing phenominal growth in front-ends
ONLY.  Although we no longer have our TURBO systems available,
we think that these problems were NOT as apparent under turbo.

APPARENTLY [and we're still testing the results], 
the growth can be checked, by consistent use
of $free'ing prepared statements that are no longer needed,
and possibly freeing cursors after they're closed as well.
[Note that in 5.0, you can IMMEDIATELY free the prepared
statement after you declare the cursors.  This makes the logic
a lot simpler. Freeing cursors does not seem work in 4.1,
although you can prepare/execute a statement to do so -but don't
forget to free the prepare'd statement].

THIS IS A REAL DISADVANTAGE TO ONLINE.  Although free was
apparently available in turbo, it was not documented there.
Checking OnLine documentation, there is a brief mention of
the possibility that resources will be used, and that free
can be used.  We're forced to minor revisions to MASSIVE
amounts of code.  Not fun.  Needless to say, I'm not a
happy camper.

Standard disclaimers apply - and I hope this helps others.

Ihor Kinal
att!cbnewsh!ijk [netnews]
att!trumpet!ijk [real work address].
From: jerry@callahans (Jerry Pope (consultant))
Newsgroups: comp.databases.informix
Subject: Re: Error -4518: Cannot allocate any more space
Date: 12 Oct 92 17:18:21 GMT
Organization: Informix Software, Inc.

In article <9726@emory.mathcs.emory.edu> dave.snyder@snide.com (Dave  
Snyder) writes:
> Quoting Marien de Clercq...
> } 
> } Can someone please help me with error -4518:
> } 
> } 	"The 4GL program cannot allocate any more space for temporary 
> } 	string storage."
> } 
> } I sometimes get this error in reports.
> } 
> This error can be caused by any of the following:
>   1)  CASE statements without an OTHERWISE
>   2)  CASE statements that look like this:
> 	  CASE dummy_var
> 	      WHEN 0
> 		  .....
> 	      WHEN 1
> 		  .....
> 	      WHEN 2
> 		  .....
> 	  END CASE
>       instead of this:
> 	  CASE
> 	      WHEN dummy_var = 0
> 		  .....
> 	      WHEN dummy_var = 1
> 		  .....
> 	      WHEN dummy_var = 2
> 		  .....
> 	  END CASE
>   3)  Reports with excessive string usage (ie. USING)

One thing you can do to reduce the contents of string storage is to
assign redundant strings associated with USING to variables and then
refer to the variable --

let str1 = '$$$$$$$$.$$'

print ... using str1

> 
> I probably missed a few.  Call tech. support, they faxed me something  
that
> showed examples of what caused the error and how to work around it.  I
> found that by compiling it to an executable, the problem always goes  
away.
> 
> DAS
> -- 
> David Snyder @ Snide Computer Services - Folcroft, PA          Current  
Release
>                                                                is  
db4glgen-3.7
> UUCP:  ..!uunet!das13!dave   INTERNET:  dave.snyder@snide.com

--

--
   _____                    __
     /  __   _   _         /  ) __   __   __
    /  /__) / ` / ` | /   /__/ /  ) /  ) /__)
 {_/  (__, /   /    |/   /    (__/ /--' (__,
From: peterh@marvin.prz.tu-berlin.de (Peter Hofmann)
Newsgroups: comp.databases.informix
Subject: Re: Question: Can I embed SQL in C++
Date: 9 Oct 92 12:09:21 GMT
Organization: TU-Berlin TUBKOM, Germany


   } 
   } I would like to know if anybody has any experience/success writing
   } embedded SQL statements inside a C++ program.

We have done a project using C++ (gcc 2.2.2.) und ESQL/C.  Both work
together fine, you should only expect occasional warnings that you can
ignore.

   } 
   } We have an Informix database and a ESQL pre-processor meant
   } for C. According to the local agent from Informix, the SQL
   } pre-processor works only on C files, not C++ files. 
   } We intend to use GCC as our C++ compiler, but we do not know
   } how to make the pre-processor work with GCC.
   } 
   } Is there any way to work around the abovementioned problem? 
   } 

Instead of calling the esqlc-Script we used the preprocessor directly.
Here is an excerpt from our makefile:

  .SUFFIXES:
  .SUFFIXES: .ec .o .cc .h 

  .ec.cc:
  	/usr/informix/lib/esqlc -icheck -t unix $*.ec;
	mv $*.c $*.cc

  .cc.o:
	gcc $(EXTRA_DEFINES) $(CC_OPTIONS) $(INCLUDEFILES) -c $*.cc
	

The .ec.cc rule makes a .cc-File from a .ec-File using the ESQL/C-preprocessor.
The .cc.o rule than produces the object file.

  test.o:   test.cc

  test.cc:  test.ec

The above line is necessary, because test.cc may not exist initially und make
is unable to chain two rules together.

  test:     test.o
            gcc -o test test.o /usr/informix/lib/libsql.a

For the linking pass the sql-Library must be included.

I hope this works for you too.
-- 
Peter Hofmann                     e-mail: peterh@prz.tu-berlin.de
Technical University Berlin
Einsteinufer 17                   Tel. ++49-(0)30-314-21292
W-1000 Berlin 10                                     -22612
From: johnl@obelix.informix.com (Jonathan Leffler)
Newsgroups: comp.databases.informix
Subject: Re:  keeping blanks out of the data
Date: 7 Oct 92 21:18:09 GMT
Reply-To: johnl@obelix.informix.com (Jonathan Leffler)
X-Informix-List-ID: <list.1508>

>From: uunet!riverauswest.com!yslas ( Rob Yslas)
>Subject: keeping blanks out of the data
>Date: 5 Oct 92 20:28:59 GMT
>X-Informix-List-Id: <news.1917>
>
>This is probably a dumb question but I don't have an sql/preform manual
>for this information.  I am using the standard engine and would like to
>know if there is a way for me to keep the blanks at the end of a form from
>being saved (attribute).  The user likes to space bar for deletion of
>mistakes rather then using ^d.  I would also like to know if there is an
>easy way to remove existing blanks from the end of fields in the database
>or set fields with only blanks to a null.  Any help is appreciated.

Since SE always stores trailing blanks anyway, there is no point in
worrying about what your user does.  The actual record is fixed length, and
the trailing blanks are added as required.  Further, unless my memory
serves me wrong, any all blank field is stored as null, unless you are
using something weird like ISQL 1.00 or a form with the WITHOUT NULL INPUT
directive.

OnLine has VARCHARS, of course, where trailing blanks are automatically
stripped and only as much storage as necessary is used.  Note that trailing
blanks cannot be reliably retained under either SE or OnLine in a CHAR or
VARCHAR variable.  SE does use index compression and will therefore drop
trailing blanks off index keys -- OnLIne does not do this.

Yours,
Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
Newsgroups: comp.databases.informix
From: aimsuser@shakti.ncst.ernet.in (aimsuser citibank overseas)
Subject: HP AIMS/PLEXUS XDP USERS - ATTENTION
Keywords:  imaging HP AIMS, informix, plexus, XDP
Organization: National Centre for Software Technology, Bombay
Date: Mon, 12 Oct 1992 04:36:29 GMT

We are using HP's Advance Image Management System which
is the HP version of Plexus XDP (Extended Data Processing)
system for an imaging application. We would like to
know is there are any other users on the net who are
using this system also.

If other users can get in touch we can have a lot of
information exchange with nothing to lose.

Cheers,
Deenar Toraskar
(CITICORP SOFTWARE)
(aimsuser@shakti.ncst.ernet.in)
From: jgordon@ssf-sys.DHL.COM (Jim Gordon)
Newsgroups: comp.databases.informix
Subject: Re: Query By Example in 4GL
Date: 15 Oct 92 23:33:11 GMT
Reply-To: jgordon@ssf-sys.DHL.COM (Jim Gordon)
X-Informix-List-ID: <list.1518>

>
> When one uses the CONSTRUCT command in 4GL it blanks the listed screen
> fields before allowing user input. Does anyone know of a means of
> avoiding this, or alternative ways of achieving the functionality below.
>
> a) To allow the user to edit his previously entered criteria (e.g. his
> first search returns far less than he expected)
>
> b) Use a QBE on two fields to search Table 1. Only if that fails search
> using the same values on table 2. One way I've thought of is to replace
> the Table 1 column names in the return field of the original CONSTRUCT.
>
> Informix 4GL V1.1 by the way, but V4.0 manuals don't look any different
Andy,

Not possible to do a) in v4.0 down but 4.1 does have this ability.

b) can be done as you suggest by editing the WHERE clause returned by
Construct.

Cheers - Jim
--------------------------------------------------------------------
Name:     Jim Gordon               Internet: jgordon@ssf-sys.DHL.COM
Company:  DHL Systems Inc          Phone:    (415) 358-5911 (Work)
Address:  1700 S. Amphlett Blvd.             (415) 882-9728 (Home)
          San Mateo, CA 94402      Fax:      (415) 571-6429
--------------------------------------------------------------------
Newsgroups: comp.databases.informix
From: freyder@NeoSoft.com (Rob Freyder)
Subject: Report Writers !  What do you use !
Organization: Western Atlas Int'l - Houston TX
Date: Sat, 17 Oct 1992 02:21:40 GMT

Greetings,

We are looking for report writers for Informix Online V5.0.

We have seen the Fourgen stuff. Ok I guess... Anybody out there love it ?
Anybody out there hate it ?

Doesnt have to be X based ( Like Storm from Informix ).

It would be nice if it were easy enough for some of our "less informed" users
who aren't familiar with sql... 8->  

What are you using ?

Thanks Rob.
-- 
Rob Freyder                             Atlas Wireline a division of
____    ____     ____                   Western Atlas International Inc.
\   \  /   /\   /   /\                  A Litton / Dresser Company
 \   \/   /  \ /   /  \                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From: dave.snyder@snide.com (Dave Snyder)
Newsgroups: comp.databases.informix
Subject: Re:  Query By Example in 4GL
Date: 16 Oct 92 21:08:06 GMT
Reply-To: dave.snyder@snide.com (Dave Snyder)
X-Informix-List-ID: <list.1525>

Quoting Bob Kane...
} 
} Andy Watson asks:
} >
} >When one uses the CONSTRUCT command in 4GL it blanks the listed screen 
} >fields before allowing user input. Does anyone know of a means of 
} >avoiding this, or alternative ways of achieving the functionality below.
} 
} You can of course upgrade to 4.1, but not all of us have nice budgets lying
} around.  The work-around that we use in 4.0 and earlier versions is to use
} an INPUT statement instead of CONSTRUCT. 
}
Be careful of using INPUT instead of CONSTRUCT.  Although you can create
your own WHERE clause based upon the user's input, the user won't be
able to specify ranges (ie. ":") or use "<" or use ">" or other things
that escape me right now.

DAS
-- 
David Snyder @ Snide Computer Services - Folcroft, PA          Current Release
                                                               is db4glgen-3.7
UUCP:  ..!uunet!das13!dave   INTERNET:  dave.snyder@snide.com
From: johnl@obelix.informix.com (Jonathan Leffler)
Newsgroups: comp.databases.informix
Subject: Re:  OnLine Mirroring
Date: 13 Oct 92 04:38:07 GMT
Reply-To: johnl@obelix.informix.com (Jonathan Leffler)
X-Informix-List-ID: <list.1515>

>From: uunet!xact.demon.co.uk!ptm (Paul Thomas Mahoney)
>Subject: OnLine Mirroring
>Date: 12 Oct 92 11:26:27 GMT
>X-Informix-List-Id: <news.1957>

>When you INITIALISE an OnLine system you can enable/disable the disk mirroring
>capability. If you enable mirroring you can later, optionally, enable disk
>mirroring of dbspaces.

>We have now decided not to employ mirroring of dbspaces. What performance
>overhead have we incurred because we said "yes" to the initialisation time
>mirror parameter?

You are wasting a few bytes of shared memory (of the order of 100s of bytes
rather than kilobytes).

Otherwise, my understanding is that there is no overhead.

Yours,
Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
From: suffron@informix.com (Nancy Suffron)
Newsgroups: comp.databases.informix
Subject: Re: keeping blanks out of the data
Summary: Nulls not available in PERFORM
Keywords: nulls perform
Date: 7 Oct 92 12:34:17 GMT
Organization: Informix Software, Inc.

In article <1992Oct6.140938.18612@informix.com> dsimon@jupiter.noname writes:
>In article 24112@advtech.uswest.com,yslas@riverauswest.com ( Rob Yslas) writes:
>>This is probably a dumb question but I don't have an sql/preform manual for this 
>>information.  I am using the standard engine and would like to know if there is a
>>way for me to keep the blanks at the end of a form from being saved (attribute).  
>>The user likes to space bar for deletion of mistakes rather then using ^d.
>>I would also like to know if there is an easy way to remove existing blanks from
>>the end of fields in the database or set fields with only blanks to a null.  Any
>>help is appreciated.
>>
>>yslas@advtech.uswest.com
>>Thanks
>
>
>Unless you are using On-Line and var-chars, it shouldn't really matter, since
>"Hi" and "Hi  " are stored the same way, the only time it would make a difference
>is that there is a difference between NULL and " ".
>
>As to clearing blank fields to NULL, I would suggest an UPDATE similar to this:
>
>UPDATE x SET cola = NULL
>	WHERE cola MATCHES " "
>
>You should probably play with that to see what the exact syntax you need is.  Be aware
>that storing as NULL is not going to change the size of you database files...CISAM
>files are fixed length records, a char(20) is going to take up 20 bytes, regardless
>of what is stored in those bytes.
>
>
>don simon
>Could be wrong, Could be right, Could be I didn't sleep last night.
>

What Don says is true, but please note that when using PERFORM, you
cannot insert NULL into a field.  Passing a field without entering
data will result in a field full of blanks.

Nancy


Nancy Suffron
Lenexa CSE
suffron
913-599-8475
Newsgroups: comp.databases.informix
From: aimsuser@shakti.ncst.ernet.in (aimsuser citibank overseas)
Subject: ESQLC/unload/load sources
Keywords: esqlc UNLOAD LOAD
Organization: National Centre for Software Technology, Bombay
Date: Fri, 9 Oct 1992 06:42:33 GMT

We had received unload.ec along with ESQL/C. I was
trying to change this program for our needs. But the
original unload.ec has some bug, It skips some
fields arbitarily. This behaviour is repeatable.
Does any one have working versions of unload.ec/load.ec.

Deenar Toraskar
(CITICORP SOFTWARE)
(aimsuser@shakti.ncst.ernet.in)
From: kevinc@sequent.com (Kevin Closson)
Newsgroups: comp.databases.informix
Subject: Re: Perform Data Ordering.
Date: 8 Oct 92 22:49:18 GMT
Article-I.D.: sequent.1992Oct8.224918.20188
Organization: Sequent Computer Systems, Inc.

In article <9638@emory.mathcs.emory.edu> maint72@saad-emh1.ARMY.MIL (Michael Gordon) writes:
>     The answer to your question is, YES.
> 
> 
>          1.   Open the TABLE and check for INDEXED fieldnames, the
>               fieldnames for last_name and first_name must be indexed.
>          
>          2.   If they are not indexed then modify them to be indexed.
>               You can use either DUPS or UNIQUE index, UNIQUE will 
>               permit only one like name to be added into the database.


   This technique should only work on static tables.  Should a row of
 "Johnson" be deleted and then a row of "Smith" be inserted, the ordering
 will be broken.
Newsgroups: comp.databases.informix
From: phart@magnus.acs.ohio-state.edu (Patrick S Hart)
Subject: WINGZ - DB: WingzOutput() why so fast????
Organization: The Ohio State University
Date: Thu, 8 Oct 1992 12:49:38 GMT

Hello,

I recently began working with Wingzs, and overall I think it is a fairly 
impressive product.  The question I have is the routine provided by Informix 
DB:WingzOutput() which outputs the Query data to a spreadsheet.  I have tried 
implementing this routine "manually" so I could have more control over it.  I 
have tried it several different ways.  Why they have all been successfull, they
have been VERY slow comparred with DB:WingzOutput().  A typical example would 
be DB:WingzOutput() - 20 seconds, my routine 2 minutes.

I have followed the guidlines in the book and tried several other 
implementations but they are all relativley slow.  Can anyone tell me where I 
can get a copy of this wonderful DB:WingzOutput() code?  Spped is a big issue 
when you are bringing in so many records.  Any comments or help would be 
greatly appreicated.

Thanks,
Ron
Newsgroups: comp.databases.informix,connect.audit
From: mark@ibmpcug.co.uk (Mark Kellaway)
Subject: Licencing Query I4GL RDS & ESQL/C
X-Disclaimer: The views expressed in this article are those of the author
	alone and may not represent the views of the IBM PC User Group.
Organization: The IBM PC User Group, UK.
Date: Thu, 15 Oct 1992 11:57:14 GMT

I have a question about the Informix products and licencing.

We have a product that is written in I4GL V4.00.

In the current development phase we can see the need for a .ec function, 
do we need to purchase ESQL/C, since we could just use c4gl to compile it,
or does this infringe the Licencing.

We are also considering moving to RDS - but this has no facility to compile
.ec functions.

This then also leads me to ask - if ESQL/C comes bundled with I4GL how can 
Informix (in UK at least) justify charging the same for the RDS product
when it does not contain ESQL/C.

Yours Mark Kellaway
-- 
/* Datix Business Systems Ltd. */
#include <disclaimer.h>
#include <witicism.h>
From: walt@mathcs.emory.edu (Walt Hultgren {rmy})
Newsgroups: comp.databases.informix
Subject: RDS/Ultrix error 242/121
Date: 8 Oct 92 18:09:33 GMT
Organization: Emory University

The following problem was submitted to our local Informix user group's
hot-line.  The text below is taken from a FAX sent by Paul Brunner, the
person looking for help.

Paul has checked the error numbers in the manual and has tried most of the
obvious things, including contacting the vendor and DEC.  If the situation
described below rings a bell with anyone, he'd appreciate your help.

He does not currently have access to the Net, but may be able to receive
e-mail via a friend.  He'll let me know that later.

I can't be a continuing go-between, but I *can* do any of several things:

 1. If you send me your contact info, I'll pass it on to Paul so he can
    phone/write you at his expense.  There may be geographic limits to
    this.  We didn't discuss the specifics.

 2. If you send me a descriptive reply by e-mail, I'll get it to him via
    mail or FAX.

 3. If you have something you want to send by postal mail, I can get his
    mailing address for you - don't have it now.


Thanks for any help you can give,

Walt.

------------------------------------------------------------------------------

Contact:  Paul Brunner, Voice: 404/671-9242, FAX: 404/239-1930

Environment:  Informix-4GL RDS 1.10.03B
              Standard Engine
              DEC VAX 3300 running Ultrix 3.1

As part of an accounting package from On-Line Systems, Inc., written in
Informix-4GL, the Accounts Payable module offers the ability to produce A/P
checks in batches.  When the number of checks in the batch is small (say 25
or less), the system runs fine.  When the size of the batch is larger (say
35 or more checks), the 4GL program that prints the checks aborts in the
middle of the batch.  The messages that appear in the 4GL error log are as
follows:

    Date: 10/2/1992    Time: 17:22:57
    Program error at add_check.4gl line 622
    SQL statement error number -242.
    ISAM error number -121.
    Could not open database table (ba).

Line 622 is an update statment as follows:

    UPDATE ba SET lanchk = p_lanchk WHERE baid=p_ckpsel.baid

The following message also appears on the screen at the time of the abort:

    fatal system error - ignoring modified buffer

------------------------------------------------------------------------------

-- 
Walt Hultgren              Internet: walt@rmy.emory.edu       (IP 128.140.8.1)
Emory University               UUCP: {...,gatech,rutgers,uunet}!emory!rmy!walt
954 Gatewood Road, NE        BITNET: walt@EMORY
Atlanta, GA  30329  USA       Voice: +1 404 727 0648
From: baskett@hermes1.sps.mot.com (Bob Baskett)
Newsgroups: comp.databases.informix
Subject: Re: Error -4518: Cannot allocate any more space
Date: 16 Oct 92 21:38:04 GMT
Reply-To: baskett@hermes1.sps.mot.com (Bob Baskett)
X-Informix-List-ID: <list.1526>

charles,

please post the C routines that you have to correct error -4518.

Bob Baskett
Motorola, Inc.
Newsgroups: comp.databases.informix
From: chris@statsci.com (Chris Thorsen)
Subject: Re: Informix 4.1 vs later versions
Reply-To: chris@statsci.com (Chris Thorsen)
Organization: Statistical Sciences, Inc
Date: Mon, 12 Oct 1992 15:03:01 GMT

nll@cbnewsb.cb.att.com (neal.l.leitner) writes:

>From article <1992Oct8.121056.19648@cs.umb.edu>, by tchow@ra.cs.umb.edu (Tony Yee Chow):
>> I have sent a message before and it got corrupted.  So I am posting it again.
>> 
>> Our company is going to install an Informix system and I would like to know
>> which version of Informix is better (programming bugs, stability, and helpful
>> hints).  I have heard that 4.1 is the most stable version so far.  Is that
>> true?
>> Thanks in advance.
>> Tony Chow.
>
>I had to chuckle a little when you used the word "stable".  I am using 
>Informix 4.10 UC4 for AT&T Unix version 4.0.  The 4gl in earlier releases
>of 4.10 was pretty buggy, with core dumps when executing 4gl programs.  It
>was fixed and attributed to a memory management problem.  The current
>release is 4.10 UC4, which seems ok except for one bug that was uncovered the
>other day.  The bug is if your TERMCAP variable points to the informix termcap
>and your terminal is not listed, it will dump a core.  Otherwise I have not
>noticed anything else yet with 4.10 UC4.
>
>Neal Leitner

*I* had to chuckle over *your* post.  I tried to report this bug early
last week, and was told that even though every 4gl program I had written
died dumped core with a segmentation fault, I should recode my programs
more simply to isolate the error so that the Informix support could isolate
the error more easily.

Does anyone else ever get the feeling that after calling Informix support
that you leave the support person knowing more than they did before your
call?

  ###   Chris Thorsen            |  Internet: chris@statsci.com
  ## #  StatSci                  |  UUCP:     uunet!statsci!chris
  # ##  1700 Westlake Ave N #500 |  Phone:    (206) 283-8802
   ###  Seattle, WA 98109        |  FAX:      (206) 283-8691