SQLite

Check-in [2a89fb3c3e]
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
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2a89fb3c3e991b2c02e07b8b86b67b8d80e0360d
User & Date: drh 2008-03-22 23:59:58.000
Context
2008-03-23
00:20
Remove redundant tests from the reparenter in the btree module. (CVS 4909) (check-in: a807e7184b user: drh tags: trunk)
2008-03-22
23:59
Bug fix in the newly revised sqllimit1.test script. (CVS 4908) (check-in: 2a89fb3c3e 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: ece4fb9f7b user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/sqllimits1.test.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#    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.
#







|







8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#    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.
#
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298

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 







|







284
285
286
287
288
289
290
291
292
293
294
295
296
297
298

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 
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
  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 {







|



|







359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
  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 {