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

Function load_metadata_keys

modules/db_berkeley/bdb_lib.c:861–907  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

859}
860
861int load_metadata_keys(table_p _tp)
862{
863 int ret,n,ci;
864 char dbuf[MAX_ROW_SIZE];
865 char *tmp;
866 char *s = NULL;
867 DB *db = NULL;
868 DBT key, data;
869 ret = n = ci = 0;
870
871 if(!_tp || !_tp->db)
872 return -1;
873
874 db = _tp->db;
875 memset(&key, 0, sizeof(DBT));
876 memset(&data, 0, sizeof(DBT));
877 memset(dbuf, 0, MAX_ROW_SIZE);
878 key.data = METADATA_KEY;
879 key.size = strlen(METADATA_KEY);
880 data.data = dbuf;
881 data.ulen = MAX_ROW_SIZE;
882 data.flags = DB_DBT_USERMEM;
883
884 if ((ret = db->get(db, NULL, &key, &data, 0)) != 0)
885 {
886 db->err(db, ret, "load_metadata_keys DB->get failed");
887 LM_ERR("FAILED to find METADATA in table \n");
888 return ret;
889 }
890
891 LM_DBG("Found: [%s]\n",dbuf);
892
893 tmp = dbuf;
894 s = strsep(&tmp, " ");
895 while(s!=NULL && strlen(s) && n< _tp->ncols)
896 { ret = sscanf(s,"%i", &ci);
897 if(ret != 1) return -1;
898 if( _tp->colp[ci] )
899 { _tp->colp[ci]->flag = 1;
900 _tp->nkeys++;
901 }
902 n++;
903 s = strsep(&tmp, " ");
904 }
905
906 return 0;
907}
908
909
910int load_metadata_readonly(table_p _tp)

Callers 1

bdblib_create_tableFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected