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

Method updateRoad

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

Source from the content-addressed store, hash-verified

1670}
1671
1672bool sqliteOperation::updateRoad(const hadmap::tx_road_t& road) {
1673 char sql[512];
1674 sprintf(sql,
1675 "UPDATE " ROAD_TABLE
1676 " "
1677 "SET id = ?, name = ?, srs = ?, junction_pkid = ?, ground = ?, section_num = ?, "
1678 "road_type = ?, direction = ?, toll = ?, func_class = ?, urban = ?, paved = ?, transition_type = ?, "
1679 "lane_mark = ?, material = ?, curvature = ?, slope = ?, heading = ?, super_elevation = ?, geom = ? "
1680 "WHERE pkid = %llu",
1681 road.pkid);
1682
1683 sqliteStmtPtr stmt(dbPtr, sql);
1684
1685 sqlite3_bind_text(stmt, 1, road.id, -1, SQLITE_TRANSIENT);
1686 sqlite3_bind_text(stmt, 2, road.name, -1, SQLITE_TRANSIENT);
1687 sqlite3_bind_int(stmt, 3, road.srs);
1688 sqlite3_bind_int64(stmt, 4, road.junction_pkid);
1689 sqlite3_bind_double(stmt, 5, road.ground);
1690 sqlite3_bind_int(stmt, 6, road.section_num);
1691 sqlite3_bind_int(stmt, 7, road.road_type);
1692 sqlite3_bind_int(stmt, 8, road.direction);
1693 sqlite3_bind_int(stmt, 9, road.toll);
1694 sqlite3_bind_int(stmt, 10, road.func_class);
1695 sqlite3_bind_int(stmt, 11, road.urban);
1696 sqlite3_bind_int(stmt, 12, road.paved);
1697 sqlite3_bind_int(stmt, 13, road.transition_type);
1698 sqlite3_bind_int(stmt, 14, road.lane_mark);
1699 sqlite3_bind_int(stmt, 15, road.material);
1700
1701 sqlite3_blob_data curvature, slope, heading, super_elevation, geom;
1702
1703 createBlob(road.curvature, road.srs, curvature);
1704 sqlite3_bind_blob(stmt, 16, curvature.data, curvature.size, SQLITE_TRANSIENT);
1705
1706 createBlob(road.slope, road.srs, slope);
1707 sqlite3_bind_blob(stmt, 17, slope.data, slope.size, SQLITE_TRANSIENT);
1708
1709 createBlob(road.heading, road.srs, heading);
1710 sqlite3_bind_blob(stmt, 18, heading.data, heading.size, SQLITE_TRANSIENT);
1711
1712 createBlob(road.super_elevation, road.srs, super_elevation);
1713 sqlite3_bind_blob(stmt, 19, super_elevation.data, super_elevation.size, SQLITE_TRANSIENT);
1714
1715 createBlob(road.geom, road.srs, geom);
1716 sqlite3_bind_blob(stmt, 20, geom.data, geom.size, SQLITE_TRANSIENT);
1717
1718 int r = sqlite3_step(stmt);
1719 if (SQLITE_DONE != r) std::cerr << "Update Road Error, Code " << r << std::endl;
1720 sqlite3_reset(stmt);
1721
1722 return r == SQLITE_DONE;
1723}
1724
1725bool sqliteOperation::updateLane(const hadmap::tx_lane_t& lane) {
1726 char sql[512];

Callers 1

updateRoadsMethod · 0.45

Calls 1

createBlobFunction · 0.85

Tested by

no test coverage detected