SQLite

Check-in [1aaed6a469]
Login

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

Overview
Comment:Enhancements to the change counter tests. Ticket #3013. (CVS 4986)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1aaed6a4694f60ebcec5dee98f09fe756c81dfa4
User & Date: drh 2008-04-10 18:44:36.000
Context
2008-04-11
14:56
Speed improvements by removing unnecessary memset() operations. Also: do not resize the opcode array of a virtual machine to its minimum size after code generation completes. The extra resize merely uses time. (CVS 4987) (check-in: 2589955507 user: drh tags: trunk)
2008-04-10
18:44
Enhancements to the change counter tests. Ticket #3013. (CVS 4986) (check-in: 1aaed6a469 user: drh tags: trunk)
18:35
Correctly handle virtual tables that are created and dropped all within a single transaction. Ticket #2994. (CVS 4985) (check-in: 0acb1b428d user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/update.test.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 2001 September 15
#
# 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 file implements regression tests for SQLite library.  The
# focus of this file is testing the UPDATE statement.
#
# $Id: update.test,v 1.18 2008/01/16 18:20:42 danielk1977 Exp $

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

# Try to update an non-existent table
#
do_test update-1.1 {













|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 2001 September 15
#
# 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 file implements regression tests for SQLite library.  The
# focus of this file is testing the UPDATE statement.
#
# $Id: update.test,v 1.19 2008/04/10 18:44:36 drh Exp $

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

# Try to update an non-existent table
#
do_test update-1.1 {
58
59
60
61
62
63
64












65
66
67
68
69
70
71
} {1 {no such column: f3}}

# Actually do some updates
#
do_test update-3.5 {
  execsql {UPDATE test1 SET f2=f2*3}
} {}












do_test update-3.6 {
  execsql {SELECT * FROM test1 ORDER BY f1}
} {1 6 2 12 3 24 4 48 5 96 6 192 7 384 8 768 9 1536 10 3072}
do_test update-3.7 {
  execsql {PRAGMA count_changes=on}
  execsql {UPDATE test1 SET f2=f2/3 WHERE f1<=5}
} {5}







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







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
} {1 {no such column: f3}}

# Actually do some updates
#
do_test update-3.5 {
  execsql {UPDATE test1 SET f2=f2*3}
} {}
do_test update-3.5.1 {
  db changes
} {10}

# verify that SELECT does not reset the change counter
do_test update-3.5.2 {
  db eval {SELECT count(*) FROM test1}
} {10}
do_test update-3.5.3 {
  db changes
} {10}

do_test update-3.6 {
  execsql {SELECT * FROM test1 ORDER BY f1}
} {1 6 2 12 3 24 4 48 5 96 6 192 7 384 8 768 9 1536 10 3072}
do_test update-3.7 {
  execsql {PRAGMA count_changes=on}
  execsql {UPDATE test1 SET f2=f2/3 WHERE f1<=5}
} {5}