Fix a segfault that may follow a malloc failure during compilation of an INSTEAD OF trigger. (CVS 4749)
FossilOrigin-Name: c6635a71dbb2a06d56a0cfce7f0383325e12dc01
diff --git a/test/malloc.test b/test/malloc.test
index f95af33..a12ebc1 100644
--- a/test/malloc.test
+++ b/test/malloc.test
@@ -16,7 +16,7 @@
# to see what happens in the library if a malloc were to really fail
# due to an out-of-memory situation.
#
-# $Id: malloc.test,v 1.57 2008/01/23 17:13:41 danielk1977 Exp $
+# $Id: malloc.test,v 1.58 2008/01/24 14:27:44 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -574,13 +574,27 @@
}
ifcapable compound {
- do_malloc_test 24 -start 19 -sqlprep {
+ do_malloc_test 24 -sqlprep {
CREATE TABLE t1(a, b, c)
} -sqlbody {
SELECT 1 FROM t1 UNION SELECT 2 FROM t1 ORDER BY 1
}
}
+ifcapable view&&trigger {
+ do_malloc_test 25 -sqlprep {
+ CREATE TABLE t1(a, b, c);
+ CREATE VIEW v1 AS SELECT * FROM t1;
+ CREATE TRIGGER v1t1 INSTEAD OF DELETE ON v1 BEGIN SELECT 1; END;
+ CREATE TRIGGER v1t2 INSTEAD OF INSERT ON v1 BEGIN SELECT 1; END;
+ CREATE TRIGGER v1t3 INSTEAD OF UPDATE ON v1 BEGIN SELECT 1; END;
+ } -sqlbody {
+ DELETE FROM v1 WHERE a = 1;
+ INSERT INTO v1 VALUES(1, 2, 3);
+ UPDATE v1 SET a = 1 WHERE b = 2;
+ }
+}
+
# Ensure that no file descriptors were leaked.
do_test malloc-99.X {
catch {db close}