From 4cb29b4cfc6583712fbfb58a80f683873b5cd29d Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 21 Mar 2005 00:43:44 +0000 Subject: [PATCH] Allow the character "T" between date and time in ISO-8601 date/time formats. Ticket #1170. (CVS 2408) FossilOrigin-Name: 2bf88daa57b01216c7bbe67972f479ee12be1193 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/date.c | 4 ++-- test/date.test | 8 ++++++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 7ef1bd5e5c..45e0b54c0b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improved\ssupport\sfor\scygwin.\s\sTicket\s#1165.\s(CVS\s2407) -D 2005-03-21T00:36:09 +C Allow\sthe\scharacter\s"T"\sbetween\sdate\sand\stime\sin\sISO-8601\sdate/time\sformats.\nTicket\s#1170.\s(CVS\s2408) +D 2005-03-21T00:43:44 F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1 @@ -33,7 +33,7 @@ F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f F src/btree.c 1d9b2179ccac13970c883da6ae3758cc72978bb0 F src/btree.h 2e2cc923224649337d7217df0dd32b06673ca180 F src/build.c 3c0f4394b0f952083b8aa2791cd699d3b01b02f5 -F src/date.c f3d1f5cd1503dabf426a198f3ebef5afbc122a7f +F src/date.c 2134ef4388256e8247405178df8a61bd60dc180a F src/delete.c d70d54a84695de92efc05b9db7d3684cd21d9094 F src/experimental.c 50c1e3b34f752f4ac10c36f287db095c2b61766d F src/expr.c 53f854495411eed41e42ec7f174aef64b7918119 @@ -120,7 +120,7 @@ F test/corrupt.test 18c7a995b1af76a8c8600b996257f2c7b7bff083 F test/corrupt2.test 88342570828f2b8cbbd8369eff3891f5c0bdd5ba F test/crash.test f38b980a0508655d08c957a6dd27d66bca776504 F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2 -F test/date.test ef6c679d0b59502457dbd78ee1c3c085c949c4c4 +F test/date.test 30ca15e608a45d868fd419c901795382efe27020 F test/delete.test fc29491f6a7ac899ce29f4549a104809e245d9a6 F test/delete2.test e382b6a97787197eb8b93dd4ccd37797c3725ea3 F test/diskfull.test e2f6cfd868713ead06dc82b84a4938e868128fc0 @@ -277,7 +277,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0 F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b -P 59892be6a4c344cb6654f76e4b3b9db96d52f132 -R 7b9b0e475a0ba0a45e3591ea7a4c1c07 +P fcb5cee440ab49e39b62b177cbb04ab0b061a477 +R 6aa1deb2f68a954d6c0682ec20c770dd U drh -Z 7b822fed2c83a481176e10a65925da64 +Z 71a8190d503166fab1c8a8e4d1466b68 diff --git a/manifest.uuid b/manifest.uuid index 97f975429f..0b65aa07c6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fcb5cee440ab49e39b62b177cbb04ab0b061a477 \ No newline at end of file +2bf88daa57b01216c7bbe67972f479ee12be1193 \ No newline at end of file diff --git a/src/date.c b/src/date.c index d472e588e4..5207569161 100644 --- a/src/date.c +++ b/src/date.c @@ -16,7 +16,7 @@ ** sqlite3RegisterDateTimeFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: date.c,v 1.43 2005/01/15 01:52:32 drh Exp $ +** $Id: date.c,v 1.44 2005/03/21 00:43:44 drh Exp $ ** ** NOTES: ** @@ -272,7 +272,7 @@ static int parseYyyyMmDd(const char *zDate, DateTime *p){ return 1; } zDate += 10; - while( isspace(*(u8*)zDate) ){ zDate++; } + while( isspace(*(u8*)zDate) || 'T'==*(u8*)zDate ){ zDate++; } if( parseHhMmSs(zDate, p)==0 ){ /* We got the time */ }else if( *zDate==0 ){ diff --git a/test/date.test b/test/date.test index 7cff7a8026..3fff21b579 100644 --- a/test/date.test +++ b/test/date.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. The # focus of this file is testing date and time functions. # -# $Id: date.test,v 1.12 2005/01/15 01:52:33 drh Exp $ +# $Id: date.test,v 1.13 2005/03/21 00:43:44 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -47,7 +47,11 @@ datetest 1.14 julianday('+2000-01-01') NULL datetest 1.15 julianday('200-01-01') NULL datetest 1.16 julianday('2000-1-01') NULL datetest 1.17 julianday('2000-01-1') NULL -datetest 1.18 {julianday('2000-01-01 12:00:00')} 2451545.0 +datetest 1.18.1 {julianday('2000-01-01 12:00:00')} 2451545.0 +datetest 1.18.2 {julianday('2000-01-01T12:00:00')} 2451545.0 +datetest 1.18.3 {julianday('2000-01-01 T12:00:00')} 2451545.0 +datetest 1.18.4 {julianday('2000-01-01T 12:00:00')} 2451545.0 +datetest 1.18.4 {julianday('2000-01-01 T 12:00:00')} 2451545.0 datetest 1.19 {julianday('2000-01-01 12:00:00.1')} 2451545.00000116 datetest 1.20 {julianday('2000-01-01 12:00:00.01')} 2451545.00000012 datetest 1.21 {julianday('2000-01-01 12:00:00.001')} 2451545.00000001