persistentstorage/sqlite3api/TEST/TclScript/mallocF.test
changeset 0 08ec8eefde2f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/persistentstorage/sqlite3api/TEST/TclScript/mallocF.test	Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,76 @@
+# 2007 Aug 29
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+# This test script checks that tickets #2794, #2795, #2796, and #2797
+# have been fixed.
+# 
+# $Id: mallocF.test,v 1.4 2008/02/18 22:24:58 drh Exp $
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+source $testdir/malloc_common.tcl
+
+# Only run these tests if memory debugging is turned on.
+#
+if {!$MEMDEBUG} {
+   puts "Skipping mallocF tests: not compiled with -DSQLITE_MEMDEBUG..."
+   finish_test
+   return
+}
+
+# tickets #2794 and #2795 and #2797
+#
+set PREP {
+  CREATE TABLE t1(x,y);
+  INSERT INTO t1 VALUES('abc123', 5);
+  INSERT INTO t1 VALUES('xyz987', 42);
+}
+do_malloc_test malloeF-1 -sqlprep $PREP -sqlbody {
+  SELECT * FROM t1 WHERE x GLOB 'abc*'
+}
+
+# ticket #2796
+#
+set PREP {
+  CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
+  INSERT INTO t1 VALUES('abc123', 5);
+  INSERT INTO t1 VALUES('xyz987', 42);
+}
+do_malloc_test malloeF-2 -sqlprep $PREP -sqlbody {
+  SELECT x FROM t1
+   WHERE y=1 OR y=2 OR y=3 OR y=4 OR y=5
+      OR y=6 OR y=7 OR y=8 OR y=9 OR y=10
+      OR y=11 OR y=12 OR y=13 OR y=14 OR y=15
+      OR y=x
+}
+
+set PREP {
+  CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
+  INSERT INTO t1 VALUES('abc123', 5);
+  INSERT INTO t1 VALUES('xyz987', 42);
+}
+do_malloc_test malloeF-3 -sqlprep $PREP -sqlbody {
+  SELECT x FROM t1 WHERE y BETWEEN 10 AND 29
+}
+
+# Ticket #2843
+#
+set PREP {
+  CREATE TABLE t1(x);
+  CREATE TRIGGER r1 BEFORE INSERT ON t1 BEGIN
+    SELECT 'hello';
+  END;
+}
+do_malloc_test mallocF-4 -sqlprep $PREP -sqlbody {
+  INSERT INTO t1 VALUES(random());
+}
+
+finish_test