nsmcp::AccessRecordPartitions method partitionEnsure (protected)

 <instance of nsmcp::AccessRecordPartitions[i]> partitionEnsure \
    start

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

Parameters:
start (required)

Testcases:
No testcase defined.
Source code:
set stop [expr {$start+${:partitionInterval}}]
set name p_$start
if {![${:db} scalar {SELECT EXISTS(SELECT 1 FROM main.partitions WHERE start=:start)}]} {
    if {[${:db} scalar {SELECT count(*) FROM main.partitions}]>=256} {
        error "record-store-partition-limit"
    }
    ${:db} execute "CREATE TABLE main.$name ${:partitionDDL}"
    ${:db} execute "
        CREATE INDEX main.${name}_time_status ON ${name}(t,status,fid,off,kind);
        CREATE INDEX main.${name}_correlation ON ${name}(identifier,t)
    "
    ${:db} execute {INSERT INTO main.partitions(start,stop,name) VALUES(:start,:stop,:name)}
    :partitionView
}
return main.$name
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: