Tcl interface does as sqlite3 or as sqlite. A compile-time option allows

duel linking.  Also fix a bug in the pragma change from earlier today. (CVS 2186)

FossilOrigin-Name: ad10953799f3aa15fde41cbbd5911a3b56c326ec
This commit is contained in:
drh 2005-01-08 18:42:28 +00:00
parent 268283bc7f
commit 49766d6cd0
6 changed files with 38 additions and 31 deletions

View File

@ -1,5 +1,5 @@
C Fixes\sto\sthe\stemp_store_directory\spragma.\s(CVS\s2185)
D 2005-01-08T15:44:26
C Tcl\sinterface\sdoes\sas\ssqlite3\sor\sas\ssqlite.\s\sA\scompile-time\soption\sallows\r\nduel\slinking.\s\sAlso\sfix\sa\sbug\sin\sthe\spragma\schange\sfrom\searlier\stoday.\s(CVS\s2186)
D 2005-01-08T18:42:28
F Makefile.in ecf441ac5ca1ccfc8748a8a9537706e69893dfa4
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@ -20,7 +20,7 @@ F main.mk 962ac4f3b8ab6ce00d66f085bf259f946589eead
F mkdll.sh 468d4f41d3ea98221371df4825cfbffbaac4d7e4
F mkopcodec.awk 141aede6e58634f9cf9e96205a5316680e649987
F mkopcodeh.awk ee454cdee1da38b485c5e8cca84e5727c07158ba
F mkso.sh 7b67da1d63070875ba948e749aee9ef50ce36e3d
F mkso.sh 125868def279650a07d3f0f5e8476fecf99613fd
F publish.sh 72bde067dda3fc2d33e92f20253b924e3b97da30
F spec.template b2f6c4e488cbc3b993a57deba22cbc36203c4da3
F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2
@ -41,7 +41,7 @@ F src/hash.c a97721a55440b7bea31ffe471bb2f6b4123cddd5
F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84
F src/insert.c 0b9077c6752530e9919a8c84375cfa2c4652260a
F src/legacy.c d58ea507bce885298a2c8c3cbb0f4bff5d47830b
F src/main.c fc383dc9cf03847b96e5ed9942696467725cfdfd
F src/main.c a05e1e50406d2776272c1470077136f63866bbe2
F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070
F src/os.h c92a675533c75fea0f53559f34c7b91c5afe1a9d
F src/os_common.h 0e7f428ba0a6c40a61bc56c4e96f493231301b73
@ -62,9 +62,9 @@ F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3
F src/select.c af6ffcf0201f8f4e2697eea25689077dc61c6109
F src/shell.c e8f4f486cbf6e60d81173146ac8a6522c930fa51
F src/sqlite.h.in 0d5e48e506845b74a845c9470e01d3f472b59611
F src/sqliteInt.h e571e6d80c13bd0534a894817a0269c8a34b49d7
F src/sqliteInt.h a362fd46ba14f67e8e088d30ecbbe228545c43fe
F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9
F src/tclsqlite.c 3a4044ef609565c8cc51e887d8b96933ba9f3b5c
F src/tclsqlite.c 354d3e4525c7b29c8f50b1a0125d55c63c916fbc
F src/test1.c b7d94c54e58f95452387a5cabdf98b2be8059f29
F src/test2.c b11fa244fff02190707dd0879987c37c75e61fc8
F src/test3.c 11082b094eb42b3f9a9d5f4e77b6d98aeb2f00b1
@ -263,7 +263,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl c3b50d3ac31c54be2a1af9b488a89d22f1e6e746
P 26fbac8f031b305fe98add4422ab606ed116844a
R f87c924f62a99bca5faef617ba021d39
P 0a90eaf398aa4a689cd8326cd017951513ca748a
R c4f4620650d61e94b490965cc36efb0b
U drh
Z 08c214dff6b3942d3cd4bb3f84fb288c
Z 49fbfa0204d130bf85624d3aa736264c

View File

@ -1 +1 @@
0a90eaf398aa4a689cd8326cd017951513ca748a
ad10953799f3aa15fde41cbbd5911a3b56c326ec

View File

@ -13,9 +13,11 @@ TCLDIR=/home/drh/tcltk/846/linux/846linux
TCLSTUBLIB=$TCLDIR/libtclstub8.4g.a
OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1'
for i in *.c; do
CMD="cc -fPIC $OPTS -O2 -I. -I$TCLDIR -c $i"
echo $CMD
$CMD
if test $i != 'keywordhash.c'; then
CMD="cc -fPIC $OPTS -O2 -I. -I$TCLDIR -c $i"
echo $CMD
$CMD
fi
done
echo gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so
gcc -shared *.o $TCLSTUBLIB -o tclsqlite3.so

View File

@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
** $Id: main.c,v 1.268 2004/11/22 19:12:20 drh Exp $
** $Id: main.c,v 1.269 2005/01/08 18:42:28 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
@ -843,9 +843,6 @@ int sqlite3BtreeFactory(
btree_flags |= BTREE_OMIT_JOURNAL;
}
if( zFilename==0 ){
#ifndef TEMP_STORE
# define TEMP_STORE 1
#endif
#if TEMP_STORE==0
/* Do nothing */
#endif

View File

@ -11,7 +11,7 @@
*************************************************************************
** Internal interface definitions for SQLite.
**
** @(#) $Id: sqliteInt.h,v 1.350 2005/01/03 01:27:19 drh Exp $
** @(#) $Id: sqliteInt.h,v 1.351 2005/01/08 18:42:28 drh Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
@ -109,6 +109,14 @@
/* #define SQLITE_OMIT_AUTOVACUUM */
/* #define SQLITE_OMIT_ALTERTABLE */
/*
** Provide a default value for TEMP_STORE in case it is not specified
** on the command-line
*/
#ifndef TEMP_STORE
# define TEMP_STORE 1
#endif
/*
** GCC does not define the offsetof() macro so we'll have to do it
** ourselves.

View File

@ -11,7 +11,7 @@
*************************************************************************
** A TCL Interface to SQLite
**
** $Id: tclsqlite.c,v 1.111 2004/12/17 20:48:06 drh Exp $
** $Id: tclsqlite.c,v 1.112 2005/01/08 18:42:29 drh Exp $
*/
#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */
@ -1439,20 +1439,20 @@ int Sqlite3_Init(Tcl_Interp *interp){
Tcl_InitStubs(interp, "8.4", 0);
Tcl_CreateObjCommand(interp, "sqlite3", (Tcl_ObjCmdProc*)DbMain, 0, 0);
Tcl_PkgProvide(interp, "sqlite3", "3.0");
Tcl_CreateObjCommand(interp, "sqlite", (Tcl_ObjCmdProc*)DbMain, 0, 0);
Tcl_PkgProvide(interp, "sqlite", "3.0");
return TCL_OK;
}
int Tclsqlite3_Init(Tcl_Interp *interp){
Tcl_InitStubs(interp, "8.4", 0);
Tcl_CreateObjCommand(interp, "sqlite3", (Tcl_ObjCmdProc*)DbMain, 0, 0);
Tcl_PkgProvide(interp, "sqlite3", "3.0");
return TCL_OK;
}
int Sqlite3_SafeInit(Tcl_Interp *interp){
return TCL_OK;
}
int Tclsqlite3_SafeInit(Tcl_Interp *interp){
return TCL_OK;
}
int Tclsqlite3_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
int Sqlite3_SafeInit(Tcl_Interp *interp){ return TCL_OK; }
int Tclsqlite3_SafeInit(Tcl_Interp *interp){ return TCL_OK; }
#ifndef SQLITE_3_SUFFIX_ONLY
int Sqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
int Tclsqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp); }
int Sqlite_SafeInit(Tcl_Interp *interp){ return TCL_OK; }
int Tclsqlite_SafeInit(Tcl_Interp *interp){ return TCL_OK; }
#endif
#ifdef TCLSH
/*****************************************************************************