MCPcopy Create free account
hub / github.com/Tencent/TAD_Sim / insertOdObjects

Method insertOdObjects

common/map_sdk/mapdb/src/sqlite_operation.cpp:1625–1670  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1623}
1624
1625bool sqliteOperation::insertOdObjects(hadmap::tx_od_object_vec& od_object) {
1626 const char* sql = SQL_INSERT_OBJECT_OD_TABLE;
1627 sqliteStmtPtr stmt(dbPtr, sql);
1628 if (!stmt.status()) {
1629 std::cerr << "failed to prepare insert object od table" << std::endl;
1630 return false;
1631 }
1632 sqlite3_exec(dbPtr, "begin;", 0, 0, 0);
1633 // int index = sqlitePackage::getLastInsertedRowid(dbPtr);;
1634 int index = 0;
1635 bool complete = true;
1636 for (auto iter = od_object.begin(); iter != od_object.end(); ++iter) {
1637 // sqlite3_bind_int(stmt, 0, index++);
1638 sqlite3_bind_int(stmt, 1, iter->object_pkid);
1639 sqlite3_bind_int(stmt, 2, iter->type);
1640 sqlite3_bind_int(stmt, 3, iter->subtype);
1641 sqlite3_bind_text(stmt, 4, iter->name, -1, SQLITE_TRANSIENT);
1642 sqlite3_bind_double(stmt, 5, iter->s);
1643 sqlite3_bind_double(stmt, 6, iter->t);
1644 sqlite3_bind_double(stmt, 7, iter->validlength);
1645 sqlite3_bind_int(stmt, 8, iter->orientation);
1646 sqlite3_bind_double(stmt, 9, iter->radius);
1647 sqlite3_bind_double(stmt, 10, iter->length);
1648 sqlite3_bind_double(stmt, 11, iter->width);
1649 sqlite3_bind_double(stmt, 12, iter->height);
1650 sqlite3_bind_double(stmt, 13, iter->hdg);
1651 sqlite3_bind_double(stmt, 14, iter->pitch);
1652 sqlite3_bind_double(stmt, 15, iter->roll);
1653 sqlite3_bind_double(stmt, 16, iter->zoffset);
1654 sqlite3_bind_int(stmt, 17, iter->roadid);
1655 sqlite3_bind_int(stmt, 18, iter->lanelinkid);
1656 sqlite3_bind_text(stmt, 19, iter->userdata, -1, SQLITE_TRANSIENT);
1657 sqlite3_bind_text(stmt, 20, iter->repeatdata, -1, SQLITE_TRANSIENT);
1658 sqlite3_bind_double(stmt, 21, iter->markWidth);
1659 sqlite3_bind_text(stmt, 22, iter->outlines, -1, SQLITE_TRANSIENT);
1660 int r = sqlite3_step(stmt);
1661 if (SQLITE_DONE != r) {
1662 std::cerr << "Insert OdObject Error, Name " << iter->name << ", Code " << r << std::endl;
1663 complete = false;
1664 }
1665 sqlite3_clear_bindings(stmt);
1666 sqlite3_reset(stmt);
1667 }
1668 sqlite3_exec(dbPtr, "commit;", 0, 0, 0);
1669 return complete;
1670}
1671
1672bool sqliteOperation::updateRoad(const hadmap::tx_road_t& road) {
1673 char sql[512];

Callers 2

insertObjectsMethod · 0.80
saveMapMethod · 0.80

Calls 3

statusMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected