Annotation of embedaddon/sqlite3/test/mallocJ.test, revision 1.1.1.1
1.1 misho 1: # 2008 August 01
2: #
3: # The author disclaims copyright to this source code. In place of
4: # a legal notice, here is a blessing:
5: #
6: # May you do good and not evil.
7: # May you find forgiveness for yourself and forgive others.
8: # May you share freely, never taking more than you give.
9: #
10: #***********************************************************************
11: #
12: # This test script checks malloc failures in LIMIT operations for
13: # UPDATE/DELETE statements.
14: #
15: # $Id: mallocJ.test,v 1.6 2009/01/09 02:49:32 drh Exp $
16:
17: set testdir [file dirname $argv0]
18: source $testdir/tester.tcl
19: source $testdir/malloc_common.tcl
20:
21: ifcapable {update_delete_limit} {
22:
23: do_malloc_test mallocJ-1 -sqlprep {
24: DROP TABLE IF EXISTS t1;
25: CREATE TABLE t1(x int, y int);
26: INSERT INTO t1 VALUES(1,1);
27: INSERT INTO t1 VALUES(1,2);
28: INSERT INTO t1 VALUES(1,2);
29: INSERT INTO t1 VALUES(2,1);
30: INSERT INTO t1 VALUES(2,2);
31: INSERT INTO t1 VALUES(2,3);
32: } -sqlbody {
33: UPDATE t1 SET x=1 ORDER BY y LIMIT 2 OFFSET 2;
34: UPDATE t1 SET x=2 WHERE y=1 ORDER BY y LIMIT 2 OFFSET 2;
35: DELETE FROM t1 WHERE x=1 ORDER BY y LIMIT 2 OFFSET 2;
36: DELETE FROM t1 ORDER BY y LIMIT 2 OFFSET 2;
37: }
38:
39: }
40:
41: # ticket #3467
42: do_malloc_test mallocJ-2 -sqlprep {
43: CREATE TABLE t1(a,b);
44: INSERT INTO t1 VALUES(1,2);
45: PRAGMA vdbe_trace=ON;
46: } -sqlbody {
47: SELECT a, b, 'abc' FROM t1
48: UNION
49: SELECT b, a, 'xyz' FROM t1
50: ORDER BY 2, 3;
51: }
52:
53: # ticket #3478
54: do_malloc_test mallocJ-3 -sqlbody {
55: EXPLAIN COMMIT
56: }
57:
58: # ticket #3485
59: do_malloc_test mallocJ-4 -sqlprep {
60: CREATE TABLE t1(a,b,c);
61: CREATE TABLE t2(x,y,z);
62: } -sqlbody {
63: SELECT * FROM (SELECT a,b FROM t1 UNION ALL SELECT x, y FROM t2) ORDER BY 1
64: }
65:
66: # coverage testing
67: do_malloc_test mallocJ-5 -sqlprep {
68: CREATE TABLE t1(["a"]);
69: } -sqlbody {
70: SELECT * FROM t1
71: }
72:
73: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>