Fossil SCM

Further tweaks to the byday form of /reports.

drh 2026-07-01 16:34 UTC trunk
Commit d35aad4da2a7cbe67ff8d82bb7048789cec43131619f3de650a353cd16647503
1 file changed +2 -4
+2 -4
--- src/statrep.c
+++ src/statrep.c
@@ -707,14 +707,14 @@
707707
"SELECT julianday('%q-01-01','end of year','weekday 0')",
708708
zYear);
709709
db_multi_exec("CREATE TEMP TABLE wkdata(wk,n);");
710710
db_prepare(&q,
711711
"WITH RECURSIVE c(wkn) AS (\n"
712
- " VALUES(if(:WeekZero<:WeekOne,0,1))\n"
712
+ " VALUES(0+strftime('%%W',:YearStart))\n"
713713
" UNION ALL\n"
714714
" SELECT wkn+1 FROM c\n"
715
- " WHERE (:YearStart+wkn*7)<=:AllEnd\n"
715
+ " WHERE wkn<0+strftime('%%W',min(julianday(),:YearEnd))\n"
716716
")\n"
717717
"INSERT INTO wkdata(wk,n)\n"
718718
" SELECT c.wkn, coalesce(x.n,0)\n"
719719
" FROM c LEFT JOIN (\n"
720720
" SELECT 0+strftime('%%W',min(max(mtime,:YearStart),:YearEnd)) AS w,\n"
@@ -726,11 +726,10 @@
726726
" ) AS x ON c.wkn=x.w",
727727
zUserName
728728
);
729729
db_bind_double(&q, ":YearStart", rYearStart);
730730
db_bind_double(&q, ":YearEnd", rYearEnd);
731
- db_bind_double(&q, ":WeekOne", rWeekOne);
732731
db_bind_double(&q, ":WeekZero", rWeekZero);
733732
db_bind_double(&q, ":AllEnd", rAllEnd);
734733
db_step(&q);
735734
db_finalize(&q);
736735
@@ -738,11 +737,10 @@
738737
739738
#if 0
740739
@ :YearStart = %h(db_text("","SELECT datetime(%!.17g)",rYearStart))<br>
741740
@ :YearEnd = %h(db_text("","SELECT datetime(%!.17g)",rYearEnd))<br>
742741
@ :WeekZero = %h(db_text("","SELECT datetime(%!.17g)",rWeekZero))<br>
743
- @ :WeekOne = %h(db_text("","SELECT datetime(%!.17g)",rWeekOne))<br>
744742
@ :AllEnd = %h(db_text("","SELECT datetime(%!.17g)",rAllEnd))<br>
745743
#endif
746744
747745
@ <h1>Timeline events (%h(stats_report_label_for_type()))
748746
@ for the calendar weeks of %h(zYear)
749747
--- src/statrep.c
+++ src/statrep.c
@@ -707,14 +707,14 @@
707 "SELECT julianday('%q-01-01','end of year','weekday 0')",
708 zYear);
709 db_multi_exec("CREATE TEMP TABLE wkdata(wk,n);");
710 db_prepare(&q,
711 "WITH RECURSIVE c(wkn) AS (\n"
712 " VALUES(if(:WeekZero<:WeekOne,0,1))\n"
713 " UNION ALL\n"
714 " SELECT wkn+1 FROM c\n"
715 " WHERE (:YearStart+wkn*7)<=:AllEnd\n"
716 ")\n"
717 "INSERT INTO wkdata(wk,n)\n"
718 " SELECT c.wkn, coalesce(x.n,0)\n"
719 " FROM c LEFT JOIN (\n"
720 " SELECT 0+strftime('%%W',min(max(mtime,:YearStart),:YearEnd)) AS w,\n"
@@ -726,11 +726,10 @@
726 " ) AS x ON c.wkn=x.w",
727 zUserName
728 );
729 db_bind_double(&q, ":YearStart", rYearStart);
730 db_bind_double(&q, ":YearEnd", rYearEnd);
731 db_bind_double(&q, ":WeekOne", rWeekOne);
732 db_bind_double(&q, ":WeekZero", rWeekZero);
733 db_bind_double(&q, ":AllEnd", rAllEnd);
734 db_step(&q);
735 db_finalize(&q);
736
@@ -738,11 +737,10 @@
738
739 #if 0
740 @ :YearStart = %h(db_text("","SELECT datetime(%!.17g)",rYearStart))<br>
741 @ :YearEnd = %h(db_text("","SELECT datetime(%!.17g)",rYearEnd))<br>
742 @ :WeekZero = %h(db_text("","SELECT datetime(%!.17g)",rWeekZero))<br>
743 @ :WeekOne = %h(db_text("","SELECT datetime(%!.17g)",rWeekOne))<br>
744 @ :AllEnd = %h(db_text("","SELECT datetime(%!.17g)",rAllEnd))<br>
745 #endif
746
747 @ <h1>Timeline events (%h(stats_report_label_for_type()))
748 @ for the calendar weeks of %h(zYear)
749
--- src/statrep.c
+++ src/statrep.c
@@ -707,14 +707,14 @@
707 "SELECT julianday('%q-01-01','end of year','weekday 0')",
708 zYear);
709 db_multi_exec("CREATE TEMP TABLE wkdata(wk,n);");
710 db_prepare(&q,
711 "WITH RECURSIVE c(wkn) AS (\n"
712 " VALUES(0+strftime('%%W',:YearStart))\n"
713 " UNION ALL\n"
714 " SELECT wkn+1 FROM c\n"
715 " WHERE wkn<0+strftime('%%W',min(julianday(),:YearEnd))\n"
716 ")\n"
717 "INSERT INTO wkdata(wk,n)\n"
718 " SELECT c.wkn, coalesce(x.n,0)\n"
719 " FROM c LEFT JOIN (\n"
720 " SELECT 0+strftime('%%W',min(max(mtime,:YearStart),:YearEnd)) AS w,\n"
@@ -726,11 +726,10 @@
726 " ) AS x ON c.wkn=x.w",
727 zUserName
728 );
729 db_bind_double(&q, ":YearStart", rYearStart);
730 db_bind_double(&q, ":YearEnd", rYearEnd);
 
731 db_bind_double(&q, ":WeekZero", rWeekZero);
732 db_bind_double(&q, ":AllEnd", rAllEnd);
733 db_step(&q);
734 db_finalize(&q);
735
@@ -738,11 +737,10 @@
737
738 #if 0
739 @ :YearStart = %h(db_text("","SELECT datetime(%!.17g)",rYearStart))<br>
740 @ :YearEnd = %h(db_text("","SELECT datetime(%!.17g)",rYearEnd))<br>
741 @ :WeekZero = %h(db_text("","SELECT datetime(%!.17g)",rWeekZero))<br>
 
742 @ :AllEnd = %h(db_text("","SELECT datetime(%!.17g)",rAllEnd))<br>
743 #endif
744
745 @ <h1>Timeline events (%h(stats_report_label_for_type()))
746 @ for the calendar weeks of %h(zYear)
747

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button