dbschema failed in IDS7.31.UD7
Posted in 2005
Topics: Storage & Space Management, Error Codes & Troubleshooting, Platform-Specific Issues
Hi all,
I'm having a problem with dbschema where it returns
ISAM error 100 after changing the table structure(either add column or delete column). Does anyone
experience this problem before? Is it a known problem
in UD7? Any resolution?
OS = Solaris 2.7 x86 platform
IDS = 7.31.UD7
This is how I produce the error.
1) Create a table
create table table1
(
item char(15),
fileid char(64),
userid char(10),
primary key (item) constraint "informix".pk_fileid
) extent size 53 next size 16 lock mode row;
2) Change table structure
alter table table1add (align char(4) default "NONE" not null);
3) run dbschema command to retrieve the schema. It
failed with the following error.
100 - ISAM error: duplicate value for a record with
unique key.
TIA,
Miyaki
__________________________________
Do you Yahoo!?
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250
sending to informix-list
1. Discover the tablename from dbschema.
2. In dbaccess,
select tabid, tabname from systables where tabname = "tablename"
Note the tabid.
3. select * from sysobjstate where tabid = [tabid from step 2];
Note index and contraint names. Run steps 4-7 for each index found.
4. select * from sysobjstate where name = "[index/constraint name]"
We had two entries with different tabids. Note the bogus tabid.
5. select tabid, tabname from systables where tabid = [bogus tabid]
We had "no rows found". Table does not exist.
6. delete from sysobjstate
where name = "[index name]" and tabid = [bogus tabid]
7. select * from sysobjstate where name = "[index/constraint name]"
just to check. Should only return 1 row.
8. Run dbschema for that table. It should work.