Steve Friedman wrote:
> 
>        case 275: /* trigger_cmd ::= UPDATE orconf nm SET setlist 
> where_opt */
> { yygotominor.yy243 = sqlite3TriggerUpdateStep(pParse->db, 
> &yymsp[-3].minor.yy0, yymsp[-1].minor.yy174, yymsp[0].minor.yy172, 
> yymsp[-4].minor.yy46); }
>          break;
>        case 276: /* trigger_cmd ::= insert_cmd INTO nm inscollist_opt 
> VALUES LP itemlist RP */
> {yygotominor.yy243 = sqlite3TriggerInsertStep(pParse->db, 
> &yymsp[-5].minor.yy0, yymsp[-4].minor.yy432, yymsp[-1].minor.yy174, 0, 
> yymsp[-7].minor.yy46);}
>          break;
>        case 277: /* trigger_cmd ::= insert_cmd INTO nm inscollist_opt 
> select */
> {yygotominor.yy243 = sqlite3TriggerInsertStep(pParse->db, 
> &yymsp[-2].minor.yy0, yymsp[-1].minor.yy432, 0, yymsp[0].minor.yy219, 
> yymsp[-4].minor.yy46);}
>          break;
>        case 278: /* trigger_cmd ::= DELETE FROM nm where_opt */
> {yygotominor.yy243 = sqlite3TriggerDeleteStep(pParse->db, 
> &yymsp[-1].minor.yy0, yymsp[0].minor.yy172);}
>          break;
>        case 279: /* trigger_cmd ::= select */
> {yygotominor.yy243 = sqlite3TriggerSelectStep(pParse->db, 
> yymsp[0].minor.yy219); }
> 
> 

These items should have been deleted when the parse.c file was created. 
They were not since the omit options are not passed to the lemon 
compiler by the makefile generated by the configure script.

The sqlite3Trigger* functions are referenced by parse.c but they are 
omitted from the trigger.c code by the CFLAGS. So these functions are 
assumed to return an integer (since they lack a prototype). The compiler 
is complaining about the implied integer to pointer conversion.

To fix this you will need to manually edit the configure generated 
makefile and add a line that defines the OPTS variable which will be 
passed to lemon. I tested with the SQLITE_OMIT_TRIGGER option only, but 
you should probably add all the options you are omitting.

OPTS = D=SQLITE_OMIT_TRIGGER D=SQLITE_OMIT_ALTERTABLE ...



>> Can you post the contents of these lines from your custom built 
>> sqlite3.c file? They are all together (13 lines) and might provide some 
>> context about these warnings.
>>
>>> sqlite3.c: In function ‘rtreeCreate’:
>>> sqlite3.c:91283: warning: cast from pointer to integer of different size
> 
>    return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 1, (int)pAux);
> 
>>> sqlite3.c: In function ‘rtreeConnect’:
>>> sqlite3.c:91296: warning: cast from pointer to integer of different size
> 
>    return rtreeInit(db, pAux, argc, argv, ppVtab, pzErr, 0, (int)pAux);
> 

This a normal warning about the cast from a pointer (64 bit) to an 
integer (32 bit) where the pAux argument is cast above.

> 
>> Same goes for these lines.
>>
>>> sqlite3.c: At top level:
>>> sqlite3.c:9677: warning: ‘sqlite3CreateView’ used but never defined
> SQLITE_PRIVATE void 
> sqlite3CreateView(Parse*,Token*,Token*,Token*,Select*,int,int);
> 
> #if !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_VIRTUALTABLE)
> SQLITE_PRIVATE   int sqlite3ViewGetColumnNames(Parse*,Table*);
> #else
> # define sqlite3ViewGetColumnNames(A,B) 0
> #endif
> 
> 
>>> sqlite3.c:9732: warning: ‘sqlite3Vacuum’ used but never defined
> SQLITE_PRIVATE void sqlite3Vacuum(Parse*);
> SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*);
> 
>>> sqlite3.c:9781: warning: ‘sqlite3MaterializeView’ used but never defined
>>> sqlite3.c:9823: warning: ‘sqlite3Attach’ used but never defined
>>> sqlite3.c:9824: warning: ‘sqlite3Detach’ used but never defined
>>> sqlite3.c:9912: warning: ‘sqlite3AlterRenameTable’ used but never defined
>>> sqlite3.c:9919: warning: ‘sqlite3AlterFinishAddColumn’ used but never 
>>> defined
>>> sqlite3.c:9920: warning: ‘sqlite3AlterBeginAddColumn’ used but never defined
>>> sqlite3.c:9923: warning: ‘sqlite3Analyze’ used but never defined
>> This looks like some references to these functions were not omitted even 
>> though the functions themselves were. I think these are all just 
>> warnings because these functions could be provided by a different file 
>> at link time.
> 

These will also be corrected by passing he appropriate omit flags to 
lemon. The parser is still referencing these files even though they have 
been omitted from the source.

HTH
Dennis Cote

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to