I compiled SQLite 3 (version 3.5.7), specifying SQLITE_OMIT_TRIGGER to reduce the size of the generated code.
I got the following compilation warnings in parse.c: ------------------------------------------------------------------------------------------------- parse.y(990) : error C2220: warning treated as error - no object file generated parse.y(990) : warning C4013: 'sqlite3DeleteTriggerStep' undefined; assuming extern returning int parse.y(959) : warning C4013: 'sqlite3FinishTrigger' undefined; assuming extern returning int parse.y(965) : warning C4013: 'sqlite3BeginTrigger' undefined; assuming extern returning int parse.y(1006) : warning C4013: 'sqlite3TriggerUpdateStep' undefined; assuming extern returning int parse.y(1006) : warning C4047: '=' : 'TriggerStep *' differs in levels of indirection from 'int' parse.y(1011) : warning C4013: 'sqlite3TriggerInsertStep' undefined; assuming extern returning int parse.y(1011) : warning C4047: '=' : 'TriggerStep *' differs in levels of indirection from 'int' parse.y(1014) : warning C4047: '=' : 'TriggerStep *' differs in levels of indirection from 'int' parse.y(1018) : warning C4013: 'sqlite3TriggerDeleteStep' undefined; assuming extern returning int parse.y(1018) : warning C4047: '=' : 'TriggerStep *' differs in levels of indirection from 'int' parse.y(1021) : warning C4013: 'sqlite3TriggerSelectStep' undefined; assuming extern returning int parse.y(1021) : warning C4047: '=' : 'TriggerStep *' differs in levels of indirection from 'int' parse.y(1049) : warning C4013: 'sqlite3DropTrigger' undefined; assuming extern returning int ------------------------------------------------------------------------------------------------- The various trigger functions are declared in sqliteInt.h as follows: ------------------------------------------------------------------------------------------------- #ifndef SQLITE_OMIT_TRIGGER void sqlite3BeginTrigger(Parse*, Token*,Token*,int,int,IdList*,SrcList*, Expr*,int, int); void sqlite3FinishTrigger(Parse*, TriggerStep*, Token*); void sqlite3DropTrigger(Parse*, SrcList*, int); void sqlite3DropTriggerPtr(Parse*, Trigger*); int sqlite3TriggersExist(Parse*, Table*, int, ExprList*); int sqlite3CodeRowTrigger(Parse*, int, ExprList*, int, Table *, int, int, int, int, u32*, u32*); void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*); void sqlite3DeleteTriggerStep(TriggerStep*); TriggerStep *sqlite3TriggerSelectStep(sqlite3*,Select*); TriggerStep *sqlite3TriggerInsertStep(sqlite3*,Token*, IdList*, ExprList*,Select*,int); TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, int); TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*); void sqlite3DeleteTrigger(Trigger*); void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*); void sqlite3SelectMask(Parse *, Select *, u32); #else # define sqlite3TriggersExist(A,B,C,D,E,F) 0 # define sqlite3DeleteTrigger(A) # define sqlite3DropTriggerPtr(A,B) # define sqlite3UnlinkAndDeleteTrigger(A,B,C) # define sqlite3CodeRowTrigger(A,B,C,D,E,F,G,H,I,J,K) 0 # define sqlite3SelectMask(A, B, C) #endif ------------------------------------------------------------------------------------------------- It would seem that, in the #else section, we just need to add 9 more no-op macros for the undefined trigger functions. - Richard _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users