xref: /sqlite-3.40.0/test/mallocF.test (revision eee4c8ca)
1f998b730Sdrh# 2007 Aug 29
2f998b730Sdrh#
3f998b730Sdrh# The author disclaims copyright to this source code.  In place of
4f998b730Sdrh# a legal notice, here is a blessing:
5f998b730Sdrh#
6f998b730Sdrh#    May you do good and not evil.
7f998b730Sdrh#    May you find forgiveness for yourself and forgive others.
8f998b730Sdrh#    May you share freely, never taking more than you give.
9f998b730Sdrh#
10f998b730Sdrh#***********************************************************************
11f998b730Sdrh#
12f998b730Sdrh# This test script checks that tickets #2794, #2795, #2796, and #2797
13f998b730Sdrh# have been fixed.
14f998b730Sdrh#
15*eee4c8caSdrh# $Id: mallocF.test,v 1.4 2008/02/18 22:24:58 drh Exp $
16f998b730Sdrh
17f998b730Sdrhset testdir [file dirname $argv0]
18f998b730Sdrhsource $testdir/tester.tcl
19*eee4c8caSdrhsource $testdir/malloc_common.tcl
20f998b730Sdrh
21f998b730Sdrh# Only run these tests if memory debugging is turned on.
22f998b730Sdrh#
23*eee4c8caSdrhif {!$MEMDEBUG} {
24c4dd3fd2Sdrh   puts "Skipping mallocF tests: not compiled with -DSQLITE_MEMDEBUG..."
25f998b730Sdrh   finish_test
26f998b730Sdrh   return
27f998b730Sdrh}
28f998b730Sdrh
29f998b730Sdrh# tickets #2794 and #2795 and #2797
30f998b730Sdrh#
31f998b730Sdrhset PREP {
32f998b730Sdrh  CREATE TABLE t1(x,y);
33f998b730Sdrh  INSERT INTO t1 VALUES('abc123', 5);
34f998b730Sdrh  INSERT INTO t1 VALUES('xyz987', 42);
35f998b730Sdrh}
36f998b730Sdrhdo_malloc_test malloeF-1 -sqlprep $PREP -sqlbody {
37f998b730Sdrh  SELECT * FROM t1 WHERE x GLOB 'abc*'
38f998b730Sdrh}
39f998b730Sdrh
40f998b730Sdrh# ticket #2796
41f998b730Sdrh#
42f998b730Sdrhset PREP {
43f998b730Sdrh  CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
44f998b730Sdrh  INSERT INTO t1 VALUES('abc123', 5);
45f998b730Sdrh  INSERT INTO t1 VALUES('xyz987', 42);
46f998b730Sdrh}
47f998b730Sdrhdo_malloc_test malloeF-2 -sqlprep $PREP -sqlbody {
48f998b730Sdrh  SELECT x FROM t1
49f998b730Sdrh   WHERE y=1 OR y=2 OR y=3 OR y=4 OR y=5
50f998b730Sdrh      OR y=6 OR y=7 OR y=8 OR y=9 OR y=10
51f998b730Sdrh      OR y=11 OR y=12 OR y=13 OR y=14 OR y=15
52f998b730Sdrh      OR y=x
53f998b730Sdrh}
54f998b730Sdrh
55f998b730Sdrhset PREP {
56f998b730Sdrh  CREATE TABLE t1(x PRIMARY KEY,y UNIQUE);
57f998b730Sdrh  INSERT INTO t1 VALUES('abc123', 5);
58f998b730Sdrh  INSERT INTO t1 VALUES('xyz987', 42);
59f998b730Sdrh}
60f998b730Sdrhdo_malloc_test malloeF-3 -sqlprep $PREP -sqlbody {
61f998b730Sdrh  SELECT x FROM t1 WHERE y BETWEEN 10 AND 29
62f998b730Sdrh}
63f998b730Sdrh
6449df6b74Sdrh# Ticket #2843
6549df6b74Sdrh#
6649df6b74Sdrhset PREP {
6749df6b74Sdrh  CREATE TABLE t1(x);
6849df6b74Sdrh  CREATE TRIGGER r1 BEFORE INSERT ON t1 BEGIN
6949df6b74Sdrh    SELECT 'hello';
7049df6b74Sdrh  END;
7149df6b74Sdrh}
7249df6b74Sdrhdo_malloc_test mallocF-4 -sqlprep $PREP -sqlbody {
7349df6b74Sdrh  INSERT INTO t1 VALUES(random());
7449df6b74Sdrh}
7549df6b74Sdrh
76f998b730Sdrhfinish_test
77