/ Check-in [5a82620e]
Login

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

Overview
Comment:Add a test to mallocI.test to show that a shared lock is correctly released if an OOM condition occurs while parsing a database schema. (CVS 6951)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:5a82620efa1298530760e69e4e34d446a30233b8
User & Date: danielk1977 2009-07-29 06:04:57
Context
2009-07-31
06:14
Fix a bug in where.c that could cause SQLite to write to freed memory while compiling a query with many terms in the WHERE clause. (CVS 6952) check-in: 8161af84 user: danielk1977 tags: trunk
2009-07-29
06:04
Add a test to mallocI.test to show that a shared lock is correctly released if an OOM condition occurs while parsing a database schema. (CVS 6951) check-in: 5a82620e user: danielk1977 tags: trunk
2009-07-28
16:44
Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996. (CVS 6950) check-in: 4571aa9e user: danielk1977 tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/mallocI.test.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
..
35
36
37
38
39
40
41
42



















43
#    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 various obscure operations.
# 
# $Id: mallocI.test,v 1.1 2008/08/02 03:50:39 drh Exp $

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

# Malloc failures in a view.
#
................................................................................
# Malloc failure while creating a table from a SELECT statement.
#
do_malloc_test mallocI-3 -sqlprep {
  CREATE TABLE t1(a,b,c);
} -sqlbody {
  CREATE TABLE t2 AS SELECT b,c FROM t1;
}




















finish_test







|







 








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
..
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#    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 various obscure operations.
# 
# $Id: mallocI.test,v 1.2 2009/07/29 06:04:57 danielk1977 Exp $

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

# Malloc failures in a view.
#
................................................................................
# Malloc failure while creating a table from a SELECT statement.
#
do_malloc_test mallocI-3 -sqlprep {
  CREATE TABLE t1(a,b,c);
} -sqlbody {
  CREATE TABLE t2 AS SELECT b,c FROM t1;
}

# This tests that a malloc failure that occurs while passing the schema
# does not result in a SHARED lock being left on the database file.
#
do_malloc_test mallocI-4 -tclprep {
  sqlite3 db2 test.db
  db2 eval {
    CREATE TABLE t1(a, b, c);
    CREATE TABLE t2(a, b, c);
  }
} -sqlbody {
  SELECT * FROM t1
} -cleanup {
  do_test mallocI-4.$::n.2 {
    # If this INSERT is possible then [db] does not hold a shared lock
    # on the database file.
    catchsql { INSERT INTO t1 VALUES(1, 2, 3) } db2
  } {0 {}}
}

finish_test