amalgalite 1.0.0-x86-mingw32 → 1.1.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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-mingw32
|
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
|