Artifact
dc189f323cf0546289b5a9bbda60bcb1fe52bd4b:
- File
test/autovacuum_ioerr2.test
— part of check-in
[89b1b3f8]
at
2007-04-28 15:47:44
on branch trunk
— Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885)
(user:
danielk1977
size: 3362)
0000: 23 20 32 30 30 31 20 4f 63 74 6f 62 65 72 20 31 # 2001 October 1
0010: 32 0a 23 0a 23 20 54 68 65 20 61 75 74 68 6f 72 2.#.# The author
0020: 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79 72 disclaims copyr
0030: 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f 75 ight to this sou
0040: 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70 6c rce code. In pl
0050: 61 63 65 20 6f 66 0a 23 20 61 20 6c 65 67 61 6c ace of.# a legal
0060: 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20 69 73 notice, here is
0070: 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 23 0a 23 a blessing:.#.#
0080: 20 20 20 20 4d 61 79 20 79 6f 75 20 64 6f 20 67 May you do g
0090: 6f 6f 64 20 61 6e 64 20 6e 6f 74 20 65 76 69 6c ood and not evil
00a0: 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 66 ..# May you f
00b0: 69 6e 64 20 66 6f 72 67 69 76 65 6e 65 73 73 20 ind forgiveness
00c0: 66 6f 72 20 79 6f 75 72 73 65 6c 66 20 61 6e 64 for yourself and
00d0: 20 66 6f 72 67 69 76 65 20 6f 74 68 65 72 73 2e forgive others.
00e0: 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 73 68 .# May you sh
00f0: 61 72 65 20 66 72 65 65 6c 79 2c 20 6e 65 76 65 are freely, neve
0100: 72 20 74 61 6b 69 6e 67 20 6d 6f 72 65 20 74 68 r taking more th
0110: 61 6e 20 79 6f 75 20 67 69 76 65 2e 0a 23 0a 23 an you give..#.#
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0160: 2a 2a 2a 2a 2a 2a 2a 0a 23 20 54 68 69 73 20 66 *******.# This f
0170: 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 72 ile implements r
0180: 65 67 72 65 73 73 69 6f 6e 20 74 65 73 74 73 20 egression tests
0190: 66 6f 72 20 53 51 4c 69 74 65 20 6c 69 62 72 61 for SQLite libra
01a0: 72 79 2e 20 20 54 68 65 0a 23 20 66 6f 63 75 73 ry. The.# focus
01b0: 20 6f 66 20 74 68 69 73 20 66 69 6c 65 20 69 73 of this file is
01c0: 20 74 65 73 74 69 6e 67 20 66 6f 72 20 63 6f 72 testing for cor
01d0: 72 65 63 74 20 68 61 6e 64 6c 69 6e 67 20 6f 66 rect handling of
01e0: 20 49 2f 4f 20 65 72 72 6f 72 73 0a 23 20 73 75 I/O errors.# su
01f0: 63 68 20 61 73 20 77 72 69 74 65 73 20 66 61 69 ch as writes fai
0200: 6c 69 6e 67 20 62 65 63 61 75 73 65 20 74 68 65 ling because the
0210: 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 2e 0a 23 disk is full..#
0220: 20 0a 23 20 54 68 65 20 74 65 73 74 73 20 69 6e .# The tests in
0230: 20 74 68 69 73 20 66 69 6c 65 20 75 73 65 20 73 this file use s
0240: 70 65 63 69 61 6c 20 66 61 63 69 6c 69 74 69 65 pecial facilitie
0250: 73 20 74 68 61 74 20 61 72 65 20 6f 6e 6c 79 0a s that are only.
0260: 23 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 # available in t
0270: 68 65 20 53 51 4c 69 74 65 20 74 65 73 74 20 66 he SQLite test f
0280: 69 78 74 75 72 65 2e 0a 23 0a 23 20 24 49 64 3a ixture..#.# $Id:
0290: 20 61 75 74 6f 76 61 63 75 75 6d 5f 69 6f 65 72 autovacuum_ioer
02a0: 72 32 2e 74 65 73 74 2c 76 20 31 2e 36 20 32 30 r2.test,v 1.6 20
02b0: 30 37 2f 30 34 2f 32 38 20 31 35 3a 34 37 3a 34 07/04/28 15:47:4
02c0: 34 20 64 61 6e 69 65 6c 6b 31 39 37 37 20 45 78 4 danielk1977 Ex
02d0: 70 20 24 0a 0a 73 65 74 20 74 65 73 74 64 69 72 p $..set testdir
02e0: 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 [file dirname $
02f0: 61 72 67 76 30 5d 0a 73 6f 75 72 63 65 20 24 74 argv0].source $t
0300: 65 73 74 64 69 72 2f 74 65 73 74 65 72 2e 74 63 estdir/tester.tc
0310: 6c 0a 0a 23 20 49 66 20 74 68 69 73 20 62 75 69 l..# If this bui
0320: 6c 64 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 ld of the librar
0330: 79 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f y does not suppo
0340: 72 74 20 61 75 74 6f 2d 76 61 63 75 75 6d 2c 20 rt auto-vacuum,
0350: 6f 6d 69 74 20 74 68 69 73 0a 23 20 77 68 6f 6c omit this.# whol
0360: 65 20 66 69 6c 65 2e 0a 69 66 63 61 70 61 62 6c e file..ifcapabl
0370: 65 20 7b 21 61 75 74 6f 76 61 63 75 75 6d 7d 20 e {!autovacuum}
0380: 7b 0a 20 20 66 69 6e 69 73 68 5f 74 65 73 74 0a {. finish_test.
0390: 20 20 72 65 74 75 72 6e 0a 7d 0a 0a 64 6f 5f 69 return.}..do_i
03a0: 6f 65 72 72 5f 74 65 73 74 20 61 75 74 6f 76 61 oerr_test autova
03b0: 63 75 75 6d 2d 69 6f 65 72 72 32 2d 31 20 2d 73 cuum-ioerr2-1 -s
03c0: 71 6c 70 72 65 70 20 7b 0a 20 20 50 52 41 47 4d qlprep {. PRAGM
03d0: 41 20 61 75 74 6f 5f 76 61 63 75 75 6d 20 3d 20 A auto_vacuum =
03e0: 31 3b 0a 20 20 43 52 45 41 54 45 20 54 41 42 4c 1;. CREATE TABL
03f0: 45 20 61 62 63 28 61 29 3b 0a 20 20 49 4e 53 45 E abc(a);. INSE
0400: 52 54 20 49 4e 54 4f 20 61 62 63 20 56 41 4c 55 RT INTO abc VALU
0410: 45 53 28 72 61 6e 64 73 74 72 28 31 35 30 30 2c ES(randstr(1500,
0420: 31 35 30 30 29 29 3b 0a 7d 20 2d 73 71 6c 62 6f 1500));.} -sqlbo
0430: 64 79 20 7b 0a 20 20 43 52 45 41 54 45 20 54 41 dy {. CREATE TA
0440: 42 4c 45 20 61 62 63 32 28 61 29 3b 0a 20 20 42 BLE abc2(a);. B
0450: 45 47 49 4e 3b 0a 20 20 44 45 4c 45 54 45 20 46 EGIN;. DELETE F
0460: 52 4f 4d 20 61 62 63 3b 0a 20 20 49 4e 53 45 52 ROM abc;. INSER
0470: 54 20 49 4e 54 4f 20 61 62 63 20 56 41 4c 55 45 T INTO abc VALUE
0480: 53 28 72 61 6e 64 73 74 72 28 31 35 30 30 2c 31 S(randstr(1500,1
0490: 35 30 30 29 29 3b 0a 20 20 43 52 45 41 54 45 20 500));. CREATE
04a0: 54 41 42 4c 45 20 61 62 63 33 28 61 29 3b 0a 20 TABLE abc3(a);.
04b0: 20 43 4f 4d 4d 49 54 3b 0a 7d 0a 0a 64 6f 5f 69 COMMIT;.}..do_i
04c0: 6f 65 72 72 5f 74 65 73 74 20 61 75 74 6f 76 61 oerr_test autova
04d0: 63 75 75 6d 2d 69 6f 65 72 72 32 2d 32 20 2d 74 cuum-ioerr2-2 -t
04e0: 63 6c 70 72 65 70 20 7b 0a 20 20 65 78 65 63 73 clprep {. execs
04f0: 71 6c 20 7b 0a 20 20 20 20 50 52 41 47 4d 41 20 ql {. PRAGMA
0500: 61 75 74 6f 5f 76 61 63 75 75 6d 20 3d 20 31 3b auto_vacuum = 1;
0510: 0a 20 20 20 20 50 52 41 47 4d 41 20 63 61 63 68 . PRAGMA cach
0520: 65 5f 73 69 7a 65 20 3d 20 31 30 3b 0a 20 20 20 e_size = 10;.
0530: 20 42 45 47 49 4e 3b 0a 20 20 20 20 43 52 45 41 BEGIN;. CREA
0540: 54 45 20 54 41 42 4c 45 20 61 62 63 28 61 29 3b TE TABLE abc(a);
0550: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f . INSERT INTO
0560: 20 61 62 63 20 56 41 4c 55 45 53 28 72 61 6e 64 abc VALUES(rand
0570: 73 74 72 28 31 31 30 30 2c 31 31 30 30 29 29 3b str(1100,1100));
0580: 20 2d 2d 20 50 61 67 65 20 34 20 69 73 20 6f 76 -- Page 4 is ov
0590: 65 72 66 6c 6f 77 0a 20 20 20 20 49 4e 53 45 52 erflow. INSER
05a0: 54 20 49 4e 54 4f 20 61 62 63 20 56 41 4c 55 45 T INTO abc VALUE
05b0: 53 28 72 61 6e 64 73 74 72 28 31 31 30 30 2c 31 S(randstr(1100,1
05c0: 31 30 30 29 29 3b 20 2d 2d 20 50 61 67 65 20 35 100)); -- Page 5
05d0: 20 69 73 20 6f 76 65 72 66 6c 6f 77 0a 20 20 7d is overflow. }
05e0: 0a 20 20 66 6f 72 20 7b 73 65 74 20 69 20 30 7d . for {set i 0}
05f0: 20 7b 24 69 3c 31 35 30 7d 20 7b 69 6e 63 72 20 {$i<150} {incr
0600: 69 7d 20 7b 0a 20 20 20 20 65 78 65 63 73 71 6c i} {. execsql
0610: 20 7b 0a 20 20 20 20 20 20 49 4e 53 45 52 54 20 {. INSERT
0620: 49 4e 54 4f 20 61 62 63 20 56 41 4c 55 45 53 28 INTO abc VALUES(
0630: 72 61 6e 64 73 74 72 28 31 30 30 2c 31 30 30 29 randstr(100,100)
0640: 29 3b 20 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 ); . }. }.
0650: 65 78 65 63 73 71 6c 20 43 4f 4d 4d 49 54 0a 7d execsql COMMIT.}
0660: 20 2d 73 71 6c 62 6f 64 79 20 7b 0a 20 20 42 45 -sqlbody {. BE
0670: 47 49 4e 3b 0a 20 20 44 45 4c 45 54 45 20 46 52 GIN;. DELETE FR
0680: 4f 4d 20 61 62 63 20 57 48 45 52 45 20 6c 65 6e OM abc WHERE len
0690: 67 74 68 28 61 29 3e 31 30 30 3b 0a 20 20 55 50 gth(a)>100;. UP
06a0: 44 41 54 45 20 61 62 63 20 53 45 54 20 61 20 3d DATE abc SET a =
06b0: 20 72 61 6e 64 73 74 72 28 39 30 2c 39 30 29 3b randstr(90,90);
06c0: 0a 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 . CREATE TABLE
06d0: 61 62 63 33 28 61 29 3b 0a 20 20 43 4f 4d 4d 49 abc3(a);. COMMI
06e0: 54 3b 0a 7d 0a 0a 64 6f 5f 69 6f 65 72 72 5f 74 T;.}..do_ioerr_t
06f0: 65 73 74 20 61 75 74 6f 76 61 63 75 75 6d 2d 69 est autovacuum-i
0700: 6f 65 72 72 32 2d 33 20 2d 73 71 6c 70 72 65 70 oerr2-3 -sqlprep
0710: 20 7b 0a 20 20 50 52 41 47 4d 41 20 61 75 74 6f {. PRAGMA auto
0720: 5f 76 61 63 75 75 6d 20 3d 20 31 3b 0a 20 20 43 _vacuum = 1;. C
0730: 52 45 41 54 45 20 54 41 42 4c 45 20 61 62 63 28 REATE TABLE abc(
0740: 61 29 3b 0a 20 20 43 52 45 41 54 45 20 54 41 42 a);. CREATE TAB
0750: 4c 45 20 61 62 63 32 28 62 29 3b 0a 7d 20 2d 73 LE abc2(b);.} -s
0760: 71 6c 62 6f 64 79 20 7b 0a 20 20 42 45 47 49 4e qlbody {. BEGIN
0770: 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 ;. INSERT INTO
0780: 61 62 63 32 20 56 41 4c 55 45 53 28 31 30 29 3b abc2 VALUES(10);
0790: 0a 20 20 44 52 4f 50 20 54 41 42 4c 45 20 61 62 . DROP TABLE ab
07a0: 63 3b 0a 20 20 43 4f 4d 4d 49 54 3b 0a 20 20 44 c;. COMMIT;. D
07b0: 52 4f 50 20 54 41 42 4c 45 20 61 62 63 32 3b 0a ROP TABLE abc2;.
07c0: 7d 0a 0a 66 69 6c 65 20 64 65 6c 65 74 65 20 2d }..file delete -
07d0: 66 6f 72 63 65 20 62 61 63 6b 75 70 2e 64 62 0a force backup.db.
07e0: 69 66 63 61 70 61 62 6c 65 20 73 75 62 71 75 65 ifcapable subque
07f0: 72 79 20 7b 0a 20 20 64 6f 5f 69 6f 65 72 72 5f ry {. do_ioerr_
0800: 74 65 73 74 20 61 75 74 6f 76 61 63 75 75 6d 2d test autovacuum-
0810: 69 6f 65 72 72 32 2d 34 20 2d 74 63 6c 70 72 65 ioerr2-4 -tclpre
0820: 70 20 7b 0a 20 20 20 20 69 66 20 7b 21 5b 66 69 p {. if {![fi
0830: 6c 65 20 65 78 69 73 74 73 20 62 61 63 6b 75 70 le exists backup
0840: 2e 64 62 5d 7d 20 7b 0a 20 20 20 20 20 20 73 71 .db]} {. sq
0850: 6c 69 74 65 33 20 64 62 62 20 62 61 63 6b 75 70 lite3 dbb backup
0860: 2e 64 62 20 0a 20 20 20 20 20 20 65 78 65 63 73 .db . execs
0870: 71 6c 20 7b 0a 20 20 20 20 20 20 20 20 50 52 41 ql {. PRA
0880: 47 4d 41 20 61 75 74 6f 5f 76 61 63 75 75 6d 20 GMA auto_vacuum
0890: 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 42 45 47 = 1;. BEG
08a0: 49 4e 3b 0a 20 20 20 20 20 20 20 20 43 52 45 41 IN;. CREA
08b0: 54 45 20 54 41 42 4c 45 20 61 62 63 28 61 29 3b TE TABLE abc(a);
08c0: 0a 20 20 20 20 20 20 20 20 49 4e 53 45 52 54 20 . INSERT
08d0: 49 4e 54 4f 20 61 62 63 20 56 41 4c 55 45 53 28 INTO abc VALUES(
08e0: 72 61 6e 64 73 74 72 28 31 31 30 30 2c 31 31 30 randstr(1100,110
08f0: 30 29 29 3b 20 2d 2d 20 50 61 67 65 20 34 20 69 0)); -- Page 4 i
0900: 73 20 6f 76 65 72 66 6c 6f 77 0a 20 20 20 20 20 s overflow.
0910: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 61 INSERT INTO a
0920: 62 63 20 56 41 4c 55 45 53 28 72 61 6e 64 73 74 bc VALUES(randst
0930: 72 28 31 31 30 30 2c 31 31 30 30 29 29 3b 20 2d r(1100,1100)); -
0940: 2d 20 50 61 67 65 20 35 20 69 73 20 6f 76 65 72 - Page 5 is over
0950: 66 6c 6f 77 0a 20 20 20 20 20 20 7d 20 64 62 62 flow. } dbb
0960: 0a 20 20 20 20 20 20 66 6f 72 20 7b 73 65 74 20 . for {set
0970: 69 20 30 7d 20 7b 24 69 3c 32 35 30 30 7d 20 7b i 0} {$i<2500} {
0980: 69 6e 63 72 20 69 7d 20 7b 0a 20 20 20 20 20 20 incr i} {.
0990: 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 execsql {.
09a0: 20 20 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 INSERT INT
09b0: 4f 20 61 62 63 20 56 41 4c 55 45 53 28 72 61 6e O abc VALUES(ran
09c0: 64 73 74 72 28 31 30 30 2c 31 30 30 29 29 3b 20 dstr(100,100));
09d0: 0a 20 20 20 20 20 20 20 20 7d 20 64 62 62 0a 20 . } dbb.
09e0: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 78 65 }. exe
09f0: 63 73 71 6c 20 7b 0a 20 20 20 20 20 20 20 20 43 csql {. C
0a00: 4f 4d 4d 49 54 3b 0a 20 20 20 20 20 20 20 20 50 OMMIT;. P
0a10: 52 41 47 4d 41 20 63 61 63 68 65 5f 73 69 7a 65 RAGMA cache_size
0a20: 20 3d 20 31 30 3b 0a 20 20 20 20 20 20 7d 20 64 = 10;. } d
0a30: 62 62 0a 20 20 20 20 20 20 64 62 62 20 63 6c 6f bb. dbb clo
0a40: 73 65 0a 20 20 20 20 7d 0a 20 20 20 20 64 62 20 se. }. db
0a50: 63 6c 6f 73 65 0a 20 20 20 20 66 69 6c 65 20 64 close. file d
0a60: 65 6c 65 74 65 20 2d 66 6f 72 63 65 20 74 65 73 elete -force tes
0a70: 74 2e 64 62 0a 20 20 20 20 66 69 6c 65 20 64 65 t.db. file de
0a80: 6c 65 74 65 20 2d 66 6f 72 63 65 20 74 65 73 74 lete -force test
0a90: 2e 64 62 2d 6a 6f 75 72 6e 61 6c 0a 20 20 20 20 .db-journal.
0aa0: 63 6f 70 79 5f 66 69 6c 65 20 62 61 63 6b 75 70 copy_file backup
0ab0: 2e 64 62 20 74 65 73 74 2e 64 62 0a 20 20 20 20 .db test.db.
0ac0: 73 65 74 20 3a 3a 44 42 20 5b 73 71 6c 69 74 65 set ::DB [sqlite
0ad0: 33 20 64 62 20 74 65 73 74 2e 64 62 5d 0a 20 20 3 db test.db].
0ae0: 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 execsql {.
0af0: 20 20 50 52 41 47 4d 41 20 63 61 63 68 65 5f 73 PRAGMA cache_s
0b00: 69 7a 65 20 3d 20 31 30 3b 0a 20 20 20 20 7d 0a ize = 10;. }.
0b10: 20 20 7d 20 2d 73 71 6c 62 6f 64 79 20 7b 0a 20 } -sqlbody {.
0b20: 20 20 20 42 45 47 49 4e 3b 0a 20 20 20 20 44 45 BEGIN;. DE
0b30: 4c 45 54 45 20 46 52 4f 4d 20 61 62 63 20 57 48 LETE FROM abc WH
0b40: 45 52 45 20 6f 69 64 20 3c 20 33 3b 0a 20 20 20 ERE oid < 3;.
0b50: 20 55 50 44 41 54 45 20 61 62 63 20 53 45 54 20 UPDATE abc SET
0b60: 61 20 3d 20 72 61 6e 64 73 74 72 28 31 30 30 2c a = randstr(100,
0b70: 31 30 30 29 20 57 48 45 52 45 20 6f 69 64 20 3e 100) WHERE oid >
0b80: 20 32 33 30 30 3b 0a 20 20 20 20 55 50 44 41 54 2300;. UPDAT
0b90: 45 20 61 62 63 20 53 45 54 20 61 20 3d 20 72 61 E abc SET a = ra
0ba0: 6e 64 73 74 72 28 31 31 30 30 2c 31 31 30 30 29 ndstr(1100,1100)
0bb0: 20 57 48 45 52 45 20 6f 69 64 20 3d 20 0a 20 20 WHERE oid = .
0bc0: 20 20 20 20 20 20 28 73 65 6c 65 63 74 20 6d 61 (select ma
0bd0: 78 28 6f 69 64 29 20 66 72 6f 6d 20 61 62 63 29 x(oid) from abc)
0be0: 3b 0a 20 20 20 20 43 4f 4d 4d 49 54 3b 0a 20 20 ;. COMMIT;.
0bf0: 7d 0a 7d 0a 0a 64 6f 5f 69 6f 65 72 72 5f 74 65 }.}..do_ioerr_te
0c00: 73 74 20 61 75 74 6f 76 61 63 75 75 6d 2d 69 6f st autovacuum-io
0c10: 65 72 72 32 2d 31 20 2d 73 71 6c 70 72 65 70 20 err2-1 -sqlprep
0c20: 7b 0a 20 20 50 52 41 47 4d 41 20 61 75 74 6f 5f {. PRAGMA auto_
0c30: 76 61 63 75 75 6d 20 3d 20 31 3b 0a 20 20 43 52 vacuum = 1;. CR
0c40: 45 41 54 45 20 54 41 42 4c 45 20 61 62 63 28 61 EATE TABLE abc(a
0c50: 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f );. INSERT INTO
0c60: 20 61 62 63 20 56 41 4c 55 45 53 28 72 61 6e 64 abc VALUES(rand
0c70: 73 74 72 28 31 35 30 30 2c 31 35 30 30 29 29 3b str(1500,1500));
0c80: 0a 7d 20 2d 73 71 6c 62 6f 64 79 20 7b 0a 20 20 .} -sqlbody {.
0c90: 43 52 45 41 54 45 20 54 41 42 4c 45 20 61 62 63 CREATE TABLE abc
0ca0: 32 28 61 29 3b 0a 20 20 42 45 47 49 4e 3b 0a 20 2(a);. BEGIN;.
0cb0: 20 44 45 4c 45 54 45 20 46 52 4f 4d 20 61 62 63 DELETE FROM abc
0cc0: 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 ;. INSERT INTO
0cd0: 61 62 63 20 56 41 4c 55 45 53 28 72 61 6e 64 73 abc VALUES(rands
0ce0: 74 72 28 31 35 30 30 2c 31 35 30 30 29 29 3b 0a tr(1500,1500));.
0cf0: 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 61 CREATE TABLE a
0d00: 62 63 33 28 61 29 3b 0a 20 20 43 4f 4d 4d 49 54 bc3(a);. COMMIT
0d10: 3b 0a 7d 0a 0a 66 69 6e 69 73 68 5f 74 65 73 74 ;.}..finish_test
0d20: 0a 0a ..