Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(323)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/test/incrblob4.test

Issue 883353008: [sql] Import reference version of SQLite 3.8.7.4. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hold back encoding change which is messing up patch. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # 2012 March 23
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 #
12 #
13 set testdir [file dirname $argv0]
14 source $testdir/tester.tcl
15 ifcapable {!incrblob} { finish_test ; return }
16 set testprefix incrblob4
17
18 proc create_t1 {} {
19 execsql {
20 PRAGMA page_size = 1024;
21 CREATE TABLE t1(k INTEGER PRIMARY KEY, v);
22 }
23 }
24
25 proc populate_t1 {} {
26 set data [list a b c d e f g h i j k l m n o p q r s t u v w x y z]
27 foreach d $data {
28 set blob [string repeat $d 900]
29 execsql { INSERT INTO t1(v) VALUES($blob) }
30 }
31 }
32
33
34 do_test 1.1 {
35 create_t1
36 populate_t1
37 } {}
38
39 do_test 1.2 {
40 set blob [db incrblob t1 v 5]
41 read $blob 10
42 } {eeeeeeeeee}
43
44 do_test 1.3 {
45 execsql { DELETE FROM t1 }
46 populate_t1
47 } {}
48
49
50
51 do_test 2.1 {
52 reset_db
53 create_t1
54 populate_t1
55 } {}
56
57 do_test 2.2 {
58 set blob [db incrblob t1 v 10]
59 read $blob 10
60 } {jjjjjjjjjj}
61
62 do_test 2.3 {
63 set new [string repeat % 900]
64 execsql { DELETE FROM t1 WHERE k=10 }
65 execsql { DELETE FROM t1 WHERE k=9 }
66 execsql { INSERT INTO t1(v) VALUES($new) }
67 } {}
68
69
70
71 do_test 3.1 {
72 reset_db
73 create_t1
74 populate_t1
75 } {}
76
77 do_test 3.2 {
78 set blob [db incrblob t1 v 20]
79 read $blob 10
80 } {tttttttttt}
81
82 do_test 3.3 {
83 set new [string repeat % 900]
84 execsql { UPDATE t1 SET v = $new WHERE k = 20 }
85 execsql { DELETE FROM t1 WHERE k=19 }
86 execsql { INSERT INTO t1(v) VALUES($new) }
87 } {}
88
89 finish_test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698