/ Check-in [2a89fb3c]
Login

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

Overview
Comment:Bug fix in the newly revised sqllimit1.test script. (CVS 4908)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:2a89fb3c3e991b2c02e07b8b86b67b8d80e0360d
User & Date: drh 2008-03-22 23:59:58
Context
2008-03-23
00:20
Remove redundant tests from the reparenter in the btree module. (CVS 4909) check-in: a807e718 user: drh tags: trunk
2008-03-22
23:59
Bug fix in the newly revised sqllimit1.test script. (CVS 4908) check-in: 2a89fb3c user: drh tags: trunk
01:08
Add the speed1p.test script. Like speed1.test except that it tries to take advantage of prepared statements. (CVS 4907) check-in: ece4fb9f user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/sqllimits1.test.

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
...
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# This file contains tests to verify that the limits defined in
# sqlite source file limits.h are enforced.
#
# $Id: sqllimits1.test,v 1.26 2008/03/20 18:00:49 drh Exp $

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

# Verify that the default per-connection limits are the same as
# the compile-time hard limits.
#
................................................................................

do_test sqllimits1-5.13 {
  set ::str1 [string repeat ' [expr {$SQLITE_LIMIT_LENGTH - 10}]]
  catchsql { SELECT hex($::str1) }
} {1 {string or blob too big}}

do_test sqllimits1-5.14.1 {
  set ::STMT [sqlite3_prepare $::DB "SELECT ?" -1 TAIL]
  sqlite3_bind_zeroblob $::STMT 1 [expr {$SQLITE_LIMIT_LENGTH + 1}]
} {}
do_test sqllimits1-5.14.2 {
  sqlite3_step $::STMT 
} {SQLITE_ERROR}
do_test sqllimits1-5.14.3 {
  sqlite3_finalize $::STMT 
................................................................................
  set tail " /* A comment to take up space in order to make the string\
                longer without increasing the expression depth */\
                AND   1  ==  1"
  set N [expr {(50000 / [string length $tail])+1}]
  append sql [string repeat $tail $N]
  set nbytes [string length $sql]
  append sql { AND 0}
  set rc [catch {sqlite3_prepare $DB $sql $nbytes TAIL} STMT]
  lappend rc $STMT
} {1 {(18) statement too long}}
do_test sqllimits1-6.4 {
  sqlite3_errmsg $DB
} {statement too long}

#--------------------------------------------------------------------
# Test cases sqllimits1-7.* test that the limit set using the
# max_page_count pragma.
#
do_test sqllimits1-7.1 {







|







 







|







 







|



|







8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
...
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# This file contains tests to verify that the limits defined in
# sqlite source file limits.h are enforced.
#
# $Id: sqllimits1.test,v 1.27 2008/03/22 23:59:58 drh Exp $

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

# Verify that the default per-connection limits are the same as
# the compile-time hard limits.
#
................................................................................

do_test sqllimits1-5.13 {
  set ::str1 [string repeat ' [expr {$SQLITE_LIMIT_LENGTH - 10}]]
  catchsql { SELECT hex($::str1) }
} {1 {string or blob too big}}

do_test sqllimits1-5.14.1 {
  set ::STMT [sqlite3_prepare db "SELECT ?" -1 TAIL]
  sqlite3_bind_zeroblob $::STMT 1 [expr {$SQLITE_LIMIT_LENGTH + 1}]
} {}
do_test sqllimits1-5.14.2 {
  sqlite3_step $::STMT 
} {SQLITE_ERROR}
do_test sqllimits1-5.14.3 {
  sqlite3_finalize $::STMT 
................................................................................
  set tail " /* A comment to take up space in order to make the string\
                longer without increasing the expression depth */\
                AND   1  ==  1"
  set N [expr {(50000 / [string length $tail])+1}]
  append sql [string repeat $tail $N]
  set nbytes [string length $sql]
  append sql { AND 0}
  set rc [catch {sqlite3_prepare db $sql $nbytes TAIL} STMT]
  lappend rc $STMT
} {1 {(18) statement too long}}
do_test sqllimits1-6.4 {
  sqlite3_errmsg db
} {statement too long}

#--------------------------------------------------------------------
# Test cases sqllimits1-7.* test that the limit set using the
# max_page_count pragma.
#
do_test sqllimits1-7.1 {