nsmcp::AccessRecordStoreSQLite method totals (public)

 <instance of nsmcp::AccessRecordStoreSQLite[i]> totals options

Defined in /usr/local/ns/tcl/nsmcp/log-traffic-record-store.tcl

Parameters:
options (required)

Testcases:
No testcase defined.
Source code:
lassign [:filters $options] context selected
set source [:rollupSource $options]
if {$source ne {}} {
    set counts [dict create requestCount 0 failedRecords 0 selectedRecords 0]; set statuses {}
    # One grouped pass supplies both context and selected totals.
    foreach row [${:db} execute "SELECT status,sum(n) AS n,sum(CASE WHEN $selected THEN n ELSE 0 END) AS selected FROM ($source) WHERE $context GROUP BY status ORDER BY status"] {
        set status [dict get $row status]; set n [dict get $row n]; set selectedCount [dict get $row selected]
        dict incr counts requestCount $n
        if {$status>=400} {dict incr counts failedRecords $n}
        dict incr counts selectedRecords $selectedCount
        if {$selectedCount>0} {lappend statuses [dict create status $status count $selectedCount]}
    }
    set overview [:overview]
    return [list $counts $statuses [dict create queryStrategy minute-rollups-with-boundaries storedPhysicalRecords [dict get $counts requestCount] parseErrors [dict get $overview malformed] oversizedRecords [dict get $overview oversized] pendingRecords 0]]
}
set counts [lindex [${:db} execute "SELECT count(*) AS requestCount,coalesce(sum(status>=400),0) AS failedRecords,coalesce(sum(CASE WHEN $selected THEN 1 ELSE 0 END),0) AS selectedRecords FROM temp.nsmcp_record_window WHERE $context"] 0]
set statuses [${:db} execute "SELECT status,count(*) AS count FROM temp.nsmcp_record_window WHERE $selected GROUP BY status ORDER BY status"]
set diagnostics [lindex [${:db} execute {SELECT count(*) AS storedPhysicalRecords,coalesce(sum(kind=1),0) AS parseErrors,coalesce(sum(kind=2),0) AS oversizedRecords FROM temp.nsmcp_record_window}] 0]
dict set diagnostics queryStrategy detailed-rows
dict set diagnostics pendingRecords [:boundaryPending]
return [list $counts $statuses $diagnostics]
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: