зеркало из https://github.com/mozilla/pjs.git
Bug 415947: Upgrade to SQLite 3.5.4.2 to pick up OS/2 code changes, r=sdwilsh, a1.9=beltzner
This commit is contained in:
Родитель
2ac9daa929
Коммит
64c12c1897
|
@ -128,7 +128,7 @@ LIBGNOME_VERSION=2.0
|
|||
STARTUP_NOTIFICATION_VERSION=0.8
|
||||
DBUS_VERSION=0.60
|
||||
LCMS_VERSION=1.17
|
||||
SQLITE_VERSION=3.5
|
||||
SQLITE_VERSION=3.5.4
|
||||
|
||||
MSMANIFEST_TOOL=
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
This is sqlite 3.5.4.1
|
||||
This is sqlite 3.5.4.2
|
||||
|
||||
|
||||
-- Shawn Wilsher <me@shawnwilsher.com> 01/2008
|
||||
-- Peter Weilbacher <mozilla@weilbacher.org>, 04/2008
|
||||
|
||||
See http://www.sqlite.org/ for more info.
|
||||
|
||||
|
@ -12,7 +12,6 @@ To move to a new version:
|
|||
|
||||
Simply copy the sqlite3.h and sqlite3.c files from the amalgamation of sqlite.
|
||||
|
||||
If mozstorage or nss code need changes due to API changes in sqlite3, be sure
|
||||
to update SQLITE_VERSION accordingly in $(topsrcdir)/configure.in.
|
||||
Be sure to update SQLITE_VERSION accordingly in $(topsrcdir)/configure.in.
|
||||
|
||||
-- Shawn Wilsher <me@shawnwilsher.com> 01/2008
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/******************************************************************************
|
||||
** This file is an amalgamation of many separate C source files from SQLite
|
||||
** version 3.5.4.1. By combining all the individual C code files into this
|
||||
** version 3.5.4.2. By combining all the individual C code files into this
|
||||
** single large file, the entire code can be compiled as a one translation
|
||||
** unit. This allows many compilers to do optimizations that would not be
|
||||
** possible if the files were compiled separately. Performance improvements
|
||||
|
@ -17,7 +17,7 @@
|
|||
** is also in a separate file. This file contains only code for the core
|
||||
** SQLite library.
|
||||
**
|
||||
** This amalgamation was generated on 2008-01-20 20:21:55 UTC.
|
||||
** This amalgamation was generated on 2008-04-11 06:58:05 UTC.
|
||||
*/
|
||||
#define SQLITE_AMALGAMATION 1
|
||||
#ifndef SQLITE_PRIVATE
|
||||
|
@ -40,7 +40,7 @@
|
|||
*************************************************************************
|
||||
** Internal interface definitions for SQLite.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITEINT_H_
|
||||
#define _SQLITEINT_H_
|
||||
|
@ -104,7 +104,7 @@
|
|||
**
|
||||
** This file defines various limits of what SQLite can process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -395,7 +395,7 @@
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -453,7 +453,7 @@ extern "C" {
|
|||
**
|
||||
** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()].
|
||||
*/
|
||||
#define SQLITE_VERSION "3.5.4.1"
|
||||
#define SQLITE_VERSION "3.5.4.2"
|
||||
#define SQLITE_VERSION_NUMBER 3005004
|
||||
|
||||
/*
|
||||
|
@ -4222,7 +4222,7 @@ SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*
|
|||
** This is the header file for the generic hash-table implemenation
|
||||
** used in SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE_HASH_H_
|
||||
#define _SQLITE_HASH_H_
|
||||
|
@ -4655,7 +4655,7 @@ struct BusyHandler {
|
|||
** subsystem. See comments in the source code for a detailed description
|
||||
** of what each interface routine does.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _BTREE_H_
|
||||
#define _BTREE_H_
|
||||
|
@ -4865,7 +4865,7 @@ SQLITE_PRIVATE void sqlite3BtreeMutexArrayInsert(BtreeMutexArray*, Btree*);
|
|||
** or VDBE. The VDBE implements an abstract machine that runs a
|
||||
** simple program to access and modify the underlying database.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE_VDBE_H_
|
||||
#define _SQLITE_VDBE_H_
|
||||
|
@ -5181,7 +5181,7 @@ SQLITE_PRIVATE void sqlite3VdbeComment(Vdbe*, const char*, ...);
|
|||
** subsystem. The page cache subsystem reads and writes a file a page
|
||||
** at a time and provides a journal for rollback.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#ifndef _PAGER_H_
|
||||
|
@ -5656,7 +5656,7 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void);
|
|||
** Source files should #include the sqliteInt.h file and let that file
|
||||
** include this one indirectly.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -7389,7 +7389,7 @@ SQLITE_EXTERN void (*sqlite3_io_trace)(const char*,...);
|
|||
** sqlite3RegisterDateTimeFunctions() found at the bottom of the file.
|
||||
** All other code has file scope.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** SQLite processes all times and dates as Julian Day numbers. The
|
||||
** dates and times are stored as the number of days since noon
|
||||
|
@ -8715,7 +8715,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs *pVfs){
|
|||
** This file contains the C functions that implement a memory
|
||||
** allocation subsystem for use by SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -8949,7 +8949,7 @@ SQLITE_API void *sqlite3_realloc(void *pPrior, int nBytes){
|
|||
** This file contains the C functions that implement a memory
|
||||
** allocation subsystem for use by SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -9531,7 +9531,7 @@ SQLITE_PRIVATE void sqlite3MallocAllow(void){
|
|||
** This version of the memory allocation subsystem is used if
|
||||
** and only if SQLITE_MEMORY_SIZE is defined.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -10185,7 +10185,7 @@ SQLITE_API void sqlite3_memdebug_dump(const char *zFilename){
|
|||
** implementation is suitable for testing.
|
||||
** debugging purposes
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#ifdef SQLITE_MUTEX_NOOP_DEBUG
|
||||
|
@ -10305,7 +10305,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){
|
|||
*************************************************************************
|
||||
** This file contains the C functions that implement mutexes for OS/2
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -10324,13 +10324,14 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){
|
|||
** Each recursive mutex is an instance of the following structure.
|
||||
*/
|
||||
struct sqlite3_mutex {
|
||||
PSZ mutexName; /* Mutex name controlling the lock */
|
||||
HMTX mutex; /* Mutex controlling the lock */
|
||||
int id; /* Mutex type */
|
||||
int nRef; /* Number of references */
|
||||
TID owner; /* Thread holding this mutex */
|
||||
};
|
||||
|
||||
#define OS2_MUTEX_INITIALIZER 0,0,0,0
|
||||
|
||||
/*
|
||||
** The sqlite3_mutex_alloc() routine allocates a new
|
||||
** mutex and returns a pointer to it. If it returns NULL
|
||||
|
@ -10371,46 +10372,55 @@ struct sqlite3_mutex {
|
|||
** the same type number.
|
||||
*/
|
||||
SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int iType){
|
||||
PSZ mutex_name = "\\SEM32\\SQLITE\\MUTEX";
|
||||
int mutex_name_len = strlen(mutex_name) + 1; /* name length + null byte */
|
||||
sqlite3_mutex *p;
|
||||
|
||||
sqlite3_mutex *p = NULL;
|
||||
switch( iType ){
|
||||
case SQLITE_MUTEX_FAST:
|
||||
case SQLITE_MUTEX_RECURSIVE: {
|
||||
p = sqlite3MallocZero( sizeof(*p) );
|
||||
if( p ){
|
||||
p->mutexName = (PSZ)malloc(mutex_name_len);
|
||||
sqlite3_snprintf(mutex_name_len, p->mutexName, "%s", mutex_name);
|
||||
p->id = iType;
|
||||
DosCreateMutexSem(p->mutexName, &p->mutex, 0, FALSE);
|
||||
DosOpenMutexSem(p->mutexName, &p->mutex);
|
||||
if( DosCreateMutexSem( 0, &p->mutex, 0, FALSE ) != NO_ERROR ){
|
||||
sqlite3_free( p );
|
||||
p = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
static sqlite3_mutex staticMutexes[5];
|
||||
static int isInit = 0;
|
||||
while( !isInit ) {
|
||||
static long lock = 0;
|
||||
DosEnterCritSec();
|
||||
lock++;
|
||||
if( lock == 1 ) {
|
||||
int i;
|
||||
DosExitCritSec();
|
||||
for(i = 0; i < sizeof(staticMutexes)/sizeof(staticMutexes[0]); i++) {
|
||||
staticMutexes[i].mutexName = (PSZ)malloc(mutex_name_len + 1);
|
||||
sqlite3_snprintf(mutex_name_len + 1, /* one more for the number */
|
||||
staticMutexes[i].mutexName, "%s%1d", mutex_name, i);
|
||||
DosCreateMutexSem(staticMutexes[i].mutexName,
|
||||
&staticMutexes[i].mutex, 0, FALSE);
|
||||
DosOpenMutexSem(staticMutexes[i].mutexName,
|
||||
&staticMutexes[i].mutex);
|
||||
static volatile int isInit = 0;
|
||||
static sqlite3_mutex staticMutexes[] = {
|
||||
{ OS2_MUTEX_INITIALIZER, },
|
||||
{ OS2_MUTEX_INITIALIZER, },
|
||||
{ OS2_MUTEX_INITIALIZER, },
|
||||
{ OS2_MUTEX_INITIALIZER, },
|
||||
{ OS2_MUTEX_INITIALIZER, },
|
||||
};
|
||||
if ( !isInit ){
|
||||
APIRET rc;
|
||||
PTIB ptib;
|
||||
PPIB ppib;
|
||||
HMTX mutex;
|
||||
char name[32];
|
||||
DosGetInfoBlocks( &ptib, &ppib );
|
||||
sqlite3_snprintf( sizeof(name), name, "\\SEM32\\SQLITE%04x",
|
||||
ppib->pib_ulpid );
|
||||
while( !isInit ){
|
||||
mutex = 0;
|
||||
rc = DosCreateMutexSem( name, &mutex, 0, FALSE);
|
||||
if( rc == NO_ERROR ){
|
||||
int i;
|
||||
if( !isInit ){
|
||||
for( i = 0; i < sizeof(staticMutexes)/sizeof(staticMutexes[0]); i++ ){
|
||||
DosCreateMutexSem( 0, &staticMutexes[i].mutex, 0, FALSE );
|
||||
}
|
||||
isInit = 1;
|
||||
}
|
||||
DosCloseMutexSem( mutex );
|
||||
}else if( rc == ERROR_DUPLICATE_NAME ){
|
||||
DosSleep( 1 );
|
||||
}else{
|
||||
return p;
|
||||
}
|
||||
isInit = 1;
|
||||
} else {
|
||||
DosExitCritSec();
|
||||
DosSleep(1);
|
||||
}
|
||||
}
|
||||
assert( iType-2 >= 0 );
|
||||
|
@ -10432,9 +10442,8 @@ SQLITE_API void sqlite3_mutex_free(sqlite3_mutex *p){
|
|||
assert( p );
|
||||
assert( p->nRef==0 );
|
||||
assert( p->id==SQLITE_MUTEX_FAST || p->id==SQLITE_MUTEX_RECURSIVE );
|
||||
DosCloseMutexSem(p->mutex);
|
||||
free(p->mutexName);
|
||||
sqlite3_free(p);
|
||||
DosCloseMutexSem( p->mutex );
|
||||
sqlite3_free( p );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -10543,7 +10552,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){
|
|||
*************************************************************************
|
||||
** This file contains the C functions that implement mutexes for pthreads
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -10843,7 +10852,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){
|
|||
*************************************************************************
|
||||
** This file contains the C functions that implement mutexes for win32
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -11065,7 +11074,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){
|
|||
** Memory allocation functions used throughout sqlite.
|
||||
**
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -12213,7 +12222,7 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){
|
|||
** Random numbers are used by some of the database backends in order
|
||||
** to generate random integer keys for tables or random filenames.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -12315,7 +12324,7 @@ SQLITE_PRIVATE void sqlite3Randomness(int N, void *pBuf){
|
|||
** This file contains routines used to translate between UTF-8,
|
||||
** UTF-16, UTF-16BE, and UTF-16LE.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** Notes on UTF-8:
|
||||
**
|
||||
|
@ -13294,7 +13303,7 @@ SQLITE_PRIVATE void sqlite3UtfSelfTest(){
|
|||
** This file contains functions for allocating memory, comparing
|
||||
** strings, and stuff like that.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -13999,7 +14008,7 @@ SQLITE_PRIVATE int sqlite3SafetyOff(sqlite3 *db){
|
|||
** This is the implementation of generic hash-tables
|
||||
** used in SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/* Turn bulk memory into a hash table object by initializing the
|
||||
|
@ -14855,15 +14864,10 @@ int os2Write(
|
|||
*/
|
||||
int os2Truncate( sqlite3_file *id, i64 nByte ){
|
||||
APIRET rc = NO_ERROR;
|
||||
ULONG filePosition = 0L;
|
||||
os2File *pFile = (os2File*)id;
|
||||
OSTRACE3( "TRUNCATE %d %lld\n", pFile->h, nByte );
|
||||
SimulateIOError( return SQLITE_IOERR_TRUNCATE );
|
||||
rc = DosSetFilePtr( pFile->h, nByte, FILE_BEGIN, &filePosition );
|
||||
if( rc != NO_ERROR ){
|
||||
return SQLITE_IOERR;
|
||||
}
|
||||
rc = DosSetFilePtr( pFile->h, 0L, FILE_END, &filePosition );
|
||||
rc = DosSetFileSize( pFile->h, nByte );
|
||||
return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR;
|
||||
}
|
||||
|
||||
|
@ -15117,15 +15121,16 @@ int os2Lock( sqlite3_file *id, int locktype ){
|
|||
** non-zero, otherwise zero.
|
||||
*/
|
||||
int os2CheckReservedLock( sqlite3_file *id ){
|
||||
APIRET rc = NO_ERROR;
|
||||
int r = 0;
|
||||
os2File *pFile = (os2File*)id;
|
||||
assert( pFile!=0 );
|
||||
if( pFile->locktype>=RESERVED_LOCK ){
|
||||
rc = 1;
|
||||
OSTRACE3( "TEST WR-LOCK %d %d (local)\n", pFile->h, rc );
|
||||
r = 1;
|
||||
OSTRACE3( "TEST WR-LOCK %d %d (local)\n", pFile->h, r );
|
||||
}else{
|
||||
FILELOCK LockArea,
|
||||
UnlockArea;
|
||||
APIRET rc = NO_ERROR;
|
||||
memset(&LockArea, 0, sizeof(LockArea));
|
||||
memset(&UnlockArea, 0, sizeof(UnlockArea));
|
||||
LockArea.lOffset = RESERVED_BYTE;
|
||||
|
@ -15135,17 +15140,18 @@ int os2CheckReservedLock( sqlite3_file *id ){
|
|||
rc = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, 2000L, 1L );
|
||||
OSTRACE3( "TEST WR-LOCK %d lock reserved byte rc=%d\n", pFile->h, rc );
|
||||
if( rc == NO_ERROR ){
|
||||
int r;
|
||||
APIRET rcu = NO_ERROR; /* return code for unlocking */
|
||||
LockArea.lOffset = 0L;
|
||||
LockArea.lRange = 0L;
|
||||
UnlockArea.lOffset = RESERVED_BYTE;
|
||||
UnlockArea.lRange = 1L;
|
||||
r = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, 2000L, 1L );
|
||||
OSTRACE3( "TEST WR-LOCK %d unlock reserved byte r=%d\n", pFile->h, r );
|
||||
rcu = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, 2000L, 1L );
|
||||
OSTRACE3( "TEST WR-LOCK %d unlock reserved byte r=%d\n", pFile->h, rcu );
|
||||
}
|
||||
OSTRACE3( "TEST WR-LOCK %d %d (remote)\n", pFile->h, rc );
|
||||
r = !(rc == NO_ERROR);
|
||||
OSTRACE3( "TEST WR-LOCK %d %d (remote)\n", pFile->h, r );
|
||||
}
|
||||
return rc;
|
||||
return r;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -15336,15 +15342,8 @@ static int os2Open(
|
|||
OSTRACE1( "OPEN normal file attribute\n" );
|
||||
}
|
||||
|
||||
//ulOpenMode |= flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_TEMP_DB) ?
|
||||
// OPEN_FLAGS_RANDOM : OPEN_FLAGS_SEQUENTIAL;
|
||||
if( flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_TEMP_DB) ){
|
||||
ulOpenMode |= OPEN_FLAGS_RANDOM;
|
||||
OSTRACE1( "OPEN random access\n" );
|
||||
}else{
|
||||
ulOpenMode |= OPEN_FLAGS_SEQUENTIAL;
|
||||
OSTRACE1( "OPEN sequential access\n" );
|
||||
}
|
||||
/* always open in random access mode for possibly better speed */
|
||||
ulOpenMode |= OPEN_FLAGS_RANDOM;
|
||||
ulOpenMode |= OPEN_FLAGS_FAIL_ON_ERROR;
|
||||
|
||||
rc = DosOpen( (PSZ)zName,
|
||||
|
@ -15455,8 +15454,7 @@ static int os2GetTempname( sqlite3_vfs *pVfs, int nBuf, char *zBuf ){
|
|||
j--;
|
||||
}
|
||||
zTempPath[j] = '\0';
|
||||
assert( nBuf>=pVfs->mxPathname );
|
||||
sqlite3_snprintf( pVfs->mxPathname-30, zBuf,
|
||||
sqlite3_snprintf( nBuf-30, zBuf,
|
||||
"%s\\"SQLITE_TEMP_FILE_PREFIX, zTempPath );
|
||||
j = strlen( zBuf );
|
||||
sqlite3Randomness( 20, &zBuf[j] );
|
||||
|
@ -15480,24 +15478,8 @@ static int os2FullPathname(
|
|||
int nFull, /* Size of output buffer in bytes */
|
||||
char *zFull /* Output buffer */
|
||||
){
|
||||
if( strchr(zRelative, ':') ){
|
||||
sqlite3_snprintf( nFull, zFull, "%s", zRelative );
|
||||
}else{
|
||||
ULONG ulDriveNum = 0;
|
||||
ULONG ulDriveMap = 0;
|
||||
ULONG cbzBufLen = SQLITE_TEMPNAME_SIZE;
|
||||
char *zBuff = (char*)malloc( cbzBufLen );
|
||||
if( zBuff == 0 ){
|
||||
return SQLITE_NOMEM;
|
||||
}
|
||||
DosQueryCurrentDisk( &ulDriveNum, &ulDriveMap );
|
||||
if( DosQueryCurrentDir( ulDriveNum, (PBYTE)zBuff, &cbzBufLen ) == NO_ERROR ){
|
||||
sqlite3_snprintf( nFull, zFull, "%c:\\%s\\%s",
|
||||
(char)('A' + ulDriveNum - 1), zBuff, zRelative);
|
||||
}
|
||||
free( zBuff );
|
||||
}
|
||||
return SQLITE_OK;
|
||||
APIRET rc = DosQueryPathInfo( zRelative, FIL_QUERYFULLNAME, zFull, nFull );
|
||||
return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR;
|
||||
}
|
||||
|
||||
#ifndef SQLITE_OMIT_LOAD_EXTENSION
|
||||
|
@ -20300,7 +20282,7 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
|
|||
** file simultaneously, or one process from reading the database while
|
||||
** another is writing.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef SQLITE_OMIT_DISKIO
|
||||
|
||||
|
@ -25415,7 +25397,7 @@ SQLITE_PRIVATE void sqlite3PagerRefdump(Pager *pPager){
|
|||
**
|
||||
*************************************************************************
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** This file contains code used to implement mutexes on Btree objects.
|
||||
** This code really belongs in btree.c. But btree.c is getting too
|
||||
|
@ -25435,7 +25417,7 @@ SQLITE_PRIVATE void sqlite3PagerRefdump(Pager *pPager){
|
|||
** May you share freely, never taking more than you give.
|
||||
**
|
||||
*************************************************************************
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** This file implements a external (disk-based) database using BTrees.
|
||||
** For a detailed discussion of BTrees, refer to
|
||||
|
@ -26381,7 +26363,7 @@ SQLITE_PRIVATE void sqlite3BtreeMutexArrayLeave(BtreeMutexArray *pArray){
|
|||
** May you share freely, never taking more than you give.
|
||||
**
|
||||
*************************************************************************
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** This file implements a external (disk-based) database using BTrees.
|
||||
** See the header comment on "btreeInt.h" for additional information.
|
||||
|
@ -37835,7 +37817,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt *pStmt){
|
|||
** in this file for details. If in doubt, do not deviate from existing
|
||||
** commenting and indentation practices when changing or adding code.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -43109,7 +43091,7 @@ abort_due_to_interrupt:
|
|||
**
|
||||
** This file contains code used to implement incremental BLOB I/O.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -43448,7 +43430,7 @@ SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *pBlob){
|
|||
**
|
||||
*************************************************************************
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#ifdef SQLITE_ENABLE_ATOMIC_WRITE
|
||||
|
@ -43690,7 +43672,7 @@ SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *pVfs){
|
|||
** This file contains routines used for analyzing expressions and
|
||||
** for generating VDBE code that evaluates expressions in SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -46507,7 +46489,7 @@ SQLITE_PRIVATE int sqlite3ExprAnalyzeAggList(NameContext *pNC, ExprList *pList){
|
|||
** This file contains C code routines that used to generate VDBE code
|
||||
** that implements the ALTER TABLE command.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -47136,7 +47118,7 @@ exit_begin_add_column:
|
|||
*************************************************************************
|
||||
** This file contains code associated with the ANALYZE command.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef SQLITE_OMIT_ANALYZE
|
||||
|
||||
|
@ -47558,7 +47540,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){
|
|||
*************************************************************************
|
||||
** This file contains code used to implement the ATTACH and DETACH commands.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#ifndef SQLITE_OMIT_ATTACH
|
||||
|
@ -48086,7 +48068,7 @@ SQLITE_PRIVATE int sqlite3FixTriggerStep(
|
|||
** systems that do not need this facility may omit it by recompiling
|
||||
** the library with -DSQLITE_OMIT_AUTHORIZATION=1
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -48330,7 +48312,7 @@ SQLITE_PRIVATE void sqlite3AuthContextPop(AuthContext *pContext){
|
|||
** COMMIT
|
||||
** ROLLBACK
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -51761,7 +51743,7 @@ SQLITE_PRIVATE KeyInfo *sqlite3IndexKeyinfo(Parse *pParse, Index *pIdx){
|
|||
** This file contains functions used to access the internal hash tables
|
||||
** of user defined functions and collation sequences.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -52140,7 +52122,7 @@ SQLITE_PRIVATE Schema *sqlite3SchemaGet(sqlite3 *db, Btree *pBt){
|
|||
** This file contains C code routines that are called by the parser
|
||||
** in order to generate code for DELETE FROM statements.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -52617,7 +52599,7 @@ SQLITE_PRIVATE void sqlite3GenerateIndexKey(
|
|||
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
|
||||
** All other code has file scope.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -54186,7 +54168,7 @@ SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocas
|
|||
** This file contains C code routines that are called by the parser
|
||||
** to handle INSERT statements in SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -55816,7 +55798,7 @@ static int xferOptimization(
|
|||
** other files are for internal use by SQLite and should not be
|
||||
** accessed by users of the library.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -55971,7 +55953,7 @@ exec_out:
|
|||
** as extensions by SQLite should #include this file instead of
|
||||
** sqlite3.h.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3EXT_H_
|
||||
#define _SQLITE3EXT_H_
|
||||
|
@ -56817,7 +56799,7 @@ SQLITE_PRIVATE int sqlite3AutoLoadExtensions(sqlite3 *db){
|
|||
*************************************************************************
|
||||
** This file contains code used to implement the PRAGMA command.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/* Ignore this whole file if pragmas are disabled
|
||||
|
@ -58022,7 +58004,7 @@ pragma_out:
|
|||
** interface, and routines that contribute to loading the database schema
|
||||
** from disk.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -58787,7 +58769,7 @@ SQLITE_API int sqlite3_prepare16_v2(
|
|||
** This file contains C code routines that are called by the parser
|
||||
** to handle SELECT statements in SQLite.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -63504,7 +63486,7 @@ SQLITE_PRIVATE int sqlite3CodeRowTrigger(
|
|||
** This file contains C code routines that are called by the parser
|
||||
** to handle UPDATE statements.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
||||
|
@ -64147,7 +64129,7 @@ static void updateVirtualTable(
|
|||
** Most of the code in this file may be omitted by defining the
|
||||
** SQLITE_OMIT_VACUUM macro.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH)
|
||||
|
@ -64408,7 +64390,7 @@ end_of_vacuum:
|
|||
*************************************************************************
|
||||
** This file contains code used to help implement virtual tables.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
||||
|
||||
|
@ -65212,7 +65194,7 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(
|
|||
** so is applicable. Because this module is responsible for selecting
|
||||
** indices, you might also think of this module as the "query optimizer".
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -71115,7 +71097,7 @@ SQLITE_PRIVATE void sqlite3Parser(
|
|||
** individual tokens and sends those tokens one-by-one over to the
|
||||
** parser for analysis.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -71168,7 +71150,7 @@ const unsigned char ebcdicToAscii[] = {
|
|||
**
|
||||
** The code in this file has been automatically generated by
|
||||
**
|
||||
** $Header: /cvsroot/mozilla/db/sqlite3/src/sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Header: /cvsroot/mozilla/db/sqlite3/src/sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
**
|
||||
** The code in this file implements a function that determines whether
|
||||
** or not a given identifier is really an SQL keyword. The same thing
|
||||
|
@ -71740,7 +71722,7 @@ abort_parse:
|
|||
** separating it out, the code will be automatically omitted from
|
||||
** static links that do not use it.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef SQLITE_OMIT_COMPLETE
|
||||
|
||||
|
@ -72011,7 +71993,7 @@ SQLITE_API int sqlite3_complete16(const void *zSql){
|
|||
** other files are for internal use by SQLite and should not be
|
||||
** accessed by users of the library.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -73828,7 +73810,7 @@ SQLITE_API int sqlite3_file_control(sqlite3 *db, const char *zDbName, int op, vo
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -77829,7 +77811,7 @@ void sqlite3Fts3HashClear(fts3Hash*);
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -87939,7 +87921,7 @@ int sqlite3_extension_init(
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -92298,7 +92280,7 @@ void *sqlite3Fts3HashInsert(
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -96886,7 +96868,7 @@ void sqlite3Fts3PorterTokenizerModule(
|
|||
** as extensions by SQLite should #include this file instead of
|
||||
** sqlite3.h.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3EXT_H_
|
||||
#define _SQLITE3EXT_H_
|
||||
|
@ -96924,7 +96906,7 @@ void sqlite3Fts3PorterTokenizerModule(
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -101244,7 +101226,7 @@ void sqlite3Fts3HashClear(fts3Hash*);
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -105603,7 +105585,7 @@ int sqlite3Fts3InitHashTable(
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
@ -109746,7 +109728,7 @@ void sqlite3Fts3SimpleTokenizerModule(
|
|||
*************************************************************************
|
||||
** This file implements a tokenizer for fts3 based on the ICU library.
|
||||
**
|
||||
** $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
|
||||
#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS3)
|
||||
|
@ -109814,7 +109796,7 @@ void sqlite3Fts3SimpleTokenizerModule(
|
|||
** the version number) and changes its name to "sqlite3.h" as
|
||||
** part of the build process.
|
||||
**
|
||||
** @(#) $Id: sqlite3.c,v 1.15 2008/03/20 19:17:10 gavin%gavinsharp.com Exp $
|
||||
** @(#) $Id: sqlite3.c,v 1.16 2008/04/15 19:29:46 mozilla%weilbacher.org Exp $
|
||||
*/
|
||||
#ifndef _SQLITE3_H_
|
||||
#define _SQLITE3_H_
|
||||
|
|
Загрузка…
Ссылка в новой задаче