[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