Experimental changes toward making snapshots serializable.
FossilOrigin-Name: b6a81fa1fc1fb78a65894129851a4ec3986640de
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Change\sthe\sOP_Last\sopcode\sso\sthat\sit\sis\sa\sno-op\sif\sthe\scursor\sis\salready\npointing\sat\sthe\send\sof\sthe\sb-tree.
|
||||
D 2016-11-15T04:00:24.244
|
||||
C Experimental\schanges\stoward\smaking\ssnapshots\sserializable.
|
||||
D 2016-11-15T17:37:56.374
|
||||
F Makefile.in 6b572807415d3f0a379cebc9461416d8df4a12c8
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc bb4d970894abbbe0e88d00aac29bd52af8bc95f4
|
||||
@@ -389,7 +389,7 @@ F src/resolve.c bb070cf5f23611c44ab7e4788803684e385fc3fb
|
||||
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
|
||||
F src/select.c 672b1af237ad257149fc5189f3277dcbca036eeb
|
||||
F src/shell.c f04e4af75c5517735397d060ed0b4a874104bb41
|
||||
F src/sqlite.h.in 803f7050f69b2eea573fac219f3c92582c096027
|
||||
F src/sqlite.h.in dfe8c1b4ac66635495ec9a6a7205fcb0f27f4451
|
||||
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
||||
F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae
|
||||
F src/sqliteInt.h c471d791b10c0f2164c8b7a87adc338e703c09cc
|
||||
@@ -465,7 +465,7 @@ F src/vdbesort.c 91fda3909326860382b0ca8aa251e609c6a9d62c
|
||||
F src/vdbetrace.c 41963d5376f0349842b5fc4aaaaacd7d9cdc0834
|
||||
F src/vtab.c e02cacb5c7ae742631edeb9ae9f53d399f093fd8
|
||||
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
|
||||
F src/wal.c 7e8557314bcf867ffe3fff1d8ef2d207ace8e065
|
||||
F src/wal.c 88f8d8adcaecf6a225ae5098062fd151634fb672
|
||||
F src/wal.h bf03a23da3100ab25e5c0363450233cfee09cfc2
|
||||
F src/walker.c 91a6df7435827e41cff6bb7df50ea00934ee78b0
|
||||
F src/where.c 952f76e7a03727480b274b66ca6641b1657cd591
|
||||
@@ -1534,7 +1534,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 5ed0bd387699a0f3b477d4f3cfcb460a6a44cb84
|
||||
R 666875522a5a69f5f9bb179805474981
|
||||
P 663473850c4274270445b3771911fa773a8c405f
|
||||
R 1784ed6bcadef61e22ad39533122ebea
|
||||
T *branch * serializable-snapshot
|
||||
T *sym-serializable-snapshot *
|
||||
T -sym-trunk *
|
||||
U drh
|
||||
Z 3c6d6cf804e5301c81a1f9af34f5b4ed
|
||||
Z 8a16f1f47c269929c7f968ee35b8cb55
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
663473850c4274270445b3771911fa773a8c405f
|
||||
b6a81fa1fc1fb78a65894129851a4ec3986640de
|
||||
+3
-1
@@ -8283,7 +8283,9 @@ int sqlite3_system_errno(sqlite3*);
|
||||
** to an historical snapshot (if possible). The destructor for
|
||||
** sqlite3_snapshot objects is [sqlite3_snapshot_free()].
|
||||
*/
|
||||
typedef struct sqlite3_snapshot sqlite3_snapshot;
|
||||
typedef struct sqlite3_snapshot {
|
||||
unsigned char hidden[48];
|
||||
} sqlite3_snapshot;
|
||||
|
||||
/*
|
||||
** CAPI3REF: Record A Database Snapshot
|
||||
|
||||
@@ -3393,9 +3393,14 @@ int sqlite3WalHeapMemory(Wal *pWal){
|
||||
int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapshot){
|
||||
int rc = SQLITE_OK;
|
||||
WalIndexHdr *pRet;
|
||||
static const u32 aZero[4] = { 0, 0, 0, 0 };
|
||||
|
||||
assert( pWal->readLock>=0 && pWal->writeLock==0 );
|
||||
|
||||
if( memcmp(&pWal->hdr.aFrameCksum[0],aZero,16)==0 ){
|
||||
*ppSnapshot = 0;
|
||||
return SQLITE_ERROR;
|
||||
}
|
||||
pRet = (WalIndexHdr*)sqlite3_malloc(sizeof(WalIndexHdr));
|
||||
if( pRet==0 ){
|
||||
rc = SQLITE_NOMEM_BKPT;
|
||||
|
||||
Reference in New Issue
Block a user