Hello there,
when trying to use SAPDB I stumbled over the following phenomena:
I created a small table with a TIMESTAMP-column. This column schould always
list the timestamp of the last time a specific row was changed. To acomplish
this
I used a trigger.
Now, when the trigger fires the database shuts down on the server. I have to
bring it back online. There is no data loss or anything, but the server puts
the database offline.
Sometimes there is a error message, somtetimes not. The error message
reads: General Error; 800 Implicit SERVERDB restart (connection aborted)
If you change the datetype from TIMESTAMP to TIME or DATE everything works
fine.
Can anyone help me to fix it. BTW I am using a LINUX Server (SUSE 8.1, Kernel
2.4.19).
The SAPDB Version is 7.4.3.10 installed from RPMs.
Bye, Torsten...
-------------------------- Appendix --------------------------
Here is a test script with which I was able to reproduce the error.
// -------------- Crash
DROP TABLE "DBA"."Test"
//
CREATE TABLE "DBA"."Test"
(
"TSTID" Char (8) BYTE DEFAULT STAMP,
"TEXT" Char (8) ASCII,
"_mdate" Timestamp DEFAULT TIMESTAMP,
PRIMARY KEY ("TSTID")
)
//
CREATE TRIGGER "tstupd" FOR "DBA"."Test" AFTER UPDATE EXECUTE
(
UPDATE "DBA"."Test" SET "_mdate"=timestamp WHERE TSTID=:NEW.TSTID;
)
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test1')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test2')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test3')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test4')
//
UPDATE "DBA"."Test" SET TEXT='test10' WHERE TEXT='test1'
If you change the script like this. It's working.
// ----------- Work
DROP TABLE "DBA"."Test"
//
CREATE TABLE "DBA"."Test"
(
"TSTID" Char (8) BYTE DEFAULT STAMP,
"TEXT" Char (8) ASCII,
"_mdate" Time DEFAULT TIME,
PRIMARY KEY ("TSTID")
)
//
CREATE TRIGGER "tstupd" FOR "DBA"."Test" AFTER UPDATE EXECUTE
(
UPDATE "DBA"."Test" SET "_mdate"=time WHERE TSTID=:NEW.TSTID;
)
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test1')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test2')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test3')
//
INSERT INTO "DBA"."Test" (TEXT) VALUES ('test4')
//
UPDATE "DBA"."Test" SET TEXT='test10' WHERE TEXT='test1'
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general