Re: [sqlite] Unrevolved _sqlite3ExprCodeAndCache with SQLITE_OMIT_TRIGGER

2006-08-25 Thread Ralf Junker

>> Is it safe (or even required?) to change sqliteInt.h to
>> 
>>   #ifndef SQLITE_OMIT_TRIGGER 
>>   void sqlite3ExprCodeAndCache(Parse*, Expr*);
>>   #else 
>>   # define sqlite3ExprCodeAndCache(A,B)
>>   #endif
>> 
>
>The suggested change will probably fail.  You can find out
>by running:
>
>   make fulltest

I can do this (sidenote: many of the vtab tests fail).

I use cygwin on Win32 and run:

  sh configure
  makek fulltest

Question: Where do I introduce SQLITE_OMIT_TRIGGER? 

>A safer fix would be to remove the #ifndef SQLITE_OMIT_TRIGGER
>from around the sqlite3ExprCodeAndCache function.

Thanks, will do.

>You should also file a bug report.

Done. 


-
To unsubscribe, send email to [EMAIL PROTECTED]
-



Re: [sqlite] Unrevolved _sqlite3ExprCodeAndCache with SQLITE_OMIT_TRIGGER

2006-08-25 Thread drh
Ralf Junker <[EMAIL PROTECTED]> wrote:
> Lattest cvs sqlite version:
> 
> If SQLITE_OMIT_TRIGGER is set, linker complains about an unresolved 
> _sqlite3ExprCodeAndCache symbol.
> 
> sqlite3ExprCodeAndCache is defined in expr.c and wrapped with #ifndef 
> SQLITE_OMIT_TRIGGER.
> 
> However, references in 
> 
>   insert.c, line 536
>   update.c, line 348 and 362
> 
> are not wrapped with #ifndef SQLITE_OMIT_TRIGGER.
> 
> I followed the suggestion quoted below (posted earlier to this list) without 
> avail.
> 
> Is it safe (or even required?) to change sqliteInt.h to
> 
>   #ifndef SQLITE_OMIT_TRIGGER 
>   void sqlite3ExprCodeAndCache(Parse*, Expr*);
>   #else 
>   # define sqlite3ExprCodeAndCache(A,B)
>   #endif
> 

The suggested change will probably fail.  You can find out
by running:

   make fulltest

A safer fix would be to remove the #ifndef SQLITE_OMIT_TRIGGER
from around the sqlite3ExprCodeAndCache function.

You should also file a bug report.
--
D. Richard Hipp   <[EMAIL PROTECTED]>


-
To unsubscribe, send email to [EMAIL PROTECTED]
-



[sqlite] Unrevolved _sqlite3ExprCodeAndCache with SQLITE_OMIT_TRIGGER

2006-08-25 Thread Ralf Junker
Lattest cvs sqlite version:

If SQLITE_OMIT_TRIGGER is set, linker complains about an unresolved 
_sqlite3ExprCodeAndCache symbol.

sqlite3ExprCodeAndCache is defined in expr.c and wrapped with #ifndef 
SQLITE_OMIT_TRIGGER.

However, references in 

  insert.c, line 536
  update.c, line 348 and 362

are not wrapped with #ifndef SQLITE_OMIT_TRIGGER.

I followed the suggestion quoted below (posted earlier to this list) without 
avail.

Is it safe (or even required?) to change sqliteInt.h to

  #ifndef SQLITE_OMIT_TRIGGER 
  void sqlite3ExprCodeAndCache(Parse*, Expr*);
  #else 
  # define sqlite3ExprCodeAndCache(A,B)
  #endif

Ralf
 
>> parse.obj : error unresolved external symbol _sqlite3VtabArgExtend in 
>> function  _yy_reduce
>> parse.obj : error unresolved external symbol _sqlite3VtabArgInit in function 
>> _yy_reduce
>> parse.obj : error unresolved external symbol _sqlite3VtabBeginParse in 
>> function  _yy_reduce
>> parse.obj : error unresolved external symbol _sqlite3VtabFinishParse in 
>> function  _yy_reduce
>> 
>> These functions are declared in sqliteint.h line 1863-1866.
>> These functions are implemented in vtab.c but enclosed in:
>> #ifndef SQLITE_OMIT_VIRTUALTABLE
>> 
>> #endif
>> 
>> And of course, these functions are used in function reduce without any 
>> SQLITE_OMIT_VIRTUALTABLE check.
>> 
>
>You must be trying to use the "parse.c" source file that
>is found in sqlite-source-3_3_7.zip.  "parse.c" is not really
>source code.  It is generated code.  The source code is
>"parse.y".  The -DSQLITE_OMIT_VIRTUALTABLE=1 comes into play
>when compiling parse.y into parse.c.  So if you want to use
>-DSQLITE_OMIT_VIRTUALTABLE=1, you have to compile beginning
>back at parse.y.
>
>To do that, you will need some kind of Unix.  Make a copy of
>Makefile.gcc-linux, rename it as just "Makefile", edit the 
>setup lines at the top to suite your particular situation, 
>(for example, add lines that say "OPTS += -DSQLITE_OMIT_VIRTUALTABLE=1")
>then type "make".


-
To unsubscribe, send email to [EMAIL PROTECTED]
-