| 1567 | } |
| 1568 | |
| 1569 | bool sqliteOperation::insertObjectGeomRels(hadmap::tx_object_geom_rel_vec& geom_rels) { |
| 1570 | const char* sql = SQL_INSERT_OBJECT_GEOM_REL; |
| 1571 | |
| 1572 | sqliteStmtPtr stmt(dbPtr, sql); |
| 1573 | if (!stmt.status()) { |
| 1574 | std::cerr << "failed to prepare insert object-geometry relations." << std::endl; |
| 1575 | return false; |
| 1576 | } |
| 1577 | |
| 1578 | sqlite3_exec(dbPtr, "begin;", 0, 0, 0); |
| 1579 | bool complete = true; |
| 1580 | for (hadmap::tx_object_geom_rel_vec::iterator iter = geom_rels.begin(); iter != geom_rels.end(); ++iter) { |
| 1581 | sqlite3_bind_int64(stmt, 1, iter->object_pkid); |
| 1582 | sqlite3_bind_int64(stmt, 2, iter->geom_pkid); |
| 1583 | int r = sqlite3_step(stmt); |
| 1584 | if (SQLITE_DONE != r) { |
| 1585 | std::cerr << "Insert Object Geom Rel Error, Code " << r << std::endl; |
| 1586 | complete = false; |
| 1587 | } |
| 1588 | sqlite3_clear_bindings(stmt); |
| 1589 | sqlite3_reset(stmt); |
| 1590 | iter->pkid = sqlitePackage::getLastInsertedRowid(dbPtr); |
| 1591 | } |
| 1592 | sqlite3_exec(dbPtr, "commit;", 0, 0, 0); |
| 1593 | |
| 1594 | return complete; |
| 1595 | } |
| 1596 | |
| 1597 | bool sqliteOperation::insertObjectRels(hadmap::tx_object_rel_vec& rels) { |
| 1598 | const char* sql = SQL_INSERT_OBJECT_REL; |
no test coverage detected