SQLite

Check-in [5375b348b1]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added mallocJ.test to test allocation failure handling of the new LIMIT/OFFSET support for UPDATE/DELETE. (CVS 5790)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5375b348b12a4ae149472c84d6f05a78a5542a21
User & Date: shane 2008-10-10 13:34:30.000
Context
2008-10-10
13:35
Re-factored memory allocation failure handling in the sqlite3LimitWhere() function based on failures in the mallocJ.test script. (CVS 5791) (check-in: 43507bbefb user: shane tags: trunk)
13:34
Added mallocJ.test to test allocation failure handling of the new LIMIT/OFFSET support for UPDATE/DELETE. (CVS 5790) (check-in: 5375b348b1 user: shane tags: trunk)
06:02
Initial test cases for the new LIMIT/OFFSET support for DELETE/UPDATE. (CVS 5789) (check-in: d9f5e15ca0 user: shane tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Added test/mallocJ.test.


















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 2008 August 01
#
# 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 malloc failures in LIMIT operations for 
# UPDATE/DELETE statements.
# 
# $Id: mallocJ.test,v 1.1 2008/10/10 13:34:30 shane Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl
source $testdir/malloc_common.tcl

ifcapable {update_delete_limit} {

  do_malloc_test mallocJ-4 -sqlprep {
    DROP TABLE IF EXISTS t1;
    CREATE TABLE t1(x int, y int);
    INSERT INTO t1 VALUES(1,1);
    INSERT INTO t1 VALUES(1,2);
    INSERT INTO t1 VALUES(1,2);
    INSERT INTO t1 VALUES(2,1);
    INSERT INTO t1 VALUES(2,2);
    INSERT INTO t1 VALUES(2,3);
  } -sqlbody {
    UPDATE t1 SET x=1 ORDER BY y LIMIT 2 OFFSET 2;
    UPDATE t1 SET x=2 WHERE y=1 ORDER BY y LIMIT 2 OFFSET 2;
    DELETE FROM t1 WHERE x=1 ORDER BY y LIMIT 2 OFFSET 2;
    DELETE FROM t1 ORDER BY y LIMIT 2 OFFSET 2;
  }

}

finish_test