nsmcp::AccessRecordStoreSQLite method ingest (public)

 <instance of nsmcp::AccessRecordStoreSQLite[i]> ingest fid \
    checkpoint tuples [ batched ]

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

Persist the scanner's supplied requests and checkpoint atomically. Insert every supplied request; duplicate source positions are errors. Commit rollups, pending peer addresses, parsing-loss counters and byte coverage in the same transaction. This method does not read the source file.

Parameters:
fid (required)
Stored source-file identifier.
checkpoint (required)
Scanner-prepared coverage, framing, timestamp and parsing-loss metadata.
tuples (required)
Prepared request rows, or serialized SQL tuples for the reference path.
batched (optional, defaults to "false")
True for the batch API; false for the SQL reference implementation.
Returns:
Committed request and diagnostic counts, together with the insertion-backend label and writer-side SQLite measurements.

Testcases:
No testcase defined.
Source code:
if {$batched && [llength $tuples]>512} {
    error "record-store-batch-limit"
}
:accessIngestionObserve sqlite-statistics
set :sqliteBaseline [:sqliteSnapshot]
if {${:partitionInterval}>0} {
    set committed [:partitionIngest $fid $checkpoint $tuples $batched]
} else {
    set committed [:ingestCanonical $fid $checkpoint $tuples $batched]
}
set finished [clock clicks -microseconds]
:accessIngestionObserve sqlite-statistics
set after [:sqliteSnapshot]
dict set committed sqlite [:sqliteMeasurement $after $finished]
return $committed
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: