Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove code for calling the SQL function randstr() with 0 or 1 argument, as it is registered with sqlite as requiring exactly 2. Also test io errors in sqlite3_release_memory(). (CVS 4365) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5842f68c1ba838f24e9ba02c818d3085 |
User & Date: | danielk1977 2007-09-01 17:00:13.000 |
Context
2007-09-01
| ||
18:17 | Comment changes in sqlite.h.in in order to generate better capi3ref.html documentation. (CVS 4366) (check-in: 2804745956 user: drh tags: trunk) | |
17:00 | Remove code for calling the SQL function randstr() with 0 or 1 argument, as it is registered with sqlite as requiring exactly 2. Also test io errors in sqlite3_release_memory(). (CVS 4365) (check-in: 5842f68c1b user: danielk1977 tags: trunk) | |
16:16 | Remove the syncOk argument to pager_recycle. Now that sqlite3_memory_release uses a global lru list of page, it is no longer required. (CVS 4364) (check-in: fb27692ab1 user: danielk1977 tags: trunk) | |
Changes
Changes to src/func.c.
︙ | ︙ | |||
12 13 14 15 16 17 18 | ** This file contains the C functions that implement various SQL ** functions of SQLite. ** ** There is only one exported symbol in this file - the function ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ** This file contains the C functions that implement various SQL ** functions of SQLite. ** ** There is only one exported symbol in this file - the function ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** ** $Id: func.c,v 1.173 2007/09/01 17:00:13 danielk1977 Exp $ */ #include "sqliteInt.h" #include <ctype.h> #include <stdlib.h> #include <assert.h> #include "vdbeInt.h" |
︙ | ︙ | |||
1012 1013 1014 1015 1016 1017 1018 | static const unsigned char zSrc[] = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789" ".-!,:*^+=_|?/<> "; int iMin, iMax, n, r, i; unsigned char zBuf[1000]; | | > > > > > | | | < < < < | | | < < < | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 | static const unsigned char zSrc[] = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789" ".-!,:*^+=_|?/<> "; int iMin, iMax, n, r, i; unsigned char zBuf[1000]; /* It used to be possible to call randstr() with any number of arguments, ** but now it is registered with SQLite as requiring exactly 2. */ assert(argc==2); iMin = sqlite3_value_int(argv[0]); if( iMin<0 ) iMin = 0; if( iMin>=sizeof(zBuf) ) iMin = sizeof(zBuf)-1; iMax = sqlite3_value_int(argv[1]); if( iMax<iMin ) iMax = iMin; if( iMax>=sizeof(zBuf) ) iMax = sizeof(zBuf)-1; n = iMin; if( iMax>iMin ){ sqlite3Randomness(sizeof(r), &r); r &= 0x7fffffff; n += r%(iMax + 1 - iMin); } assert( n<sizeof(zBuf) ); |
︙ | ︙ |
Changes to test/ioerr.test.
︙ | ︙ | |||
11 12 13 14 15 16 17 | # This file implements regression tests for SQLite library. The # focus of this file is testing for correct handling of I/O errors # such as writes failing because the disk is full. # # The tests in this file use special facilities that are only # available in the SQLite test fixture. # | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # This file implements regression tests for SQLite library. The # focus of this file is testing for correct handling of I/O errors # such as writes failing because the disk is full. # # The tests in this file use special facilities that are only # available in the SQLite test fixture. # # $Id: ioerr.test,v 1.32 2007/09/01 17:00:13 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # If SQLITE_DEFAULT_AUTOVACUUM is set to true, then a simulated IO error # on the 8th IO operation in the SQL script below doesn't report an error. |
︙ | ︙ | |||
261 262 263 264 265 266 267 268 269 | # do_ioerr_test ioerr-11 -erc 1 -sqlprep { CREATE TABLE A(Id INTEGER, Name TEXT); INSERT INTO A(Id, Name) VALUES(1, 'Name'); } -sqlbody { UPDATE A SET Id = 2, Name = 'Name2' WHERE Id = 1; } finish_test | > > > > > > > > > > > > > > > > > > > > > | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | # do_ioerr_test ioerr-11 -erc 1 -sqlprep { CREATE TABLE A(Id INTEGER, Name TEXT); INSERT INTO A(Id, Name) VALUES(1, 'Name'); } -sqlbody { UPDATE A SET Id = 2, Name = 'Name2' WHERE Id = 1; } # Test that an io error encountered in a sync() caused by a call to # sqlite3_release_memory() is handled Ok. Only try this if # memory-management is enabled. # ifcapable memorymanage { do_ioerr_test memmanage-ioerr1 -sqlprep { BEGIN; CREATE TABLE t1(a, b, c); INSERT INTO t1 VALUES(randstr(50,50), randstr(100,100), randstr(10,10)); INSERT INTO t1 SELECT randstr(50,50), randstr(9,9), randstr(90,90) FROM t1; INSERT INTO t1 SELECT randstr(50,50), randstr(9,9), randstr(90,90) FROM t1; INSERT INTO t1 SELECT randstr(50,50), randstr(9,9), randstr(90,90) FROM t1; INSERT INTO t1 SELECT randstr(50,50), randstr(9,9), randstr(90,90) FROM t1; INSERT INTO t1 SELECT randstr(50,50), randstr(9,9), randstr(90,90) FROM t1; } -tclbody { sqlite3_release_memory } -sqlbody { COMMIT; } } finish_test |