From e4bf4f08c01c5d0cc2fe92db134abf5c74e9d568 Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 11 Oct 2013 20:14:37 +0000 Subject: [PATCH] Add requirements marks. No code changes. FossilOrigin-Name: 5e0d43ab55de006b20c58cb18b938d1c7b658e51 --- manifest | 20 ++++++++++---------- manifest.uuid | 2 +- src/date.c | 9 +++++++++ test/date.test | 4 ++++ test/fkey5.test | 19 +++++++++++++++++++ test/fkey6.test | 11 +++++++++++ test/pragma2.test | 10 ++++++++++ 7 files changed, 64 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index e7be7f74a7..5250a5d48f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Additional\stest\scases\sand\srequirements\smarks\sfor\sthe\sunlikely(),\nlikelihood()\sand\sinstr()\sfunctions. -D 2013-10-11T16:35:49.710 +C Add\srequirements\smarks.\s\sNo\scode\schanges. +D 2013-10-11T20:14:37.415 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -171,7 +171,7 @@ F src/build.c 8ae900bf021a66ac110f5eb2dcf994d24d1c2061 F src/callback.c f99a8957ba2adf369645fac0db09ad8adcf1caa2 F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c ea4b7f3623a0fcb1146e7f245d7410033e86859c -F src/date.c 65196e95e69f36993659bd7781abe7c2f1994739 +F src/date.c 593c744b2623971e45affd0bde347631bdfa4625 F src/delete.c 45788c5e48734f2af4acd75a876466e5b9838e34 F src/expr.c e7338ccffdc391c53ba2d51c5eb6a2f5299e040e F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb @@ -415,7 +415,7 @@ F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2 F test/createtab.test b5de160630b209c4b8925bdcbbaf48cc90b67fe8 F test/cse.test 277350a26264495e86b1785f34d2d0c8600e021c F test/ctime.test 7bd009071e242aac4f18521581536b652b789a47 -F test/date.test 502ddcbaaac9ce103bcd76d8e9d9bc8aa04e61b0 +F test/date.test 42973251b9429f2c41b77eb98a7b0b0ba2d3b2c0 F test/dbstatus.test aee30c3f337e6c217ff06df59fb8fe6e6448dce2 F test/dbstatus2.test 10418e62b3db5dca070f0c3eef3ea13946f339c2 F test/default.test 6faf23ccb300114924353007795aa9a8ec0aa9dc @@ -462,8 +462,8 @@ F test/fkey1.test e1d1fa84cde579185ea01358436839703e415a5b F test/fkey2.test 06e0b4cc9e1b3271ae2ae6feeb19755468432111 F test/fkey3.test 5ec899d12b13bcf1e9ef40eff7fb692fdb91392e F test/fkey4.test 86446017011273aad8f9a99c1a65019e7bd9ca9d -F test/fkey5.test 0bf64f2d19ad80433ca0b24edbf604a18b353d5f -F test/fkey6.test c555f7fc45d842cc84b0d3ff93951ce2b8c25fc8 +F test/fkey5.test 2b8c761ad23bb6a95b9cf8366c9a982a80a439c2 +F test/fkey6.test c1d7cb176648e0e1e9f971f5f9bde4dd5bcd046d F test/fkey7.test e31d0e71a41c1d29349a16448d6c420e2c53a8fc F test/fkey_malloc.test bb74c9cb8f8fceed03b58f8a7ef2df98520bbd51 F test/format4.test 1f0cac8ff3895e9359ed87e41aaabee982a812eb @@ -726,7 +726,7 @@ F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025 F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54 F test/permutations.test e154f5ed66d4d4913a99a110e870c9407f75b055 F test/pragma.test 5c6e8ae9eaa9a505cc1035b51f7f0da9805092c7 -F test/pragma2.test 224f0381f9411a78ae685cac24c13656a62021b7 +F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552 F test/progress.test a282973d1d17f08071bc58a77d6b80f2a81c354d F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc @@ -1123,7 +1123,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 7df06684ab36bfdad9e9aca6940b7a665c2a0cb5 -R 4f6661cda267d0bd057e23bc72d2b257 +P 5f01cd36ee8678a07b79f9e01855daffb6bb8c43 +R 9bc31ca11c970b0b1f57ebe7aef5f122 U drh -Z 03f2ce5f38a3f7315fba8a787fd51abf +Z e5a31fb8b2987670c6226df61ef5e152 diff --git a/manifest.uuid b/manifest.uuid index 6b65ca082a..48aa688296 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5f01cd36ee8678a07b79f9e01855daffb6bb8c43 \ No newline at end of file +5e0d43ab55de006b20c58cb18b938d1c7b658e51 \ No newline at end of file diff --git a/src/date.c b/src/date.c index 5fe3f67867..f8f4ee0a6b 100644 --- a/src/date.c +++ b/src/date.c @@ -426,6 +426,10 @@ static void clearYMD_HMS_TZ(DateTime *p){ ** ** If the sqlite3GlobalConfig.bLocaltimeFault variable is true then this ** routine will always fail. +** +** EVIDENCE-OF: R-62172-00036 In this implementation, the standard C +** library function localtime_r() is used to assist in the calculation of +** local time. */ static int osLocaltime(time_t *t, struct tm *pTm){ int rc; @@ -482,6 +486,11 @@ static sqlite3_int64 localtimeOffset( x = *p; computeYMD_HMS(&x); if( x.Y<1971 || x.Y>=2038 ){ + /* EVIDENCE-OF: R-55269-29598 The localtime_r() C function normally only + ** works for years between 1970 and 2037. For dates outside this range, + ** SQLite attempts to map the year into an equivalent year within this + ** range, do the calculation, then map the year back. + */ x.Y = 2000; x.M = 1; x.D = 1; diff --git a/test/date.test b/test/date.test index 895b415436..b1d1c677c1 100644 --- a/test/date.test +++ b/test/date.test @@ -532,6 +532,10 @@ if {0==[sqlite3 -has-codec]} { # Verify that multiple calls to date functions with 'now' return the # same answer. # +# EVIDENCE-OF: R-34818-13664 The 'now' argument to date and time +# functions always returns exactly the same value for multiple +# invocations within the same sqlite3_step() call. +# proc sleeper {} {after 100} do_test date-15.1 { db func sleeper sleeper diff --git a/test/fkey5.test b/test/fkey5.test index 40a1a5e961..16efc26685 100644 --- a/test/fkey5.test +++ b/test/fkey5.test @@ -12,6 +12,8 @@ # # This file tests the PRAGMA foreign_key_check command. # +# EVIDENCE-OF: R-05426-18119 PRAGMA foreign_key_check; PRAGMA +# foreign_key_check(table-name); set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -82,6 +84,20 @@ do_test fkey5-1.4 { } } {} +# EVIDENCE-OF: R-45728-08709 There are four columns in each result row. +# +# EVIDENCE-OF: R-55672-01620 The first column is the name of the table +# that contains the REFERENCES clause. +# +# EVIDENCE-OF: R-25219-25618 The second column is the rowid of the row +# that contains the invalid REFERENCES clause. +# +# EVIDENCE-OF: R-40482-20265 The third column is the name of the table +# that is referred to. +# +# EVIDENCE-OF: R-62839-07969 The fourth column is the index of the +# specific foreign key constraint that failed. +# do_test fkey5-2.0 { db eval { INSERT INTO c5 SELECT x FROM c1; @@ -99,6 +115,9 @@ do_test fkey5-2.2 { PRAGMA foreign_key_check(c1); } } {} +do_execsql_test fkey5-2.3 { + PRAGMA foreign_key_list(c5); +} {0 0 p1 x {} {NO ACTION} {NO ACTION} NONE} do_test fkey5-3.0 { db eval { diff --git a/test/fkey6.test b/test/fkey6.test index 10a093f032..1c77c3d051 100644 --- a/test/fkey6.test +++ b/test/fkey6.test @@ -13,6 +13,13 @@ # This file tests the PRAGMA defer_foreign_keys and # SQLITE_DBSTATUS_DEFERRED_FKS # +# EVIDENCE-OF: R-18981-16292 When the defer_foreign_keys PRAGMA is on, +# enforcement of all foreign key constraints is delayed until the +# outermost transaction is committed. +# +# EVIDENCE-OF: R-28911-57501 The defer_foreign_keys pragma defaults to +# OFF so that foreign key constraints are only deferred if they are +# created as "DEFERRABLE INITIALLY DEFERRED". set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -22,6 +29,10 @@ ifcapable {!foreignkey} { return } +do_execsql_test fkey6-1.0 { + PRAGMA defer_foreign_keys; +} {0} + do_execsql_test fkey6-1.1 { PRAGMA foreign_keys=ON; CREATE TABLE t1(x INTEGER PRIMARY KEY); diff --git a/test/pragma2.test b/test/pragma2.test index 85ea962e03..0dbc9777d2 100644 --- a/test/pragma2.test +++ b/test/pragma2.test @@ -119,6 +119,11 @@ ifcapable attach { # Default setting of PRAGMA cache_spill is always ON # +# EVIDENCE-OF: R-51036-62828 PRAGMA cache_spill; PRAGMA +# cache_spill=boolean; +# +# EVIDENCE-OF: R-23955-02765 Cache_spill is enabled by default +# db close delete_file test.db test.db-journal delete_file test2.db test2.db-journal @@ -155,6 +160,11 @@ do_execsql_test pragma2-4.3 { PRAGMA cache_spill=ON; } {} sqlite3_release_memory +# +# EVIDENCE-OF: R-07634-40532 The cache_spill pragma enables or disables +# the ability of the pager to spill dirty cache pages to the database +# file in the middle of a transaction. +# do_test pragma2-4.4 { db eval { BEGIN;