[svn-commits] file: branch file/astdb-sqlite3 r78676 - in /team/file/astdb-sqlite3: include...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Aug 8 15:00:30 CDT 2007
Author: file
Date: Wed Aug 8 15:00:28 2007
New Revision: 78676
URL: http://svn.digium.com/view/asterisk?view=rev&rev=78676
Log:
Update sqlite3 source files to latest.
Modified:
team/file/astdb-sqlite3/include/asterisk/sqlite3.h
team/file/astdb-sqlite3/main/sqlite3.c
Modified: team/file/astdb-sqlite3/include/asterisk/sqlite3.h
URL: http://svn.digium.com/view/asterisk/team/file/astdb-sqlite3/include/asterisk/sqlite3.h?view=diff&rev=78676&r1=78675&r2=78676
==============================================================================
--- team/file/astdb-sqlite3/include/asterisk/sqlite3.h (original)
+++ team/file/astdb-sqlite3/include/asterisk/sqlite3.h Wed Aug 8 15:00:28 2007
@@ -81,8 +81,8 @@
**
** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()].
*/
-#define SQLITE_VERSION "3.4.0"
-#define SQLITE_VERSION_NUMBER 3004000
+#define SQLITE_VERSION "3.4.1"
+#define SQLITE_VERSION_NUMBER 3004001
/*
** CAPI3REF: Run-Time Library Version Numbers
@@ -369,7 +369,7 @@
**
** SQLite implements the command "DELETE FROM table" without a WHERE clause
** by dropping and recreating the table. (This is much faster than going
-** through and deleting individual elements form the table.) Because of
+** through and deleting individual elements from the table.) Because of
** this optimization, the change count for "DELETE FROM table" will be
** zero regardless of the number of elements that were originally in the
** table. To get an accurate count of the number of rows deleted, use
@@ -963,10 +963,14 @@
** The second argument "zSql" is the statement to be compiled, encoded
** as either UTF-8 or UTF-16. The sqlite3_prepare() and sqlite3_prepare_v2()
** interfaces uses UTF-8 and sqlite3_prepare16() and sqlite3_prepare16_v2()
-** use UTF-16. If the next argument, "nBytes", is less
+** use UTF-16.
+**
+** If the nByte argument is less
** than zero, then zSql is read up to the first zero terminator. If
-** "nBytes" is not less than zero, then it is the length of the string zSql
-** in bytes (not characters).
+** nByte is non-negative, then it is the maximum number of
+** bytes read from zSql. When nByte is non-negative, the
+** zSql string ends at either the first '\000' character or
+** until the nByte-th byte, whichever comes first.
**
** *pzTail is made to point to the first byte past the end of the first
** SQL statement in zSql. This routine only compiles the first statement
@@ -1019,28 +1023,28 @@
int sqlite3_prepare(
sqlite3 *db, /* Database handle */
const char *zSql, /* SQL statement, UTF-8 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const char **pzTail /* OUT: Pointer to unused portion of zSql */
);
int sqlite3_prepare_v2(
sqlite3 *db, /* Database handle */
const char *zSql, /* SQL statement, UTF-8 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const char **pzTail /* OUT: Pointer to unused portion of zSql */
);
int sqlite3_prepare16(
sqlite3 *db, /* Database handle */
const void *zSql, /* SQL statement, UTF-16 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const void **pzTail /* OUT: Pointer to unused portion of zSql */
);
int sqlite3_prepare16_v2(
sqlite3 *db, /* Database handle */
const void *zSql, /* SQL statement, UTF-16 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const void **pzTail /* OUT: Pointer to unused portion of zSql */
);
@@ -1237,10 +1241,16 @@
** These routines provide a means to determine what column of what
** table in which database a result of a SELECT statement comes from.
** The name of the database or table or column can be returned as
-** either a UTF8 or UTF16 string. The returned string is valid until
+** either a UTF8 or UTF16 string. The _database_ routines return
+** the database name, the _table_ routines return the table name, and
+** the origin_ routines return the column name.
+** The returned string is valid until
** the [sqlite3_stmt | prepared statement] is destroyed using
** [sqlite3_finalize()] or until the same information is requested
-** again about the same column.
+** again in a different encoding.
+**
+** The names returned are the original un-aliased names of the
+** database, table, and column.
**
** The first argument to the following calls is a
** [sqlite3_stmt | compiled SQL statement].
@@ -1439,8 +1449,6 @@
** the value returned by sqlite3_column_type() is undefined. Future
** versions of SQLite may change the behavior of sqlite3_column_type()
** following a type conversion.
-**
-*** The sqlite3_column_nm
**
** If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes()
** routine returns the number of bytes in that BLOB or string.
@@ -1988,7 +1996,7 @@
/*
** CAPI3REF: Suspend Execution For A Short Time
**
-** This function causes the current thread to suspect execution
+** This function causes the current thread to suspend execution
** a number of milliseconds specified in its parameter.
**
** If the operating system does not support sleep requests with
@@ -2399,6 +2407,8 @@
int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,
void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
void **ppArg);
+
+ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
};
/*
@@ -2494,6 +2504,19 @@
);
/*
+** This routine is identical to the sqlite3_create_module() method above,
+** except that it allows a destructor function to be specified. It is
+** even more experimental than the rest of the virtual tables API.
+*/
+int sqlite3_create_module_v2(
+ sqlite3 *db, /* SQLite connection to register module with */
+ const char *zName, /* Name of the module */
+ const sqlite3_module *, /* Methods for the module */
+ void *, /* Client data for xCreate/xConnect */
+ void(*xDestroy)(void*) /* Module destructor function */
+);
+
+/*
** Every module implementation uses a subclass of the following structure
** to describe a particular instance of the module. Each subclass will
** be taylored to the specific needs of the module implementation. The
Modified: team/file/astdb-sqlite3/main/sqlite3.c
URL: http://svn.digium.com/view/asterisk/team/file/astdb-sqlite3/main/sqlite3.c?view=diff&rev=78676&r1=78675&r2=78676
==============================================================================
--- team/file/astdb-sqlite3/main/sqlite3.c (original)
+++ team/file/astdb-sqlite3/main/sqlite3.c Wed Aug 8 15:00:28 2007
@@ -1,6 +1,6 @@
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
-** version 3.4.0. By combining all the individual C code files into this
+** version 3.4.1. 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
@@ -11,15 +11,21 @@
** programs, you need this file and the "sqlite3.h" header file that defines
** the programming interface to the SQLite library. (If you do not have
** the "sqlite3.h" header file at hand, you will find a copy in the first
-** 2679 lines past this header comment.) Additional code files may be
+** 2702 lines past this header comment.) Additional code files may be
** needed if you want a wrapper to interface SQLite with your choice of
** programming language. The code for the "sqlite3" command-line shell
** is also in a separate file. This file contains only code for the core
** SQLite library.
**
-** This amalgamation was generated on 2007-06-18 17:44:42 UTC.
+** This amalgamation was generated on 2007-08-08 16:42:03 UTC.
*/
#define SQLITE_AMALGAMATION 1
+#ifndef SQLITE_PRIVATE
+# define SQLITE_PRIVATE static
+#endif
+#ifndef SQLITE_API
+# define SQLITE_API
+#endif
/************** Begin file sqlite3.h *****************************************/
/*
** 2001 September 15
@@ -104,8 +110,8 @@
**
** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()].
*/
-#define SQLITE_VERSION "3.4.0"
-#define SQLITE_VERSION_NUMBER 3004000
+#define SQLITE_VERSION "3.4.1"
+#define SQLITE_VERSION_NUMBER 3004001
/*
** CAPI3REF: Run-Time Library Version Numbers
@@ -124,7 +130,7 @@
** constants within the DLL.
*/
extern const char sqlite3_version[];
-const char *sqlite3_libversion(void);
+SQLITE_API const char *sqlite3_libversion(void);
int sqlite3_libversion_number(void);
/*
@@ -181,7 +187,7 @@
** before this routine is called. Otherwise, SQLITE_BUSY is returned and the
** database connection remains open.
*/
-int sqlite3_close(sqlite3 *);
+SQLITE_API int sqlite3_close(sqlite3 *);
/*
** The type for a callback function.
@@ -234,7 +240,7 @@
** The particular return value depends on the type of error.
**
*/
-int sqlite3_exec(
+SQLITE_API int sqlite3_exec(
sqlite3*, /* An open database */
const char *sql, /* SQL to be evaluted */
int (*callback)(void*,int,char**,char**), /* Callback function */
@@ -392,13 +398,13 @@
**
** SQLite implements the command "DELETE FROM table" without a WHERE clause
** by dropping and recreating the table. (This is much faster than going
-** through and deleting individual elements form the table.) Because of
+** through and deleting individual elements from the table.) Because of
** this optimization, the change count for "DELETE FROM table" will be
** zero regardless of the number of elements that were originally in the
** table. To get an accurate count of the number of rows deleted, use
** "DELETE FROM table WHERE 1" instead.
*/
-int sqlite3_changes(sqlite3*);
+SQLITE_API int sqlite3_changes(sqlite3*);
/*
** CAPI3REF: Total Number Of Rows Modified
@@ -439,7 +445,7 @@
** explicit transaction, then the entire transaction will be rolled
** back automatically.
*/
-void sqlite3_interrupt(sqlite3*);
+SQLITE_API void sqlite3_interrupt(sqlite3*);
/*
** CAPI3REF: Determine If An SQL Statement Is Complete
@@ -459,8 +465,8 @@
** in order to deal with triggers, but the basic idea is the same: the
** statement is not complete unless it ends in a semicolon.
*/
-int sqlite3_complete(const char *sql);
-int sqlite3_complete16(const void *sql);
+SQLITE_API int sqlite3_complete(const char *sql);
+SQLITE_API int sqlite3_complete16(const void *sql);
/*
** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors
@@ -693,9 +699,9 @@
** The code above will render a correct SQL statement in the zSQL
** variable even if the zText variable is a NULL pointer.
*/
-char *sqlite3_mprintf(const char*,...);
-char *sqlite3_vmprintf(const char*, va_list);
-char *sqlite3_snprintf(int,char*,const char*, ...);
+SQLITE_API char *sqlite3_mprintf(const char*,...);
+SQLITE_API char *sqlite3_vmprintf(const char*, va_list);
+SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...);
/*
** CAPI3REF: Memory Allocation Functions
@@ -706,9 +712,9 @@
** different. For maximum portability, it is best not to mix calls
** to the standard malloc/realloc/free with the sqlite versions.
*/
-void *sqlite3_malloc(int);
-void *sqlite3_realloc(void*, int);
-void sqlite3_free(void*);
+SQLITE_API void *sqlite3_malloc(int);
+SQLITE_API void *sqlite3_realloc(void*, int);
+SQLITE_API void sqlite3_free(void*);
/*
** CAPI3REF: Compile-Time Authorization Callbacks
@@ -848,8 +854,8 @@
** The sqlite3_profile() API is currently considered experimental and
** is subject to change.
*/
-void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
-void *sqlite3_profile(sqlite3*,
+SQLITE_API void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
+SQLITE_API void *sqlite3_profile(sqlite3*,
void(*xProfile)(void*,const char*,sqlite_uint64), void*);
/*
@@ -909,11 +915,11 @@
** defined. Filenames containing international characters must be converted
** to UTF-8 prior to passing them into sqlite3_open().
*/
-int sqlite3_open(
+SQLITE_API int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
-int sqlite3_open16(
+SQLITE_API int sqlite3_open16(
const void *filename, /* Database filename (UTF-16) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
@@ -946,9 +952,9 @@
** code returned by this function is associated with the same error as
** the strings returned by [sqlite3_errmsg()] and [sqlite3_errmsg16()].
*/
-int sqlite3_errcode(sqlite3 *db);
-const char *sqlite3_errmsg(sqlite3*);
-const void *sqlite3_errmsg16(sqlite3*);
+SQLITE_API int sqlite3_errcode(sqlite3 *db);
+SQLITE_API const char *sqlite3_errmsg(sqlite3*);
+SQLITE_API const void *sqlite3_errmsg16(sqlite3*);
/*
** CAPI3REF: SQL Statement Object
@@ -986,10 +992,14 @@
** The second argument "zSql" is the statement to be compiled, encoded
** as either UTF-8 or UTF-16. The sqlite3_prepare() and sqlite3_prepare_v2()
** interfaces uses UTF-8 and sqlite3_prepare16() and sqlite3_prepare16_v2()
-** use UTF-16. If the next argument, "nBytes", is less
+** use UTF-16.
+**
+** If the nByte argument is less
** than zero, then zSql is read up to the first zero terminator. If
-** "nBytes" is not less than zero, then it is the length of the string zSql
-** in bytes (not characters).
+** nByte is non-negative, then it is the maximum number of
+** bytes read from zSql. When nByte is non-negative, the
+** zSql string ends at either the first '\000' character or
+** until the nByte-th byte, whichever comes first.
**
** *pzTail is made to point to the first byte past the end of the first
** SQL statement in zSql. This routine only compiles the first statement
@@ -1039,31 +1049,31 @@
** </li>
** </ol>
*/
-int sqlite3_prepare(
+SQLITE_API int sqlite3_prepare(
sqlite3 *db, /* Database handle */
const char *zSql, /* SQL statement, UTF-8 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const char **pzTail /* OUT: Pointer to unused portion of zSql */
);
int sqlite3_prepare_v2(
sqlite3 *db, /* Database handle */
const char *zSql, /* SQL statement, UTF-8 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const char **pzTail /* OUT: Pointer to unused portion of zSql */
);
-int sqlite3_prepare16(
+SQLITE_API int sqlite3_prepare16(
sqlite3 *db, /* Database handle */
const void *zSql, /* SQL statement, UTF-16 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const void **pzTail /* OUT: Pointer to unused portion of zSql */
);
int sqlite3_prepare16_v2(
sqlite3 *db, /* Database handle */
const void *zSql, /* SQL statement, UTF-16 encoded */
- int nBytes, /* Length of zSql in bytes. */
+ int nByte, /* Maximum length of zSql in bytes. */
sqlite3_stmt **ppStmt, /* OUT: Statement handle */
const void **pzTail /* OUT: Pointer to unused portion of zSql */
);
@@ -1260,10 +1270,16 @@
** These routines provide a means to determine what column of what
** table in which database a result of a SELECT statement comes from.
** The name of the database or table or column can be returned as
-** either a UTF8 or UTF16 string. The returned string is valid until
+** either a UTF8 or UTF16 string. The _database_ routines return
+** the database name, the _table_ routines return the table name, and
+** the origin_ routines return the column name.
+** The returned string is valid until
** the [sqlite3_stmt | prepared statement] is destroyed using
** [sqlite3_finalize()] or until the same information is requested
-** again about the same column.
+** again in a different encoding.
+**
+** The names returned are the original un-aliased names of the
+** database, table, and column.
**
** The first argument to the following calls is a
** [sqlite3_stmt | compiled SQL statement].
@@ -1391,7 +1407,7 @@
** more specific [SQLITE_ERROR | result codes] are returned directly
** by sqlite3_step(). The use of the "v2" interface is recommended.
*/
-int sqlite3_step(sqlite3_stmt*);
+SQLITE_API int sqlite3_step(sqlite3_stmt*);
/*
** CAPI3REF:
@@ -1462,8 +1478,6 @@
** the value returned by sqlite3_column_type() is undefined. Future
** versions of SQLite may change the behavior of sqlite3_column_type()
** following a type conversion.
-**
-*** The sqlite3_column_nm
**
** If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes()
** routine returns the number of bytes in that BLOB or string.
@@ -1587,7 +1601,7 @@
** depending on the circumstances, and the
** [SQLITE_ERROR | result code] returned will be [SQLITE_ABORT].
*/
-int sqlite3_finalize(sqlite3_stmt *pStmt);
+SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt);
/*
** CAPI3REF: Reset A Prepared Statement Object
@@ -1599,7 +1613,7 @@
** the [sqlite3_bind_blob | sqlite3_bind_*() API] retain their values.
** Use [sqlite3_clear_bindings()] to reset the bindings.
*/
-int sqlite3_reset(sqlite3_stmt *pStmt);
+SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
/*
** CAPI3REF: Create Or Redefine SQL Functions
@@ -1703,7 +1717,7 @@
** using these functions, we are not going to tell you want they do.
*/
int sqlite3_aggregate_count(sqlite3_context*);
-int sqlite3_expired(sqlite3_stmt*);
+SQLITE_API int sqlite3_expired(sqlite3_stmt*);
int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);
int sqlite3_global_recover(void);
@@ -1990,7 +2004,7 @@
** The code to implement this API is not available in the public release
** of SQLite.
*/
-int sqlite3_key(
+SQLITE_API int sqlite3_key(
sqlite3 *db, /* Database to be rekeyed */
const void *pKey, int nKey /* The key */
);
@@ -2003,7 +2017,7 @@
** The code to implement this API is not available in the public release
** of SQLite.
*/
-int sqlite3_rekey(
+SQLITE_API int sqlite3_rekey(
sqlite3 *db, /* Database to be rekeyed */
const void *pKey, int nKey /* The new key */
);
@@ -2011,7 +2025,7 @@
/*
** CAPI3REF: Suspend Execution For A Short Time
**
-** This function causes the current thread to suspect execution
+** This function causes the current thread to suspend execution
** a number of milliseconds specified in its parameter.
**
** If the operating system does not support sleep requests with
@@ -2019,7 +2033,7 @@
** the nearest second. The number of milliseconds of sleep actually
** requested from the operating system is returned.
*/
-int sqlite3_sleep(int);
+SQLITE_API int sqlite3_sleep(int);
/*
** CAPI3REF: Name Of The Folder Holding Temporary Files
@@ -2422,6 +2436,8 @@
int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName,
void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
void **ppArg);
+
+ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
};
/*
@@ -2517,6 +2533,19 @@
);
/*
+** This routine is identical to the sqlite3_create_module() method above,
+** except that it allows a destructor function to be specified. It is
+** even more experimental than the rest of the virtual tables API.
+*/
+int sqlite3_create_module_v2(
+ sqlite3 *db, /* SQLite connection to register module with */
+ const char *zName, /* Name of the module */
+ const sqlite3_module *, /* Methods for the module */
+ void *, /* Client data for xCreate/xConnect */
+ void(*xDestroy)(void*) /* Module destructor function */
+);
+
+/*
** Every module implementation uses a subclass of the following structure
** to describe a particular instance of the module. Each subclass will
** be taylored to the specific needs of the module implementation. The
@@ -2769,8 +2798,8 @@
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
-/************** Include limits.h in the middle of sqliteInt.h ****************/
-/************** Begin file limits.h ******************************************/
+/************** Include sqliteLimit.h in the middle of sqliteInt.h ***********/
+/************** Begin file sqliteLimit.h *************************************/
/*
** 2007 May 7
**
@@ -2930,7 +2959,7 @@
# define SQLITE_MAX_LIKE_PATTERN_LENGTH 50000
#endif
-/************** End of limits.h **********************************************/
+/************** End of sqliteLimit.h *****************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
@@ -3056,10 +3085,10 @@
/*
** Access routines. To delete, insert a NULL pointer.
*/
-static void sqlite3HashInit(Hash*, int keytype, int copyKey);
-static void *sqlite3HashInsert(Hash*, const void *pKey, int nKey, void *pData);
-static void *sqlite3HashFind(const Hash*, const void *pKey, int nKey);
-static void sqlite3HashClear(Hash*);
+SQLITE_PRIVATE void sqlite3HashInit(Hash*, int keytype, int copyKey);
+SQLITE_PRIVATE void *sqlite3HashInsert(Hash*, const void *pKey, int nKey, void *pData);
+SQLITE_PRIVATE void *sqlite3HashFind(const Hash*, const void *pKey, int nKey);
+SQLITE_PRIVATE void sqlite3HashClear(Hash*);
/*
** Macros for looping over all elements of a hash table. The idiom is
@@ -3251,9 +3280,7 @@
#include <assert.h>
#include <stddef.h>
-#if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__BORLANDC__)
-# define isnan(X) ((X)!=(X))
-#endif
+#define sqlite3_isnan(X) ((X)!=(X))
/*
** If compiling for a processor that lacks floating point support,
@@ -3515,163 +3542,163 @@
/************** Begin file opcodes.h *****************************************/
/* Automatically generated. Do not edit */
/* See the mkopcodeh.awk script for details */
-#define OP_MemLoad 1
-#define OP_VNext 2
+#define OP_NotExists 1
+#define OP_Dup 2
+#define OP_MoveLt 3
+#define OP_IncrVacuum 4
+#define OP_Multiply 80 /* same as TK_STAR */
+#define OP_VCreate 5
+#define OP_BitAnd 74 /* same as TK_BITAND */
+#define OP_DropTrigger 6
+#define OP_OpenPseudo 7
+#define OP_MemInt 8
+#define OP_IntegrityCk 9
+#define OP_RowKey 10
+#define OP_LoadAnalysis 11
+#define OP_IdxGT 12
+#define OP_Last 13
+#define OP_Subtract 79 /* same as TK_MINUS */
+#define OP_MemLoad 14
+#define OP_Remainder 82 /* same as TK_REM */
+#define OP_SetCookie 15
+#define OP_Sequence 17
+#define OP_Pull 18
+#define OP_VRename 19
+#define OP_VUpdate 20
+#define OP_VColumn 21
+#define OP_DropTable 22
+#define OP_MemStore 23
+#define OP_ContextPush 24
+#define OP_NotNull 66 /* same as TK_NOTNULL */
+#define OP_Rowid 25
+#define OP_Real 125 /* same as TK_FLOAT */
+#define OP_String8 88 /* same as TK_STRING */
+#define OP_And 61 /* same as TK_AND */
+#define OP_BitNot 87 /* same as TK_BITNOT */
+#define OP_VFilter 26
+#define OP_NullRow 27
+#define OP_Noop 28
+#define OP_VRowid 29
+#define OP_Ge 72 /* same as TK_GE */
#define OP_HexBlob 126 /* same as TK_BLOB */
-#define OP_Column 3
-#define OP_SetCookie 4
-#define OP_IfMemPos 5
-#define OP_Real 125 /* same as TK_FLOAT */
-#define OP_Sequence 6
-#define OP_MoveGt 7
-#define OP_Ge 72 /* same as TK_GE */
-#define OP_RowKey 8
+#define OP_ParseSchema 30
+#define OP_Statement 31
+#define OP_CollSeq 32
+#define OP_ContextPop 33
+#define OP_ToText 138 /* same as TK_TO_TEXT */
+#define OP_MemIncr 34
+#define OP_MoveGe 35
#define OP_Eq 68 /* same as TK_EQ */
-#define OP_OpenWrite 9
-#define OP_NotNull 66 /* same as TK_NOTNULL */
-#define OP_If 10
+#define OP_ToNumeric 140 /* same as TK_TO_NUMERIC*/
+#define OP_If 36
+#define OP_IfNot 37
+#define OP_ShiftRight 77 /* same as TK_RSHIFT */
+#define OP_Destroy 38
+#define OP_Distinct 39
+#define OP_CreateIndex 40
+#define OP_SetNumColumns 41
+#define OP_Not 16 /* same as TK_NOT */
+#define OP_Gt 69 /* same as TK_GT */
+#define OP_ResetCount 42
+#define OP_MakeIdxRec 43
+#define OP_Goto 44
+#define OP_IdxDelete 45
+#define OP_MemMove 46
+#define OP_Found 47
+#define OP_MoveGt 48
+#define OP_IfMemZero 49
+#define OP_MustBeInt 50
+#define OP_Prev 51
+#define OP_MemNull 52
+#define OP_AutoCommit 53
+#define OP_String 54
+#define OP_FifoWrite 55
#define OP_ToInt 141 /* same as TK_TO_INT */
-#define OP_String8 88 /* same as TK_STRING */
-#define OP_Pop 11
-#define OP_VRowid 12
-#define OP_CollSeq 13
-#define OP_OpenRead 14
-#define OP_Expire 15
-#define OP_AutoCommit 17
-#define OP_Gt 69 /* same as TK_GT */
-#define OP_IntegrityCk 18
-#define OP_Sort 19
-#define OP_Function 20
-#define OP_And 61 /* same as TK_AND */
-#define OP_Subtract 79 /* same as TK_MINUS */
-#define OP_Noop 21
-#define OP_Return 22
-#define OP_Remainder 82 /* same as TK_REM */
-#define OP_NewRowid 23
-#define OP_Multiply 80 /* same as TK_STAR */
-#define OP_IfMemNeg 24
-#define OP_Variable 25
-#define OP_String 26
-#define OP_RealAffinity 27
-#define OP_ParseSchema 28
-#define OP_VOpen 29
-#define OP_Close 30
-#define OP_CreateIndex 31
-#define OP_IsUnique 32
-#define OP_NotFound 33
-#define OP_Int64 34
-#define OP_MustBeInt 35
-#define OP_Halt 36
-#define OP_Rowid 37
-#define OP_IdxLT 38
-#define OP_AddImm 39
-#define OP_Statement 40
-#define OP_RowData 41
-#define OP_MemMax 42
-#define OP_Push 43
+#define OP_Return 56
+#define OP_Callback 57
+#define OP_AddImm 58
+#define OP_Function 59
+#define OP_Concat 83 /* same as TK_CONCAT */
+#define OP_NewRowid 62
+#define OP_Blob 63
+#define OP_IsNull 65 /* same as TK_ISNULL */
+#define OP_Next 64
+#define OP_ForceInt 73
+#define OP_ReadCookie 84
+#define OP_Halt 86
+#define OP_Expire 89
#define OP_Or 60 /* same as TK_OR */
-#define OP_NotExists 44
-#define OP_MemIncr 45
-#define OP_Gosub 46
+#define OP_DropIndex 90
+#define OP_IdxInsert 91
+#define OP_ShiftLeft 76 /* same as TK_LSHIFT */
+#define OP_FifoRead 92
+#define OP_Column 93
+#define OP_Int64 94
+#define OP_Gosub 95
+#define OP_IfMemNeg 96
+#define OP_RowData 97
+#define OP_BitOr 75 /* same as TK_BITOR */
+#define OP_MemMax 98
+#define OP_Close 99
+#define OP_ToReal 142 /* same as TK_TO_REAL */
+#define OP_VerifyCookie 100
+#define OP_IfMemPos 101
+#define OP_Null 102
+#define OP_Integer 103
+#define OP_Transaction 104
#define OP_Divide 81 /* same as TK_SLASH */
-#define OP_Integer 47
-#define OP_ToNumeric 140 /* same as TK_TO_NUMERIC*/
-#define OP_MemInt 48
-#define OP_Prev 49
-#define OP_Concat 83 /* same as TK_CONCAT */
-#define OP_BitAnd 74 /* same as TK_BITAND */
-#define OP_VColumn 50
-#define OP_CreateTable 51
-#define OP_Last 52
-#define OP_IsNull 65 /* same as TK_ISNULL */
-#define OP_IncrVacuum 53
-#define OP_IdxRowid 54
-#define OP_MakeIdxRec 55
-#define OP_ShiftRight 77 /* same as TK_RSHIFT */
-#define OP_ResetCount 56
-#define OP_FifoWrite 57
-#define OP_Callback 58
-#define OP_ContextPush 59
-#define OP_DropTrigger 62
-#define OP_DropIndex 63
-#define OP_IdxGE 64
-#define OP_IdxDelete 73
-#define OP_Vacuum 84
-#define OP_MoveLe 86
-#define OP_IfNot 89
-#define OP_DropTable 90
-#define OP_MakeRecord 91
+#define OP_IdxLT 105
+#define OP_Delete 106
+#define OP_Rewind 107
+#define OP_Push 108
+#define OP_RealAffinity 109
+#define OP_Clear 110
+#define OP_AggStep 111
+#define OP_Explain 112
+#define OP_Vacuum 113
+#define OP_VDestroy 114
+#define OP_IsUnique 115
+#define OP_VOpen 116
+#define OP_AggFinal 117
+#define OP_OpenWrite 118
+#define OP_Negative 85 /* same as TK_UMINUS */
+#define OP_Le 70 /* same as TK_LE */
+#define OP_VNext 119
+#define OP_AbsValue 120
+#define OP_Sort 121
+#define OP_NotFound 122
+#define OP_MoveLe 123
+#define OP_MakeRecord 124
+#define OP_Add 78 /* same as TK_PLUS */
+#define OP_Ne 67 /* same as TK_NE */
+#define OP_Variable 127
+#define OP_CreateTable 128
+#define OP_Insert 129
+#define OP_IdxGE 130
+#define OP_OpenRead 131
+#define OP_IdxRowid 132
#define OP_ToBlob 139 /* same as TK_TO_BLOB */
-#define OP_Delete 92
-#define OP_AggFinal 93
-#define OP_ShiftLeft 76 /* same as TK_LSHIFT */
-#define OP_Dup 94
-#define OP_Goto 95
-#define OP_TableLock 96
-#define OP_FifoRead 97
-#define OP_Clear 98
-#define OP_IdxGT 99
-#define OP_MoveLt 100
-#define OP_Le 70 /* same as TK_LE */
-#define OP_VerifyCookie 101
-#define OP_AggStep 102
-#define OP_Pull 103
-#define OP_ToText 138 /* same as TK_TO_TEXT */
-#define OP_Not 16 /* same as TK_NOT */
-#define OP_ToReal 142 /* same as TK_TO_REAL */
-#define OP_SetNumColumns 104
-#define OP_AbsValue 105
-#define OP_Transaction 106
-#define OP_VFilter 107
-#define OP_Negative 85 /* same as TK_UMINUS */
-#define OP_Ne 67 /* same as TK_NE */
-#define OP_VDestroy 108
-#define OP_ContextPop 109
-#define OP_BitOr 75 /* same as TK_BITOR */
-#define OP_Next 110
-#define OP_IdxInsert 111
-#define OP_Distinct 112
+#define OP_VBegin 133
+#define OP_TableLock 134
+#define OP_OpenEphemeral 135
#define OP_Lt 71 /* same as TK_LT */
-#define OP_Insert 113
-#define OP_Destroy 114
-#define OP_ReadCookie 115
-#define OP_ForceInt 116
-#define OP_LoadAnalysis 117
-#define OP_Explain 118
-#define OP_IfMemZero 119
-#define OP_OpenPseudo 120
-#define OP_OpenEphemeral 121
-#define OP_Null 122
-#define OP_Blob 123
-#define OP_Add 78 /* same as TK_PLUS */
-#define OP_MemStore 124
-#define OP_Rewind 127
-#define OP_MoveGe 128
-#define OP_VBegin 129
-#define OP_VUpdate 130
-#define OP_BitNot 87 /* same as TK_BITNOT */
-#define OP_VCreate 131
-#define OP_MemMove 132
-#define OP_MemNull 133
-#define OP_Found 134
-#define OP_NullRow 135
+#define OP_Pop 136
/* The following opcode values are never used */
-#define OP_NotUsed_136 136
#define OP_NotUsed_137 137
/* Opcodes that are guaranteed to never push a value onto the stack
** contain a 1 their corresponding position of the following mask
** set. See the opcodeNoPush() function in vdbeaux.c */
-#define NOPUSH_MASK_0 0xeeb4
-#define NOPUSH_MASK_1 0x796b
-#define NOPUSH_MASK_2 0x7ddb
-#define NOPUSH_MASK_3 0xff32
+#define NOPUSH_MASK_0 0xb8fa
+#define NOPUSH_MASK_1 0xdddd
+#define NOPUSH_MASK_2 0xb6bf
+#define NOPUSH_MASK_3 0x37af
#define NOPUSH_MASK_4 0xffff
-#define NOPUSH_MASK_5 0xb6f7
-#define NOPUSH_MASK_6 0xfdfd
-#define NOPUSH_MASK_7 0x93b3
-#define NOPUSH_MASK_8 0x7ccf
+#define NOPUSH_MASK_5 0x8ee7
+#define NOPUSH_MASK_6 0xff3d
+#define NOPUSH_MASK_7 0x0efe
+#define NOPUSH_MASK_8 0x7dee
#define NOPUSH_MASK_9 0x0000
/************** End of opcodes.h *********************************************/
@@ -3681,37 +3708,37 @@
** Prototypes for the VDBE interface. See comments on the implementation
** for a description of what each of these routines does.
*/
-static Vdbe *sqlite3VdbeCreate(sqlite3*);
-static int sqlite3VdbeAddOp(Vdbe*,int,int,int);
-static int sqlite3VdbeOp3(Vdbe*,int,int,int,const char *zP3,int);
-static int sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp);
-static void sqlite3VdbeChangeP1(Vdbe*, int addr, int P1);
-static void sqlite3VdbeChangeP2(Vdbe*, int addr, int P2);
[... 8959 lines stripped ...]
More information about the svn-commits
mailing list