Fossil

Check-in [2bd670ac3c]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Use a VIEW rather than a TABLE for collecting the data for some piecharts.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2bd670ac3cfb1fbbabf857e093d5b945a284c9fe
User & Date: drh 2016-01-20 18:31:43.127
Context
2016-01-21
12:44
fixed condition which caused the "Yearly total" row to not be rendered on the oldest year in the bymonth report in some cases. check-in: ec3dd27f97 user: stephan tags: trunk
2016-01-20
18:31
Use a VIEW rather than a TABLE for collecting the data for some piecharts. check-in: 2bd670ac3c user: drh tags: trunk
14:42
Upgrade the build-in SQLite to a new 3.11.0 alpha that fixes the LIKE operator bug found in 3.10.0. check-in: 0d757274d3 user: drh tags: trunk
10:46
Change piechart table to view since tables have undefined order Closed-Leaf check-in: cdf0d6a3a3 user: baruch tags: pending-review
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/statrep.c.
332
333
334
335
336
337
338
339
340


341
342
343
344
345
346
347
332
333
334
335
336
337
338


339
340
341
342
343
344
345
346
347







-
-
+
+







                                        row colors */
  int nMaxEvents = 1;                /* max number of events for
                                        all rows. */
  stats_report_init_view();
  @ <h1>Timeline Events
  @ (%s(stats_report_label_for_type())) by User</h1>
  db_multi_exec(
    "CREATE TEMP TABLE piechart(amt,label);"
    "INSERT INTO piechart SELECT count(*), ifnull(euser,user) FROM v_reports"
    "CREATE TEMP VIEW piechart(amt,label) AS"
    " SELECT count(*), ifnull(euser,user) FROM v_reports"
                         " GROUP BY ifnull(euser,user) ORDER BY count(*) DESC;"
  );
  if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){
    @ <center><svg width=700 height=400>
    piechart_render(700, 400, PIE_OTHER|PIE_PERCENT);
    @ </svg></centre><hr/>
  }
480
481
482
483
484
485
486
487

488
489

490
491
492
493
494
495
496
497
498
499
500














501
502
503
504
505
506
507
480
481
482
483
484
485
486

487


488











489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509







-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+







               " GROUP BY dow ORDER BY dow", zUserName);
  @ <h1>Timeline Events (%h(stats_report_label_for_type())) by Day of the Week
  if( zUserName ){
    @ for user %h(zUserName)
  }
  @ </h1>
  db_multi_exec(
    "CREATE TEMP TABLE piechart(amt,label);"
    "CREATE TEMP VIEW piechart(amt,label) AS"
    "INSERT INTO piechart"
    " SELECT count(*), cast(strftime('%%w', mtime) AS INT) FROM v_reports"
    " SELECT count(*),"
     " WHERE ifnull(coalesce(euser,user,'')=%Q,1)"
     " GROUP BY 2 ORDER BY 2;"
    "UPDATE piechart SET label = CASE label"
    "  WHEN 0 THEN 'Sunday'"
    "  WHEN 1 THEN 'Monday'"
    "  WHEN 2 THEN 'Tuesday'"
    "  WHEN 3 THEN 'Wednesday'"
    "  WHEN 4 THEN 'Thursday'"
    "  WHEN 5 THEN 'Friday'"
    "  WHEN 6 THEN 'Saturday'"
    "  ELSE 'ERROR' END;", zUserName
    "   CASE cast(strftime('%%w', mtime) AS INT)"
    "    WHEN 0 THEN 'Sunday'"
    "    WHEN 1 THEN 'Monday'"
    "    WHEN 2 THEN 'Tuesday'"
    "    WHEN 3 THEN 'Wednesday'"
    "    WHEN 4 THEN 'Thursday'"
    "    WHEN 5 THEN 'Friday'"
    "    WHEN 6 THEN 'Saturday'"
    "    ELSE 'ERROR'"
    "   END"
    "  FROM v_reports"
    "  WHERE ifnull(coalesce(euser,user,'')=%Q,1)"
    "  GROUP BY 2 ORDER BY cast(strftime('%%w', mtime) AS INT);"
    , zUserName
  );
  if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){
    @ <center><svg width=700 height=400>
    piechart_render(700, 400, PIE_OTHER|PIE_PERCENT);
    @ </svg></centre><hr/>
  }
  @ <table class='statistics-report-table-events' border='0'