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

Function db_check_api

db/db.c:107–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107int db_check_api(db_func_t* dbf, char *mname)
108{
109 if(dbf==NULL)
110 return -1;
111
112 /* All modules must export db_use_table */
113 if (dbf->use_table == 0) {
114 LM_ERR("module %s does not export db_use_table function\n", mname);
115 goto error;
116 }
117
118 /* All modules must export db_init */
119 if (dbf->init == 0) {
120 LM_ERR("module %s does not export db_init function\n", mname);
121 goto error;
122 }
123
124 /* All modules must export db_close */
125 if (dbf->close == 0) {
126 LM_ERR("module %s does not export db_close function\n", mname);
127 goto error;
128 }
129
130 if (dbf->query) {
131 dbf->cap |= DB_CAP_QUERY;
132 }
133
134 if (dbf->fetch_result) {
135 dbf->cap |= DB_CAP_FETCH;
136 }
137
138 if (dbf->raw_query) {
139 dbf->cap |= DB_CAP_RAW_QUERY;
140 }
141
142 /* Free result must be exported if DB_CAP_QUERY or
143 * DB_CAP_RAW_QUERY is set */
144 if ((dbf->cap & (DB_CAP_QUERY|DB_CAP_RAW_QUERY)) && (dbf->free_result==0)) {
145 LM_ERR("module %s supports queries but does not export free_result\n",
146 mname);
147 goto error;
148 }
149
150 if (dbf->insert) {
151 dbf->cap |= DB_CAP_INSERT;
152 }
153
154 if (dbf->delete) {
155 dbf->cap |= DB_CAP_DELETE;
156 }
157
158 if (dbf->update) {
159 dbf->cap |= DB_CAP_UPDATE;
160 }
161
162 if (dbf->replace) {
163 dbf->cap |= DB_CAP_REPLACE;
164 }

Callers 1

db_bind_modFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected