bander@oswine.cs.odu.edu (Jim Bander) (06/19/91)
We are running Informix On-line release 4.0 on a Bull DPX/2 (Unix minicomputer). The database has in excess of 120 tables, each of whose name is 18 characters long. When running isql form generation, report generation, and table information utilities, there is a memory fault core dump on the table selection screen. This doesn't happen to the owner of the database (informix user), only to other users. Since the other users see table names as longer (with an "informix." prefix), we tried shortening the table names to 4 characters each: the problem disappeared! HFSI thinks this is not a Bull-specific problem--probably an Informix bug associated with shared memory pages? Has anyone out there... 1. seen this problem before, or 2. seen a Unix system run Informix On-line 4.0 with lots of tables and long file names?
john@Equi.com (John J. Ackley) (06/19/91)
bander@oswine.cs.odu.edu (Jim Bander) writes: > We are running Informix On-line release 4.0 on a Bull DPX/2 (Unix > minicomputer). The database has in excess of 120 tables, each of whose > name is 18 characters long. When running isql form generation, report > generation, and table information utilities, there is a memory fault > core dump on the table selection screen. > ... > Has anyone out there... > 1. seen this problem before, or > 2. seen a Unix system run Informix On-line 4.0 with lots of tables > and long file names? I was not able to duplicate the core dumps, but I did run into some problems. We running Online 4.00.UE1 on a Motorola Delta 3308 with SysV/68 R3V6. As user informix, I created the following table: DBSCHEMA Schema Utility INFORMIX-SQL Version 4.00.UE1 Copyright (C) Informix Software, Inc., 1984-1989 Software Serial Number INF#Fxxxxxx { TABLE "informix".bigtablenamewith18 row size = 20 number of columns = 2 index size = 0 } create table "informix".bigtablenamewith18 ( col1 integer, col2 char(16) ); revoke all on "informix".bigtablenamewith18 from "public"; Then I popped back out to myself and generated and compiled a default form: database testdb screen size 24 by 80 { col1 [f000 ] col2 [f001 ] } end tables bigtablenamewith18=informix.bigtablenamewith18 attributes f000 = bigtablenamewith18.col1; f001 = bigtablenamewith18.col2; end So far so good. However, when I ran the form, the ring menu was very odd. The item description text and the first item token were fine, but the second and following menu item token were replaced by "*"'s. Pressing the first letter of what should have been the item tokens did not work. Rotating on the menu with the spacebar then pressing return did produce the appropriate actions. On to Report. Again I did not encounter a core dump, but the default ACE report did not compile. Here's the error file it generated: database testdb end select col1, B^D,2 #________^ # # An illegal (invisible, control) character has been found # on line 5, character 10. It has been replaced by a blank # in the listing, but it is still in the source (input) file, # and should be removed before attempting to compile again. # See error number -8027. # from informix.bigtablenamewith18 end # # An illegal character has been found in the statement. # See error number -202. # format every row end [I changed the control-D to a '^' and a 'D' for posting.] So there you have it. ISQL seems to dislike very long table names. BTW, 18 characters is the maximum; from systables: Column name Type Nulls tabname char(18) yes owner char(8) yes ... > HFSI thinks this is not a Bull-specific problem--probably an Informix bug > associated with shared memory pages? > This is probably due to buffer overflow, which would explain your core dumps, and seems to be in line with what I've experienced. Most of our table names are much shorter, so we don't see this regularly. Good Luck -- John Ackley <john@equi.com> // The usual disclaimer stuff