amalgalite 1.0.0-x86-mswin32 → 1.1.1-x86-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY.rdoc +16 -0
- data/bin/amalgalite-pack +29 -8
- data/examples/fts3.db +0 -0
- data/examples/fts3.rb +144 -0
- data/ext/amalgalite/amalgalite3_constants.c +32 -32
- data/ext/amalgalite/extconf.rb +3 -0
- data/ext/amalgalite/gen_constants.rb +5 -1
- data/ext/amalgalite/sqlite3.c +815 -460
- data/ext/amalgalite/sqlite3.h +118 -45
- data/gemspec.rb +5 -5
- data/lib/amalgalite/1.8/amalgalite3.so +0 -0
- data/lib/amalgalite/1.9/amalgalite3.so +0 -0
- data/lib/amalgalite/version.rb +2 -2
- data/spec/sqlite3/version_spec.rb +5 -5
- data/tasks/announce.rake +1 -0
- data/tasks/extension.rake +3 -1
- metadata +15 -13
    
        data/ext/amalgalite/sqlite3.h
    CHANGED
    
    | @@ -107,9 +107,9 @@ extern "C" { | |
| 107 107 | 
             
            ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
         | 
| 108 108 | 
             
            ** [sqlite_version()] and [sqlite_source_id()].
         | 
| 109 109 | 
             
            */
         | 
| 110 | 
            -
            #define SQLITE_VERSION        "3.7. | 
| 111 | 
            -
            #define SQLITE_VERSION_NUMBER  | 
| 112 | 
            -
            #define SQLITE_SOURCE_ID      " | 
| 110 | 
            +
            #define SQLITE_VERSION        "3.7.5"
         | 
| 111 | 
            +
            #define SQLITE_VERSION_NUMBER 3007005
         | 
| 112 | 
            +
            #define SQLITE_SOURCE_ID      "2011-01-28 17:03:50 ed759d5a9edb3bba5f48f243df47be29e3fe8cd7"
         | 
| 113 113 |  | 
| 114 114 | 
             
            /*
         | 
| 115 115 | 
             
            ** CAPI3REF: Run-Time Library Version Numbers
         | 
| @@ -390,7 +390,7 @@ SQLITE_API int sqlite3_exec( | |
| 390 390 | 
             
            #define SQLITE_INTERRUPT    9   /* Operation terminated by sqlite3_interrupt()*/
         | 
| 391 391 | 
             
            #define SQLITE_IOERR       10   /* Some kind of disk I/O error occurred */
         | 
| 392 392 | 
             
            #define SQLITE_CORRUPT     11   /* The database disk image is malformed */
         | 
| 393 | 
            -
            #define SQLITE_NOTFOUND    12   /*  | 
| 393 | 
            +
            #define SQLITE_NOTFOUND    12   /* Unknown opcode in sqlite3_file_control() */
         | 
| 394 394 | 
             
            #define SQLITE_FULL        13   /* Insertion failed because database is full */
         | 
| 395 395 | 
             
            #define SQLITE_CANTOPEN    14   /* Unable to open the database file */
         | 
| 396 396 | 
             
            #define SQLITE_PROTOCOL    15   /* Database lock protocol error */
         | 
| @@ -622,7 +622,9 @@ struct sqlite3_file { | |
| 622 622 | 
             
            ** core reserves all opcodes less than 100 for its own use.
         | 
| 623 623 | 
             
            ** A [SQLITE_FCNTL_LOCKSTATE | list of opcodes] less than 100 is available.
         | 
| 624 624 | 
             
            ** Applications that define a custom xFileControl method should use opcodes
         | 
| 625 | 
            -
            ** greater than 100 to avoid conflicts.
         | 
| 625 | 
            +
            ** greater than 100 to avoid conflicts.  VFS implementations should
         | 
| 626 | 
            +
            ** return [SQLITE_NOTFOUND] for file control opcodes that they do not
         | 
| 627 | 
            +
            ** recognize.
         | 
| 626 628 | 
             
            **
         | 
| 627 629 | 
             
            ** The xSectorSize() method returns the sector size of the
         | 
| 628 630 | 
             
            ** device that underlies the file.  The sector size is the
         | 
| @@ -715,6 +717,21 @@ struct sqlite3_io_methods { | |
| 715 717 | 
             
            ** for the nominated database. Allocating database file space in large
         | 
| 716 718 | 
             
            ** chunks (say 1MB at a time), may reduce file-system fragmentation and
         | 
| 717 719 | 
             
            ** improve performance on some systems.
         | 
| 720 | 
            +
            **
         | 
| 721 | 
            +
            ** The [SQLITE_FCNTL_FILE_POINTER] opcode is used to obtain a pointer
         | 
| 722 | 
            +
            ** to the [sqlite3_file] object associated with a particular database
         | 
| 723 | 
            +
            ** connection.  See the [sqlite3_file_control()] documentation for
         | 
| 724 | 
            +
            ** additional information.
         | 
| 725 | 
            +
            **
         | 
| 726 | 
            +
            ** ^(The [SQLITE_FCNTL_SYNC_OMITTED] opcode is generated internally by
         | 
| 727 | 
            +
            ** SQLite and sent to all VFSes in place of a call to the xSync method
         | 
| 728 | 
            +
            ** when the database connection has [PRAGMA synchronous] set to OFF.)^
         | 
| 729 | 
            +
            ** Some specialized VFSes need this signal in order to operate correctly
         | 
| 730 | 
            +
            ** when [PRAGMA synchronous | PRAGMA synchronous=OFF] is set, but most 
         | 
| 731 | 
            +
            ** VFSes do not need this signal and should silently ignore this opcode.
         | 
| 732 | 
            +
            ** Applications should not call [sqlite3_file_control()] with this
         | 
| 733 | 
            +
            ** opcode as doing so may disrupt the operation of the specilized VFSes
         | 
| 734 | 
            +
            ** that do require it.  
         | 
| 718 735 | 
             
            */
         | 
| 719 736 | 
             
            #define SQLITE_FCNTL_LOCKSTATE        1
         | 
| 720 737 | 
             
            #define SQLITE_GET_LOCKPROXYFILE      2
         | 
| @@ -723,6 +740,7 @@ struct sqlite3_io_methods { | |
| 723 740 | 
             
            #define SQLITE_FCNTL_SIZE_HINT        5
         | 
| 724 741 | 
             
            #define SQLITE_FCNTL_CHUNK_SIZE       6
         | 
| 725 742 | 
             
            #define SQLITE_FCNTL_FILE_POINTER     7
         | 
| 743 | 
            +
            #define SQLITE_FCNTL_SYNC_OMITTED     8
         | 
| 726 744 |  | 
| 727 745 |  | 
| 728 746 | 
             
            /*
         | 
| @@ -1842,7 +1860,7 @@ SQLITE_API void sqlite3_free_table(char **result); | |
| 1842 1860 | 
             
            ** NULL pointer if [sqlite3_malloc()] is unable to allocate enough
         | 
| 1843 1861 | 
             
            ** memory to hold the resulting string.
         | 
| 1844 1862 | 
             
            **
         | 
| 1845 | 
            -
            ** ^( | 
| 1863 | 
            +
            ** ^(The sqlite3_snprintf() routine is similar to "snprintf()" from
         | 
| 1846 1864 | 
             
            ** the standard C library.  The result is written into the
         | 
| 1847 1865 | 
             
            ** buffer supplied as the second parameter whose size is given by
         | 
| 1848 1866 | 
             
            ** the first parameter. Note that the order of the
         | 
| @@ -1861,6 +1879,8 @@ SQLITE_API void sqlite3_free_table(char **result); | |
| 1861 1879 | 
             
            ** the zero terminator.  So the longest string that can be completely
         | 
| 1862 1880 | 
             
            ** written will be n-1 characters.
         | 
| 1863 1881 | 
             
            **
         | 
| 1882 | 
            +
            ** ^The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf().
         | 
| 1883 | 
            +
            **
         | 
| 1864 1884 | 
             
            ** These routines all implement some additional formatting
         | 
| 1865 1885 | 
             
            ** options that are useful for constructing SQL statements.
         | 
| 1866 1886 | 
             
            ** All of the usual printf() formatting options apply.  In addition, there
         | 
| @@ -1924,6 +1944,7 @@ SQLITE_API void sqlite3_free_table(char **result); | |
| 1924 1944 | 
             
            SQLITE_API char *sqlite3_mprintf(const char*,...);
         | 
| 1925 1945 | 
             
            SQLITE_API char *sqlite3_vmprintf(const char*, va_list);
         | 
| 1926 1946 | 
             
            SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...);
         | 
| 1947 | 
            +
            SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
         | 
| 1927 1948 |  | 
| 1928 1949 | 
             
            /*
         | 
| 1929 1950 | 
             
            ** CAPI3REF: Memory Allocation Subsystem
         | 
| @@ -2301,7 +2322,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); | |
| 2301 2322 | 
             
            ** case the database must already exist, otherwise an error is returned.</dd>)^
         | 
| 2302 2323 | 
             
            **
         | 
| 2303 2324 | 
             
            ** ^(<dt>[SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]</dt>
         | 
| 2304 | 
            -
            ** <dd>The database is opened for reading and writing, and is  | 
| 2325 | 
            +
            ** <dd>The database is opened for reading and writing, and is created if
         | 
| 2305 2326 | 
             
            ** it does not already exist. This is the behavior that is always used for
         | 
| 2306 2327 | 
             
            ** sqlite3_open() and sqlite3_open16().</dd>)^
         | 
| 2307 2328 | 
             
            ** </dl>
         | 
| @@ -2650,14 +2671,31 @@ SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); | |
| 2650 2671 | 
             
            /*
         | 
| 2651 2672 | 
             
            ** CAPI3REF: Determine If An SQL Statement Writes The Database
         | 
| 2652 2673 | 
             
            **
         | 
| 2653 | 
            -
            ** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if
         | 
| 2654 | 
            -
            ** the [prepared statement] X  | 
| 2655 | 
            -
            **  | 
| 2656 | 
            -
            ** | 
| 2657 | 
            -
            **  | 
| 2658 | 
            -
            **  | 
| 2659 | 
            -
            **  | 
| 2660 | 
            -
            **  | 
| 2674 | 
            +
            ** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if 
         | 
| 2675 | 
            +
            ** and only if the [prepared statement] X makes no direct changes to
         | 
| 2676 | 
            +
            ** the content of the database file.
         | 
| 2677 | 
            +
            **
         | 
| 2678 | 
            +
            ** Note that [application-defined SQL functions] or
         | 
| 2679 | 
            +
            ** [virtual tables] might change the database indirectly as a side effect.  
         | 
| 2680 | 
            +
            ** ^(For example, if an application defines a function "eval()" that 
         | 
| 2681 | 
            +
            ** calls [sqlite3_exec()], then the following SQL statement would
         | 
| 2682 | 
            +
            ** change the database file through side-effects:
         | 
| 2683 | 
            +
            **
         | 
| 2684 | 
            +
            ** <blockquote><pre>
         | 
| 2685 | 
            +
            **    SELECT eval('DELETE FROM t1') FROM t2;
         | 
| 2686 | 
            +
            ** </pre></blockquote>
         | 
| 2687 | 
            +
            **
         | 
| 2688 | 
            +
            ** But because the [SELECT] statement does not change the database file
         | 
| 2689 | 
            +
            ** directly, sqlite3_stmt_readonly() would still return true.)^
         | 
| 2690 | 
            +
            **
         | 
| 2691 | 
            +
            ** ^Transaction control statements such as [BEGIN], [COMMIT], [ROLLBACK],
         | 
| 2692 | 
            +
            ** [SAVEPOINT], and [RELEASE] cause sqlite3_stmt_readonly() to return true,
         | 
| 2693 | 
            +
            ** since the statements themselves do not actually modify the database but
         | 
| 2694 | 
            +
            ** rather they control the timing of when other statements modify the 
         | 
| 2695 | 
            +
            ** database.  ^The [ATTACH] and [DETACH] statements also cause
         | 
| 2696 | 
            +
            ** sqlite3_stmt_readonly() to return true since, while those statements
         | 
| 2697 | 
            +
            ** change the configuration of a database connection, they do not make 
         | 
| 2698 | 
            +
            ** changes to the content of the database files on disk.
         | 
| 2661 2699 | 
             
            */
         | 
| 2662 2700 | 
             
            SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt);
         | 
| 2663 2701 |  | 
| @@ -3051,13 +3089,17 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); | |
| 3051 3089 | 
             
            ** be the case that the same database connection is being used by two or
         | 
| 3052 3090 | 
             
            ** more threads at the same moment in time.
         | 
| 3053 3091 | 
             
            **
         | 
| 3054 | 
            -
            ** For all versions of SQLite up to and including 3.6.23.1,  | 
| 3055 | 
            -
            ** after sqlite3_step() returned anything | 
| 3056 | 
            -
            ** [ | 
| 3057 | 
            -
            ** sqlite3_step().  Failure to  | 
| 3058 | 
            -
            ** result in an [SQLITE_MISUSE] return from | 
| 3059 | 
            -
            ** version 3.6.23.1, sqlite3_step() began | 
| 3060 | 
            -
            ** automatically in this circumstance rather | 
| 3092 | 
            +
            ** For all versions of SQLite up to and including 3.6.23.1, a call to
         | 
| 3093 | 
            +
            ** [sqlite3_reset()] was required after sqlite3_step() returned anything
         | 
| 3094 | 
            +
            ** other than [SQLITE_ROW] before any subsequent invocation of
         | 
| 3095 | 
            +
            ** sqlite3_step().  Failure to reset the prepared statement using 
         | 
| 3096 | 
            +
            ** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from
         | 
| 3097 | 
            +
            ** sqlite3_step().  But after version 3.6.23.1, sqlite3_step() began
         | 
| 3098 | 
            +
            ** calling [sqlite3_reset()] automatically in this circumstance rather
         | 
| 3099 | 
            +
            ** than returning [SQLITE_MISUSE].  This is not considered a compatibility
         | 
| 3100 | 
            +
            ** break because any application that ever receives an SQLITE_MISUSE error
         | 
| 3101 | 
            +
            ** is broken by definition.  The [SQLITE_OMIT_AUTORESET] compile-time option
         | 
| 3102 | 
            +
            ** can be used to restore the legacy behavior.
         | 
| 3061 3103 | 
             
            **
         | 
| 3062 3104 | 
             
            ** <b>Goofy Interface Alert:</b> In the legacy interface, the sqlite3_step()
         | 
| 3063 3105 | 
             
            ** API always returns a generic error code, [SQLITE_ERROR], following any
         | 
| @@ -3394,7 +3436,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); | |
| 3394 3436 | 
             
            ** ^(The fifth parameter is an arbitrary pointer.  The implementation of the
         | 
| 3395 3437 | 
             
            ** function can gain access to this pointer using [sqlite3_user_data()].)^
         | 
| 3396 3438 | 
             
            **
         | 
| 3397 | 
            -
            ** ^The  | 
| 3439 | 
            +
            ** ^The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are
         | 
| 3398 3440 | 
             
            ** pointers to C-language functions that implement the SQL function or
         | 
| 3399 3441 | 
             
            ** aggregate. ^A scalar SQL function requires an implementation of the xFunc
         | 
| 3400 3442 | 
             
            ** callback only; NULL pointers must be passed as the xStep and xFinal
         | 
| @@ -3403,7 +3445,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); | |
| 3403 3445 | 
             
            ** SQL function or aggregate, pass NULL poiners for all three function
         | 
| 3404 3446 | 
             
            ** callbacks.
         | 
| 3405 3447 | 
             
            **
         | 
| 3406 | 
            -
            ** ^(If the  | 
| 3448 | 
            +
            ** ^(If the ninth parameter to sqlite3_create_function_v2() is not NULL,
         | 
| 3407 3449 | 
             
            ** then it is destructor for the application data pointer. 
         | 
| 3408 3450 | 
             
            ** The destructor is invoked when the function is deleted, either by being
         | 
| 3409 3451 | 
             
            ** overloaded or when the database connection closes.)^
         | 
| @@ -3507,7 +3549,7 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 | |
| 3507 3549 | 
             
            ** The xFunc (for scalar functions) or xStep (for aggregates) parameters
         | 
| 3508 3550 | 
             
            ** to [sqlite3_create_function()] and [sqlite3_create_function16()]
         | 
| 3509 3551 | 
             
            ** define callbacks that implement the SQL functions and aggregates.
         | 
| 3510 | 
            -
            ** The  | 
| 3552 | 
            +
            ** The 3rd parameter to these callbacks is an array of pointers to
         | 
| 3511 3553 | 
             
            ** [protected sqlite3_value] objects.  There is one [sqlite3_value] object for
         | 
| 3512 3554 | 
             
            ** each parameter to the SQL function.  These routines are used to
         | 
| 3513 3555 | 
             
            ** extract values from the [sqlite3_value] objects.
         | 
| @@ -5235,7 +5277,8 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*); | |
| 5235 5277 | 
             
            #define SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
         | 
| 5236 5278 | 
             
            #define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_random() */
         | 
| 5237 5279 | 
             
            #define SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
         | 
| 5238 | 
            -
            #define SQLITE_MUTEX_STATIC_LRU2      7  /*  | 
| 5280 | 
            +
            #define SQLITE_MUTEX_STATIC_LRU2      7  /* NOT USED */
         | 
| 5281 | 
            +
            #define SQLITE_MUTEX_STATIC_PMEM      7  /* sqlite3PageMalloc() */
         | 
| 5239 5282 |  | 
| 5240 5283 | 
             
            /*
         | 
| 5241 5284 | 
             
            ** CAPI3REF: Retrieve the mutex for a database connection
         | 
| @@ -5386,7 +5429,8 @@ SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetF | |
| 5386 5429 | 
             
            ** The value written into the *pCurrent parameter is undefined.</dd>)^
         | 
| 5387 5430 | 
             
            **
         | 
| 5388 5431 | 
             
            ** ^(<dt>SQLITE_STATUS_MALLOC_COUNT</dt>
         | 
| 5389 | 
            -
            ** <dd>This parameter records the number of separate memory allocations | 
| 5432 | 
            +
            ** <dd>This parameter records the number of separate memory allocations
         | 
| 5433 | 
            +
            ** currently checked out.</dd>)^
         | 
| 5390 5434 | 
             
            **
         | 
| 5391 5435 | 
             
            ** ^(<dt>SQLITE_STATUS_PAGECACHE_USED</dt>
         | 
| 5392 5436 | 
             
            ** <dd>This parameter returns the number of pages used out of the
         | 
| @@ -5492,6 +5536,28 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r | |
| 5492 5536 | 
             
            ** <dd>This parameter returns the number of lookaside memory slots currently
         | 
| 5493 5537 | 
             
            ** checked out.</dd>)^
         | 
| 5494 5538 | 
             
            **
         | 
| 5539 | 
            +
            ** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt>
         | 
| 5540 | 
            +
            ** <dd>This parameter returns the number malloc attempts that were 
         | 
| 5541 | 
            +
            ** satisfied using lookaside memory. Only the high-water value is meaningful;
         | 
| 5542 | 
            +
            ** the current value is always zero.
         | 
| 5543 | 
            +
            ** checked out.</dd>)^
         | 
| 5544 | 
            +
            **
         | 
| 5545 | 
            +
            ** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE</dt>
         | 
| 5546 | 
            +
            ** <dd>This parameter returns the number malloc attempts that might have
         | 
| 5547 | 
            +
            ** been satisfied using lookaside memory but failed due to the amount of
         | 
| 5548 | 
            +
            ** memory requested being larger than the lookaside slot size.
         | 
| 5549 | 
            +
            ** Only the high-water value is meaningful;
         | 
| 5550 | 
            +
            ** the current value is always zero.
         | 
| 5551 | 
            +
            ** checked out.</dd>)^
         | 
| 5552 | 
            +
            **
         | 
| 5553 | 
            +
            ** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL</dt>
         | 
| 5554 | 
            +
            ** <dd>This parameter returns the number malloc attempts that might have
         | 
| 5555 | 
            +
            ** been satisfied using lookaside memory but failed due to all lookaside
         | 
| 5556 | 
            +
            ** memory already being in use.
         | 
| 5557 | 
            +
            ** Only the high-water value is meaningful;
         | 
| 5558 | 
            +
            ** the current value is always zero.
         | 
| 5559 | 
            +
            ** checked out.</dd>)^
         | 
| 5560 | 
            +
            **
         | 
| 5495 5561 | 
             
            ** ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt>
         | 
| 5496 5562 | 
             
            ** <dd>This parameter returns the approximate number of of bytes of heap
         | 
| 5497 5563 | 
             
            ** memory used by all pager caches associated with the database connection.)^
         | 
| @@ -5514,11 +5580,14 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r | |
| 5514 5580 | 
             
            ** </dd>
         | 
| 5515 5581 | 
             
            ** </dl>
         | 
| 5516 5582 | 
             
            */
         | 
| 5517 | 
            -
            #define SQLITE_DBSTATUS_LOOKASIDE_USED | 
| 5518 | 
            -
            #define SQLITE_DBSTATUS_CACHE_USED | 
| 5519 | 
            -
            #define SQLITE_DBSTATUS_SCHEMA_USED | 
| 5520 | 
            -
            #define SQLITE_DBSTATUS_STMT_USED | 
| 5521 | 
            -
            #define  | 
| 5583 | 
            +
            #define SQLITE_DBSTATUS_LOOKASIDE_USED       0
         | 
| 5584 | 
            +
            #define SQLITE_DBSTATUS_CACHE_USED           1
         | 
| 5585 | 
            +
            #define SQLITE_DBSTATUS_SCHEMA_USED          2
         | 
| 5586 | 
            +
            #define SQLITE_DBSTATUS_STMT_USED            3
         | 
| 5587 | 
            +
            #define SQLITE_DBSTATUS_LOOKASIDE_HIT        4
         | 
| 5588 | 
            +
            #define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE  5
         | 
| 5589 | 
            +
            #define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL  6
         | 
| 5590 | 
            +
            #define SQLITE_DBSTATUS_MAX                  6   /* Largest defined DBSTATUS */
         | 
| 5522 5591 |  | 
| 5523 5592 |  | 
| 5524 5593 | 
             
            /*
         | 
| @@ -5646,11 +5715,13 @@ typedef struct sqlite3_pcache sqlite3_pcache; | |
| 5646 5715 | 
             
            ** first parameter, szPage, is the size in bytes of the pages that must
         | 
| 5647 5716 | 
             
            ** be allocated by the cache.  ^szPage will not be a power of two.  ^szPage
         | 
| 5648 5717 | 
             
            ** will the page size of the database file that is to be cached plus an
         | 
| 5649 | 
            -
            ** increment (here called "R") of  | 
| 5718 | 
            +
            ** increment (here called "R") of less than 250.  SQLite will use the
         | 
| 5650 5719 | 
             
            ** extra R bytes on each page to store metadata about the underlying
         | 
| 5651 5720 | 
             
            ** database page on disk.  The value of R depends
         | 
| 5652 5721 | 
             
            ** on the SQLite version, the target platform, and how SQLite was compiled.
         | 
| 5653 | 
            -
            ** ^R is constant for a particular build of SQLite. | 
| 5722 | 
            +
            ** ^(R is constant for a particular build of SQLite. Except, there are two
         | 
| 5723 | 
            +
            ** distinct values of R when SQLite is compiled with the proprietary
         | 
| 5724 | 
            +
            ** ZIPVFS extension.)^  ^The second argument to
         | 
| 5654 5725 | 
             
            ** xCreate(), bPurgeable, is true if the cache being created will
         | 
| 5655 5726 | 
             
            ** be used to cache database pages of a file stored on disk, or
         | 
| 5656 5727 | 
             
            ** false if it is used for an in-memory database. The cache implementation
         | 
| @@ -5682,7 +5753,7 @@ typedef struct sqlite3_pcache sqlite3_pcache; | |
| 5682 5753 | 
             
            ** If the requested page is already in the page cache, then the page cache
         | 
| 5683 5754 | 
             
            ** implementation must return a pointer to the page buffer with its content
         | 
| 5684 5755 | 
             
            ** intact.  If the requested page is not already in the cache, then the
         | 
| 5685 | 
            -
            **  | 
| 5756 | 
            +
            ** cache implementation should use the value of the createFlag
         | 
| 5686 5757 | 
             
            ** parameter to help it determined what action to take:
         | 
| 5687 5758 | 
             
            **
         | 
| 5688 5759 | 
             
            ** <table border=1 width=85% align=center>
         | 
| @@ -5766,11 +5837,12 @@ typedef struct sqlite3_backup sqlite3_backup; | |
| 5766 5837 | 
             
            **
         | 
| 5767 5838 | 
             
            ** See Also: [Using the SQLite Online Backup API]
         | 
| 5768 5839 | 
             
            **
         | 
| 5769 | 
            -
            ** ^ | 
| 5770 | 
            -
            ** duration of the operation. | 
| 5771 | 
            -
            ** read-locked while it is  | 
| 5772 | 
            -
            ** continuously for the entire backup operation. | 
| 5773 | 
            -
            ** performed on a live source database without | 
| 5840 | 
            +
            ** ^SQLite holds a write transaction open on the destination database file
         | 
| 5841 | 
            +
            ** for the duration of the backup operation.
         | 
| 5842 | 
            +
            ** ^The source database is read-locked only while it is being read;
         | 
| 5843 | 
            +
            ** it is not locked continuously for the entire backup operation.
         | 
| 5844 | 
            +
            ** ^Thus, the backup may be performed on a live source database without
         | 
| 5845 | 
            +
            ** preventing other database connections from
         | 
| 5774 5846 | 
             
            ** reading or writing to the source database while the backup is underway.
         | 
| 5775 5847 | 
             
            ** 
         | 
| 5776 5848 | 
             
            ** ^(To perform a backup operation: 
         | 
| @@ -5797,11 +5869,11 @@ typedef struct sqlite3_backup sqlite3_backup; | |
| 5797 5869 | 
             
            ** sqlite3_backup_init(D,N,S,M) identify the [database connection]
         | 
| 5798 5870 | 
             
            ** and database name of the source database, respectively.
         | 
| 5799 5871 | 
             
            ** ^The source and destination [database connections] (parameters S and D)
         | 
| 5800 | 
            -
            ** must be different or else sqlite3_backup_init(D,N,S,M) will  | 
| 5872 | 
            +
            ** must be different or else sqlite3_backup_init(D,N,S,M) will fail with
         | 
| 5801 5873 | 
             
            ** an error.
         | 
| 5802 5874 | 
             
            **
         | 
| 5803 5875 | 
             
            ** ^If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is
         | 
| 5804 | 
            -
            ** returned and an error code and error message are  | 
| 5876 | 
            +
            ** returned and an error code and error message are stored in the
         | 
| 5805 5877 | 
             
            ** destination [database connection] D.
         | 
| 5806 5878 | 
             
            ** ^The error code and message for the failed call to sqlite3_backup_init()
         | 
| 5807 5879 | 
             
            ** can be retrieved using the [sqlite3_errcode()], [sqlite3_errmsg()], and/or
         | 
| @@ -5818,7 +5890,7 @@ typedef struct sqlite3_backup sqlite3_backup; | |
| 5818 5890 | 
             
            ** the source and destination databases specified by [sqlite3_backup] object B.
         | 
| 5819 5891 | 
             
            ** ^If N is negative, all remaining source pages are copied. 
         | 
| 5820 5892 | 
             
            ** ^If sqlite3_backup_step(B,N) successfully copies N pages and there
         | 
| 5821 | 
            -
            ** are still more pages to be copied, then the function  | 
| 5893 | 
            +
            ** are still more pages to be copied, then the function returns [SQLITE_OK].
         | 
| 5822 5894 | 
             
            ** ^If sqlite3_backup_step(B,N) successfully finishes copying all pages
         | 
| 5823 5895 | 
             
            ** from source to destination, then it returns [SQLITE_DONE].
         | 
| 5824 5896 | 
             
            ** ^If an error occurs while running sqlite3_backup_step(B,N),
         | 
| @@ -5832,7 +5904,7 @@ typedef struct sqlite3_backup sqlite3_backup; | |
| 5832 5904 | 
             
            ** <li> the destination database was opened read-only, or
         | 
| 5833 5905 | 
             
            ** <li> the destination database is using write-ahead-log journaling
         | 
| 5834 5906 | 
             
            ** and the destination and source page sizes differ, or
         | 
| 5835 | 
            -
            ** <li>  | 
| 5907 | 
            +
            ** <li> the destination database is an in-memory database and the
         | 
| 5836 5908 | 
             
            ** destination and source page sizes differ.
         | 
| 5837 5909 | 
             
            ** </ol>)^
         | 
| 5838 5910 | 
             
            **
         | 
| @@ -6163,7 +6235,8 @@ SQLITE_API void *sqlite3_wal_hook( | |
| 6163 6235 | 
             
            ** from SQL.
         | 
| 6164 6236 | 
             
            **
         | 
| 6165 6237 | 
             
            ** ^Every new [database connection] defaults to having the auto-checkpoint
         | 
| 6166 | 
            -
            ** enabled with a threshold of 1000  | 
| 6238 | 
            +
            ** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT]
         | 
| 6239 | 
            +
            ** pages.  The use of this interface
         | 
| 6167 6240 | 
             
            ** is only necessary if the default setting is found to be suboptimal
         | 
| 6168 6241 | 
             
            ** for a particular application.
         | 
| 6169 6242 | 
             
            */
         | 
    
        data/gemspec.rb
    CHANGED
    
    | @@ -23,12 +23,12 @@ Amalgalite::GEM_SPEC = Gem::Specification.new do |spec| | |
| 23 23 | 
             
              spec.add_dependency("arrayfields", "~> 4.7.4")
         | 
| 24 24 | 
             
              spec.add_dependency("fastercsv", "~> 1.5.4")
         | 
| 25 25 |  | 
| 26 | 
            -
              spec.add_development_dependency("rake", "~> 0.8.7")
         | 
| 26 | 
            +
              spec.add_development_dependency("rake"         , "~> 0.8.7")
         | 
| 27 27 | 
             
              spec.add_development_dependency("configuration", "~> 1.2.0")
         | 
| 28 | 
            -
              spec.add_development_dependency("rspec", "~> 2. | 
| 29 | 
            -
              spec.add_development_dependency("rake-compiler", "~> 0.7. | 
| 30 | 
            -
              spec.add_development_dependency('zip', "~> 2.0.2")
         | 
| 31 | 
            -
              spec.add_development_dependency('rcov', "~> 0.9.9")
         | 
| 28 | 
            +
              spec.add_development_dependency("rspec"        , "~> 2.5.1")
         | 
| 29 | 
            +
              spec.add_development_dependency("rake-compiler", "~> 0.7.6")
         | 
| 30 | 
            +
              spec.add_development_dependency('zip'          , "~> 2.0.2")
         | 
| 31 | 
            +
              spec.add_development_dependency('rcov'         , "~> 0.9.9")
         | 
| 32 32 |  | 
| 33 33 | 
             
              if ext_conf = Configuration.for_if_exist?("extension") then
         | 
| 34 34 | 
             
                spec.extensions <<  ext_conf.configs
         | 
| Binary file | 
| Binary file | 
    
        data/lib/amalgalite/version.rb
    CHANGED
    
    
| @@ -7,16 +7,16 @@ describe "Amalgalite::SQLite3::Version" do | |
| 7 7 | 
             
                Amalgalite::SQLite3::Version.to_s.should =~ /\d\.\d\.\d/
         | 
| 8 8 | 
             
                Amalgalite::SQLite3::Version.runtime_version.should =~ /\d\.\d\.\d/
         | 
| 9 9 |  | 
| 10 | 
            -
                Amalgalite::SQLite3::Version.to_i.should eql( | 
| 11 | 
            -
                Amalgalite::SQLite3::Version.runtime_version_number.should eql( | 
| 10 | 
            +
                Amalgalite::SQLite3::Version.to_i.should eql(3007005)
         | 
| 11 | 
            +
                Amalgalite::SQLite3::Version.runtime_version_number.should eql(3007005)
         | 
| 12 12 |  | 
| 13 13 | 
             
                Amalgalite::SQLite3::Version::MAJOR.should eql(3)
         | 
| 14 14 | 
             
                Amalgalite::SQLite3::Version::MINOR.should eql(7)
         | 
| 15 | 
            -
                Amalgalite::SQLite3::Version::RELEASE.should eql( | 
| 15 | 
            +
                Amalgalite::SQLite3::Version::RELEASE.should eql(5)
         | 
| 16 16 | 
             
                Amalgalite::SQLite3::Version.to_a.should have(3).items
         | 
| 17 17 |  | 
| 18 | 
            -
                Amalgalite::SQLite3::Version.compiled_version.should == "3.7. | 
| 19 | 
            -
                Amalgalite::SQLite3::Version.compiled_version_number.should ==  | 
| 18 | 
            +
                Amalgalite::SQLite3::Version.compiled_version.should == "3.7.5"
         | 
| 19 | 
            +
                Amalgalite::SQLite3::Version.compiled_version_number.should == 3007005
         | 
| 20 20 | 
             
                Amalgalite::SQLite3::Version.compiled_matches_runtime?.should == true
         | 
| 21 21 | 
             
              end
         | 
| 22 22 | 
             
            end
         | 
    
        data/tasks/announce.rake
    CHANGED
    
    
    
        data/tasks/extension.rake
    CHANGED
    
    | @@ -172,6 +172,8 @@ if ext_config = Configuration.for_if_exist?('extension') then | |
| 172 172 |  | 
| 173 173 | 
             
                desc "Download and integrate the next version of sqlite (use VERSION=x.y.z)"
         | 
| 174 174 | 
             
                task :update_sqlite do
         | 
| 175 | 
            +
                  require 'uri'
         | 
| 176 | 
            +
                  require 'net/http'
         | 
| 175 177 | 
             
                  parts = ENV['VERSION'].split(".")
         | 
| 176 178 | 
             
                  next_version = [ parts.shift.to_s ]
         | 
| 177 179 | 
             
                  parts.each do |p|
         | 
| @@ -182,7 +184,7 @@ if ext_config = Configuration.for_if_exist?('extension') then | |
| 182 184 | 
             
                  next_version = next_version.join('')
         | 
| 183 185 |  | 
| 184 186 | 
             
                  raise "VERSION env variable must be set" unless next_version
         | 
| 185 | 
            -
                  url = URI.parse("http://sqlite.org/sqlite-amalgamation-#{next_version}.zip")
         | 
| 187 | 
            +
                  url = ::URI.parse("http://sqlite.org/sqlite-amalgamation-#{next_version}.zip")
         | 
| 186 188 | 
             
                  puts "downloading #{url.to_s} ..."
         | 
| 187 189 | 
             
                  file = "tmp/#{File.basename( url.path ) }"
         | 
| 188 190 | 
             
                  FileUtils.mkdir "tmp" unless File.directory?( "tmp" )
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: amalgalite
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 17
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 1
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 1. | 
| 8 | 
            +
              - 1
         | 
| 9 | 
            +
              - 1
         | 
| 10 | 
            +
              version: 1.1.1
         | 
| 11 11 | 
             
            platform: x86-mswin32
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Jeremy Hinegardner
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2011- | 
| 18 | 
            +
            date: 2011-03-27 00:00:00 -06:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -90,12 +90,12 @@ dependencies: | |
| 90 90 | 
             
                requirements: 
         | 
| 91 91 | 
             
                - - ~>
         | 
| 92 92 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 93 | 
            -
                    hash:  | 
| 93 | 
            +
                    hash: 25
         | 
| 94 94 | 
             
                    segments: 
         | 
| 95 95 | 
             
                    - 2
         | 
| 96 | 
            -
                    -  | 
| 97 | 
            -
                    -  | 
| 98 | 
            -
                    version: 2. | 
| 96 | 
            +
                    - 5
         | 
| 97 | 
            +
                    - 1
         | 
| 98 | 
            +
                    version: 2.5.1
         | 
| 99 99 | 
             
              type: :development
         | 
| 100 100 | 
             
              version_requirements: *id005
         | 
| 101 101 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -106,12 +106,12 @@ dependencies: | |
| 106 106 | 
             
                requirements: 
         | 
| 107 107 | 
             
                - - ~>
         | 
| 108 108 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 109 | 
            -
                    hash:  | 
| 109 | 
            +
                    hash: 15
         | 
| 110 110 | 
             
                    segments: 
         | 
| 111 111 | 
             
                    - 0
         | 
| 112 112 | 
             
                    - 7
         | 
| 113 | 
            -
                    -  | 
| 114 | 
            -
                    version: 0.7. | 
| 113 | 
            +
                    - 6
         | 
| 114 | 
            +
                    version: 0.7.6
         | 
| 115 115 | 
             
              type: :development
         | 
| 116 116 | 
             
              version_requirements: *id006
         | 
| 117 117 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -231,6 +231,8 @@ files: | |
| 231 231 | 
             
            - examples/define_aggregate.rb
         | 
| 232 232 | 
             
            - examples/define_function.rb
         | 
| 233 233 | 
             
            - examples/filestore.db
         | 
| 234 | 
            +
            - examples/fts3.db
         | 
| 235 | 
            +
            - examples/fts3.rb
         | 
| 234 236 | 
             
            - examples/gem-db.rb
         | 
| 235 237 | 
             
            - examples/gems.db
         | 
| 236 238 | 
             
            - examples/require_me.rb
         | 
| @@ -348,7 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 348 350 | 
             
            requirements: []
         | 
| 349 351 |  | 
| 350 352 | 
             
            rubyforge_project: copiousfreetime
         | 
| 351 | 
            -
            rubygems_version: 1. | 
| 353 | 
            +
            rubygems_version: 1.5.2
         | 
| 352 354 | 
             
            signing_key: 
         | 
| 353 355 | 
             
            specification_version: 3
         | 
| 354 356 | 
             
            summary: Amalgalite embeds the SQLite database engine in a ruby extension
         |