🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.databases.ingres
1 messages
1 total messages Started by oliverj@zeus.eym Fri, 17 Sep 1993 03:48
Ingres user count problem
#3980
Author: oliverj@zeus.eym
Date: Fri, 17 Sep 1993 03:48
48 lines
1925 bytes
Can any Informix guru out there solve this problem?

We needed a dynamic menu system for our Informix based application: dynamic
meaning the menu tree is stored in the database itself. This allows
modules to be added to the application without recompiling, the menu
structure to be changed on the fly etc.

However, Informix 4GL does not allow the CALL instruction with a variable
function name. The call-menu module however, needs to be able to invoke
another 4GL module without knowing its name at comile time. The obvious
solution is to do something like:

   run "fglgo ",module_name

The problems with this are:
    a) you get dozens of fglgo and shell processes lying around waiting
       on their children and
    b) you can only navigate from node to connected node on the tree; we
       needed to be able to jump from/to any node.

OK, we wrote a caller function in C that simply exec's a new fglgo process,
supplying the required module name, i.e:

 execp("fglgo", module_name, 0);

When such a processs terminates, it looks up it's parent in the menu tree,
and invokes it in the same way. Of couse it doesn't tidy up the Informix
dbms session, but what the hell....

Right, everything's just peachy now.. but wait! If I jump between modules
15 times, the program crashes with an error claiming that the maximum
number of database sessions has been exceeded.

Apparently, when a new fglgo is exec'd, the dbms doesn't know that the old
one has died. What we need is a way of gracefully disconnecting from the
dbms before execing the new process.

Phew! OK, anybody got the no doubt blindingly obvious solution?

BTW/FWIW: we're running Informix 4.10, Turbo engine on RS6000/AIX3.2.

___________________________________________________________________________
John Oliver                    |
CORE Management Systems Ltd    | This signature intentionally left bland.
oliverj@eymsl.co.nz            |



Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads