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

Function cachedb_counter_fetch

cachedb/cachedb.c:464–515  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

462}
463
464int cachedb_counter_fetch(str* cachedb_name, str* attr, int* val)
465{
466 cachedb_engine* cde;
467 str cde_engine,grp_name;
468 char *p;
469 cachedb_con *con;
470 int ret;
471
472 if(cachedb_name == NULL || attr == NULL || val == NULL)
473 {
474 LM_ERR("null arguments\n");
475 return -1;
476 }
477
478 p = memchr(cachedb_name->s,':',cachedb_name->len);
479 if (p == NULL) {
480 cde_engine = *cachedb_name;
481 grp_name.s = NULL;
482 grp_name.len = 0;
483 LM_DBG("from script [%.*s] - no grp\n",cde_engine.len,cde_engine.s);
484 } else {
485 cde_engine.s = cachedb_name->s;
486 cde_engine.len = p - cde_engine.s;
487 grp_name.s = p+1;
488 grp_name.len = cachedb_name->len - cde_engine.len -1;
489 LM_DBG("from script [%.*s] - with grp [%.*s]\n",cde_engine.len,
490 cde_engine.s,grp_name.len,grp_name.s);
491
492 }
493
494 cde = lookup_cachedb(&cde_engine);
495 if(cde == NULL)
496 {
497 LM_ERR("Wrong argument <%.*s> - no cachedb system with"
498 " this name registered\n",
499 cde_engine.len,cde_engine.s);
500 return -1;
501 }
502
503 con = cachedb_get_connection(cde,&grp_name);
504 if (con == NULL) {
505 LM_ERR("failed to get connection for grp name [%.*s] : check db_url\n",
506 grp_name.len,grp_name.s);
507 return -1;
508 }
509
510 ret = cde->cdb_func.get_counter(con,attr,val);
511 if (ret == 0)
512 ret++;
513
514 return ret;
515}
516
517int cachedb_add(str* cachedb_name, str* attr, int val,int expires,int *new_val)
518{

Callers 1

w_cache_counter_fetchFunction · 0.85

Calls 2

lookup_cachedbFunction · 0.85
cachedb_get_connectionFunction · 0.85

Tested by

no test coverage detected