MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / storeConsensusColumnHeaders_

Method storeConsensusColumnHeaders_

src/openms/source/FORMAT/OMSFileStore.cpp:1458–1496  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1456
1457
1458 void OMSFileStore::storeConsensusColumnHeaders_(const ConsensusMap& consensus)
1459 {
1460 if (consensus.getColumnHeaders().empty()) return; // shouldn't be empty in practice
1461
1462 createTable_("FEAT_ConsensusColumnHeader",
1463 "id INTEGER PRIMARY KEY NOT NULL, " \
1464 "filename TEXT, " \
1465 "label TEXT, " \
1466 "size INTEGER, " \
1467 "unique_id INTEGER");
1468 if (any_of(consensus.getColumnHeaders().begin(), consensus.getColumnHeaders().end(),
1469 [](const auto& pair){
1470 return !pair.second.isMetaEmpty();
1471 }))
1472 {
1473 createTableMetaInfo_("FEAT_ConsensusColumnHeader");
1474 }
1475
1476 SQLite::Statement query(*db_,
1477 "INSERT INTO FEAT_ConsensusColumnHeader VALUES (" \
1478 ":id, " \
1479 ":filename, " \
1480 ":label, " \
1481 ":size, " \
1482 ":unique_id)");
1483 for (const auto& pair : consensus.getColumnHeaders())
1484 {
1485 Key id = int64_t(pair.first);
1486 query.bind(":id", id);
1487 query.bind(":filename", pair.second.filename);
1488 query.bind(":label", pair.second.label);
1489 query.bind(":size", int64_t(pair.second.size));
1490 query.bind(":unique_id", int64_t(pair.second.unique_id));
1491
1492 execWithExceptionAndReset(query, 1, __LINE__, OPENMS_PRETTY_FUNCTION, "error inserting data");
1493
1494 storeMetaInfo_(pair.second, "FEAT_ConsensusColumnHeader", id);
1495 }
1496 }
1497
1498
1499 void OMSFileStore::storeConsensusFeatures_(const ConsensusMap& consensus)

Callers

nothing calls this directly

Calls 5

isMetaEmptyMethod · 0.80
emptyMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected