* @brief Returns the session's earliest and latest @c timestamp_ns values. */
| 521 | * @brief Returns the session's earliest and latest @c timestamp_ns values. |
| 522 | */ |
| 523 | static std::pair<qint64, qint64> loadSessionTimeSpan(QSqlDatabase& db, int sessionId) |
| 524 | { |
| 525 | QSqlQuery q(db); |
| 526 | q.prepare("SELECT MIN(timestamp_ns), MAX(timestamp_ns) FROM readings WHERE session_id = ?"); |
| 527 | q.bindValue(0, sessionId); |
| 528 | |
| 529 | if (!q.exec() || !q.next()) { |
| 530 | qWarning() << "[Sessions::ReportData] time-span query failed:" << q.lastError().text(); |
| 531 | return {0, 0}; |
| 532 | } |
| 533 | |
| 534 | return {q.value(0).toLongLong(), q.value(1).toLongLong()}; |
| 535 | } |
| 536 | |
| 537 | /** |
| 538 | * @brief Numeric-sample count per parameter, keyed by @c unique_id. |