* @brief Enumerates numeric parameters for @p sessionId in column order. */
| 491 | * @brief Enumerates numeric parameters for @p sessionId in column order. |
| 492 | */ |
| 493 | static std::vector<ChartMeta> loadChartParameters(QSqlDatabase& db, int sessionId) |
| 494 | { |
| 495 | std::vector<ChartMeta> metas; |
| 496 | |
| 497 | QSqlQuery q(db); |
| 498 | q.prepare("SELECT unique_id, group_title, title, units, source_title FROM columns " |
| 499 | "WHERE session_id = ? ORDER BY column_id ASC"); |
| 500 | q.bindValue(0, sessionId); |
| 501 | |
| 502 | if (!q.exec()) { |
| 503 | qWarning() << "[Sessions::ReportData] column enumeration failed:" << q.lastError().text(); |
| 504 | return metas; |
| 505 | } |
| 506 | |
| 507 | while (q.next()) { |
| 508 | ChartMeta m; |
| 509 | m.uid = q.value(0).toInt(); |
| 510 | m.group = q.value(1).toString(); |
| 511 | m.title = q.value(2).toString(); |
| 512 | m.units = q.value(3).toString(); |
| 513 | m.sourceTitle = q.value(4).toString(); |
| 514 | metas.push_back(std::move(m)); |
| 515 | } |
| 516 | |
| 517 | return metas; |
| 518 | } |
| 519 | |
| 520 | /** |
| 521 | * @brief Returns the session's earliest and latest @c timestamp_ns values. |