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

Function load_metadata_defaults

modules/db_berkeley/bdb_lib.c:976–1061  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

974#define DB_BERKELEY_METADATA_SIZE 512
975
976int load_metadata_defaults(table_p _tp)
977{
978 int ret,n,len;
979 char dbuf[MAX_ROW_SIZE];
980 char * tmp;
981 char *s = NULL;
982 char cv[DB_BERKELEY_METADATA_SIZE];
983 DB *db = NULL;
984 DBT key, data;
985 column_p col;
986 ret = n = len = 0;
987 int cvlen = DB_BERKELEY_METADATA_SIZE;
988
989 if(!_tp || !_tp->db)
990 return -1;
991
992 db = _tp->db;
993 memset(&key, 0, sizeof(DBT));
994 memset(&data, 0, sizeof(DBT));
995 memset(dbuf, 0, MAX_ROW_SIZE);
996
997 key.data = METADATA_DEFAULTS;
998 key.size = strlen(METADATA_DEFAULTS);
999
1000 /*memory for the result*/
1001 data.data = dbuf;
1002 data.ulen = MAX_ROW_SIZE;
1003 data.flags = DB_DBT_USERMEM;
1004
1005 if ((ret = db->get(db, NULL, &key, &data, 0)) != 0)
1006 {
1007#ifdef BDB_EXTRA_DEBUG
1008 LM_DBG("NO DEFAULTS ; SETTING ALL columns to NULL! \n" );
1009#endif
1010
1011 /*no defaults in DB; make some up.*/
1012 for(n=0; n<_tp->ncols; n++)
1013 {
1014 col = _tp->colp[n];
1015 if( col )
1016 { /*set all columns default value to 'NULL' */
1017 len = strlen("NULL");
1018 col->dv.s = (char*)pkg_malloc(len * sizeof(char));
1019 memcpy(col->dv.s, "NULL", len);
1020 col->dv.len = len;
1021 }
1022 }
1023 return 0;
1024 }
1025
1026 /* use the defaults provided*/
1027
1028 LM_DBG("Found: [%s]\n",dbuf);
1029
1030 tmp = dbuf;
1031 s = strsep(&tmp, DELIM);
1032 while(s!=NULL && n< _tp->ncols)
1033 {

Callers 1

bdblib_create_tableFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected