1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

All date/time modifiers of the form (+/-)YYYY-MM-DD without the following

HH:MM:SS.SSS.

FossilOrigin-Name: fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225
This commit is contained in:
drh
2023-05-30 11:13:56 +00:00
parent 36a5f1e90c
commit 30bb082d3a
3 changed files with 21 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
C Problems\sfixed.\s\sAll\stests\sare\spassing\snow. C All\sdate/time\smodifiers\sof\sthe\sform\s(+/-)YYYY-MM-DD\swithout\sthe\sfollowing\nHH:MM:SS.SSS.
D 2023-05-30T02:50:32.127 D 2023-05-30T11:13:56.499
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -583,7 +583,7 @@ F src/build.c 5512d5a335334b48d116f1ecd051edef96a60add18ae48e0ea302a395f00f3d9
F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490 F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d
F src/date.c bd35fd6aadd63dd0019ccd54314e74e058d024704fd02ac22e0041b6012fa610 F src/date.c fc60c1a37df9773d0b764a21947ecbf8a28f09b06069f8a4e44ed6c83706c068
F src/dbpage.c f3eea5f7ec47e09ee7da40f42b25092ecbe961fc59566b8e5f705f34335b2387 F src/dbpage.c f3eea5f7ec47e09ee7da40f42b25092ecbe961fc59566b8e5f705f34335b2387
F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef
F src/delete.c 05e27e3a55dcfeadf2f7ca95a5c5e0928f182c04640ec1954ffa42f3d5c19341 F src/delete.c 05e27e3a55dcfeadf2f7ca95a5c5e0928f182c04640ec1954ffa42f3d5c19341
@@ -2072,8 +2072,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 2cf6518140d61e2123dc20f39d7e97e7bce17e7641405df7fd63e1cdda444ae0 P cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a
R b57102997b3962a96160f5f593dc69e1 R 0943b555654140e47681c2f446f6eb02
U drh U drh
Z 1fcaecaf5799b220b4fbf66eb096e19d Z 8e551011a7166e1e39c03f9c16d64816
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@@ -1 +1 @@
cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225

View File

@@ -870,7 +870,7 @@ static int parseModifier(
case '9': { case '9': {
double rRounder; double rRounder;
int i; int i;
int Y,M,D,H,x; int Y,M,D,h,m,x;
const char *z2 = z; const char *z2 = z;
for(n=1; z[n]; n++){ for(n=1; z[n]; n++){
if( z[n]==':' ) break; if( z[n]==':' ) break;
@@ -888,7 +888,7 @@ static int parseModifier(
*/ */
if( z[0]!='+' && z[0]!='-' ) break; /* Must start with +/- */ if( z[0]!='+' && z[0]!='-' ) break; /* Must start with +/- */
if( n!=5 ) break; /* Must be 4-digit YYYY */ if( n!=5 ) break; /* Must be 4-digit YYYY */
if( getDigits(&z[1], "40f-20a-20d 20c", &Y, &M, &D, &H)!=4 ) break; if( getDigits(&z[1], "40f-20a-20d", &Y, &M, &D)!=3 ) break;
if( M>=12 ) break; /* M range 0..11 */ if( M>=12 ) break; /* M range 0..11 */
if( D>=31 ) break; /* D range 0..30 */ if( D>=31 ) break; /* D range 0..30 */
computeYMD_HMS(p); computeYMD_HMS(p);
@@ -908,8 +908,18 @@ static int parseModifier(
p->validHMS = 0; p->validHMS = 0;
p->validYMD = 0; p->validYMD = 0;
p->iJD += (i64)D*86400000; p->iJD += (i64)D*86400000;
z2 = &z[12]; if( z[11]==0 ){
n = 2; rc = 0;
break;
}
if( sqlite3Isspace(z[11])
&& getDigits(&z[12], "20c:20e", &h, &m)==2
){
z2 = &z[12];
n = 2;
}else{
break;
}
} }
if( z2[n]==':' ){ if( z2[n]==':' ){
/* A modifier of the form (+|-)HH:MM:SS.FFF adds (or subtracts) the /* A modifier of the form (+|-)HH:MM:SS.FFF adds (or subtracts) the