7.12 panics when update view
Posted in 1996
Hi all
my Informix-Online 7.12 on Sparc Solaris 2.4 fails when user
tries to update non-updateable view. Details:
Tables: addtable fcode SERIAL PRIMARY KEY
fname CHAR(8)
maintable it_name CHAR(40)
un_code INTEGER NOT NULL
FOREIGN KEY (un_code) REFERENCES addtable
Stored procedure:
CREATE PROCEDURE sproc(val INTEGER) RETURNING CHAR(8)DEFINE fkey CHAR(8);
SELECT fname INTO fkey FROM addtable WHERE fcode = val;
RETURN fkey;
END PROCEDURE
View:
CREATE VIEW sview (itemname, unitname) AS
SELECT it_name, sproc(un_code) FROM maintable
Then, when user tries to update this view:
UPDATE sview SET unitname = "some" WHERE itemname = "somename"
server fails with messages in online.log:
09:44:29 Assert Failed: Internal Error - Segmentation Violation
09:44:29 Who:Session(15, informix@sparc5, 5770, 169698464)
Thread(40, sqlexec, a1b5514, 1)
09:44:29 Results: OnLine must abort
09:44:29 Action: Reinitialize shared memory
09:44:29 See Also: /tmp/af.2877ac, shmem.2877ac.0
09:44:32 rsinit.c, line 9182, thread 40, proc id 5744, Segmentation Violation.
09:44:32 PANIC: Attempting to bring system down
I know that it's illegal update, but why server cannot correctly reject
this request?
Leonid