MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / comdb2DropTrigger

Function comdb2DropTrigger

sqlite/src/comdb2lua.c:246–284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244}
245
246void comdb2DropTrigger(Parse *parse, int consumer, Token *proc)
247{
248 if (comdb2IsPrepareOnly(parse))
249 return;
250
251#ifndef SQLITE_OMIT_AUTHORIZATION
252 {
253 if( sqlite3AuthCheck(parse, consumer ? SQLITE_DROP_LUA_CONSUMER :
254 SQLITE_DROP_LUA_TRIGGER, 0, 0, 0) ){
255 sqlite3ErrorMsg(parse, COMDB2_NOT_AUTHORIZED_ERRMSG);
256 parse->rc = SQLITE_AUTH;
257 return;
258 }
259 }
260#endif
261
262 if (comdb2AuthenticateUserOp(parse))
263 return;
264
265 char spname[MAX_SPNAME];
266
267 if (comdb2TokenToStr(proc, spname, sizeof(spname))) {
268 sqlite3ErrorMsg(parse, "Procedure name is too long");
269 return;
270 }
271
272 Q4SP(qname, spname);
273 if (!getqueuebyname(qname)) {
274 sqlite3ErrorMsg(parse, "no such trigger: %s", spname);
275 return;
276 }
277
278 // trigger drop table:qname
279 struct schema_change_type *sc = new_schemachange_type();
280 sc->kind = SC_DEL_TRIGGER;
281 strcpy(sc->tablename, qname);
282 Vdbe *v = sqlite3GetVdbe(parse);
283 comdb2prepareNoRows(v, parse, 0, sc, &comdb2SqlSchemaChange_tran, (vdbeFuncArgFree)&free_schema_change_type);
284}
285
286#define comdb2CreateFunc(p, proc, pfx, PFX, type, flags) \
287 do { \

Callers

nothing calls this directly

Calls 9

comdb2IsPrepareOnlyFunction · 0.85
sqlite3AuthCheckFunction · 0.85
sqlite3ErrorMsgFunction · 0.85
comdb2AuthenticateUserOpFunction · 0.85
comdb2TokenToStrFunction · 0.85
getqueuebynameFunction · 0.85
new_schemachange_typeFunction · 0.85
sqlite3GetVdbeFunction · 0.85
comdb2prepareNoRowsFunction · 0.85

Tested by

no test coverage detected