Fossil SCM
On the /timeline page with the c= query parameter, try harder to capture the full number of events requested by the n= query parameter.
Commit
a1af80267781f40515456418a20e0a6b0b9905e13b55689f0ae52c9503fddc88
Parent
991879177b644f4…
1 file changed
+5
-3
+5
-3
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -2357,22 +2357,24 @@ | ||
| 2357 | 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | 2358 | }else if( rCirca>0.0 ){ |
| 2359 | 2359 | Blob sql2; |
| 2360 | 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | 2361 | blob_append_sql(&sql2, |
| 2362 | - " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca); | |
| 2362 | + " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca); | |
| 2363 | 2363 | if( nEntry>0 ){ |
| 2364 | 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | - nEntry -= (nEntry+1)/2; | |
| 2366 | 2365 | } |
| 2367 | 2366 | if( PB("showsql") ){ |
| 2368 | 2367 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2369 | 2368 | } |
| 2370 | 2369 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2370 | + if( nEntry>0 ){ | |
| 2371 | + nEntry -= db_int(0,"select count(*) from timeline"); | |
| 2372 | + } | |
| 2371 | 2373 | blob_reset(&sql2); |
| 2372 | 2374 | blob_append_sql(&sql, |
| 2373 | - " AND event.mtime>=%f ORDER BY event.mtime ASC", | |
| 2375 | + " AND event.mtime<=%f ORDER BY event.mtime DESC", | |
| 2374 | 2376 | rCirca |
| 2375 | 2377 | ); |
| 2376 | 2378 | if( zMark==0 ) zMark = zCirca; |
| 2377 | 2379 | }else{ |
| 2378 | 2380 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| 2379 | 2381 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -2357,22 +2357,24 @@ | |
| 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | }else if( rCirca>0.0 ){ |
| 2359 | Blob sql2; |
| 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | blob_append_sql(&sql2, |
| 2362 | " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca); |
| 2363 | if( nEntry>0 ){ |
| 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | nEntry -= (nEntry+1)/2; |
| 2366 | } |
| 2367 | if( PB("showsql") ){ |
| 2368 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2369 | } |
| 2370 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2371 | blob_reset(&sql2); |
| 2372 | blob_append_sql(&sql, |
| 2373 | " AND event.mtime>=%f ORDER BY event.mtime ASC", |
| 2374 | rCirca |
| 2375 | ); |
| 2376 | if( zMark==0 ) zMark = zCirca; |
| 2377 | }else{ |
| 2378 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| 2379 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -2357,22 +2357,24 @@ | |
| 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | }else if( rCirca>0.0 ){ |
| 2359 | Blob sql2; |
| 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | blob_append_sql(&sql2, |
| 2362 | " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca); |
| 2363 | if( nEntry>0 ){ |
| 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | } |
| 2366 | if( PB("showsql") ){ |
| 2367 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2368 | } |
| 2369 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2370 | if( nEntry>0 ){ |
| 2371 | nEntry -= db_int(0,"select count(*) from timeline"); |
| 2372 | } |
| 2373 | blob_reset(&sql2); |
| 2374 | blob_append_sql(&sql, |
| 2375 | " AND event.mtime<=%f ORDER BY event.mtime DESC", |
| 2376 | rCirca |
| 2377 | ); |
| 2378 | if( zMark==0 ) zMark = zCirca; |
| 2379 | }else{ |
| 2380 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| 2381 |