Problems with temporary tables in INFORMIX
Posted in 1992
We are running DOS INFORMIX-4GL V 1.10.06E on a 286 Librex notebook
running MS-DOS 5.0. We use the protected mode engine, and protected mode
applications.
Much of our code uses temp tables ; Often we execute statements such as
the following :
create temp table foo (s serial, x int, str char(20)).
.
declare c_mumble cursor for
select int_val, str_val from another_tab
foreach c_mumble into prg_var_int, prg_var_str
insert into foo values (0, prg_var_int, prg_var_str)
end foreach.
.
.
.
drop table foo
This code works fine, if we only execute the sequence once per program
run. However, when we attempt to create the temp table again, using the same
sequence of code we get this error on the first insert attempt:
Program stopped at [line of insert command]
SQL statement error number -242.
ISAM error number -9.Could not open database table (foo)
We cannot understand why it cannot open the table, since the program just
created it a few lines before. Obviously, it has something to do with
dropping then creating it again, but we can figure out why. The code works
perfectly on INFORMIX-4GL V 4.00 running on our AT&T 3B2/600 under
AT&T UNIX SYS V R3.2.3.
We attempted to remedy the problem by using a permenant table instead of
a temp table. This executes better (i.e. we can drop and re-create more than
once), but after about 4 drops and recreates it complete corrupts the database,
so that it must be deleted and re-created.
Has anyone had any problems of this nature with the PC version?
Any help will be appreciated.
Post to comp.databases.informix or by EMAIL.
--
__ _ _ _ _ _ ,
/ ) / // ' ) ) ) ' ) / /
/--< __ __. __/ // _ __ , / / / /-< . . /_ ____
/___/_/ (_(_/|_(_/_</_</_/ (_/_ / ' ( o / ) (_/_/ /_/ / <_
/
'
-- Bradley M. Kuhn Computer Systems Development, Inc
INTERNET: rhlab!bkuhn@uunet.uu.net OR bkuhn@loyola.edu
UUCP: ...uunet!rhlab!bkuhn