MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / cdb_fetch

Function cdb_fetch

modules/sql_cacher/sql_cacher.c:1491–1514  ·  view source on GitHub ↗

return: * 1 - if found * -2 - if not found * -1 - if error */

Source from the content-addressed store, hash-verified

1489 * -1 - if error
1490 */
1491static int cdb_fetch(pv_name_fix_t *pv_name, str *cdb_res, int *entry_rld_vers)
1492{
1493 str cdb_key;
1494 int rc = -1;
1495
1496 cdb_key.len = pv_name->id.len + pv_name->key.len;
1497 cdb_key.s = pkg_malloc(cdb_key.len);
1498 if (!cdb_key.s) {
1499 LM_ERR("No more pkg memory\n");
1500 return -1;
1501 }
1502 memcpy(cdb_key.s, pv_name->id.s, pv_name->id.len);
1503 memcpy(cdb_key.s + pv_name->id.len, pv_name->key.s, pv_name->key.len);
1504
1505 *entry_rld_vers = get_rld_vers_from_cache(pv_name->c_entry, pv_name->db_hdls);
1506 if (*entry_rld_vers < 0)
1507 goto out_free;
1508
1509 rc = pv_name->db_hdls->cdbf.get(pv_name->db_hdls->cdbcon, &cdb_key, cdb_res);
1510
1511out_free:
1512 pkg_free(cdb_key.s);
1513 return rc;
1514}
1515
1516/* return:
1517 * 0 - succes

Callers 2

on_demand_loadFunction · 0.85
pv_get_sql_cached_valueFunction · 0.85

Calls 1

get_rld_vers_from_cacheFunction · 0.85

Tested by

no test coverage detected