summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hipp2019-08-05 16:49:01 +0200
committerThomas Hipp2019-08-05 17:02:02 +0200
commitacb90faeaca7fdb36e96e22c889fb0fccd4dd099 (patch)
treeec9a452517b4baae835175ccda6ebbd819738f03
parent885b630a17d3355ebde9ce05344d84046f438238 (diff)
downloadaur-acb90faeaca7fdb36e96e22c889fb0fccd4dd099.tar.gz
Update to v3.28.0
Signed-off-by: Thomas Hipp <thomashipp@gmail.com>
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD14
-rw-r--r--replication.patch88
3 files changed, 63 insertions, 65 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 07faf6972790..ce5a98700309 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = sqlite-replication
pkgdesc = A C library that implements an SQL database engine
- pkgver = 3.26.0
+ pkgver = 3.28.0
pkgrel = 1
url = http://www.sqlite.org/
arch = x86_64
@@ -10,36 +10,36 @@ pkgbase = sqlite-replication
makedepends = zlib
options = !emptydirs
options = !makeflags
- source = https://www.sqlite.org/2018/sqlite-src-3260000.zip
- source = https://www.sqlite.org/2018/sqlite-doc-3260000.zip
+ source = https://www.sqlite.org/2019/sqlite-src-3280000.zip
+ source = https://www.sqlite.org/2019/sqlite-doc-3280000.zip
source = license.txt
source = replication.patch
- sha1sums = a05429d6a8337d60ddc7c6381b49941059a55f68
- sha1sums = 13c48e0396d15f3f4978214e144445031a23d509
+ sha1sums = 21c391f177ac39750e5a8ac61d07550bf6befb4a
+ sha1sums = f3242cf186a4e194e7d1a5e00384dd4aa66ec16b
sha1sums = f34f6daa4ab3073d74e774aad21d66878cf26853
- sha1sums = 163f9030b71267e08fdc63749de18b4e7d204ea5
+ sha1sums = ca5b4bb48976aefa198c4fcbab75313d3d4171f1
pkgname = sqlite-replication
pkgdesc = A C library that implements an SQL database engine
depends = readline
depends = zlib
- provides = sqlite=3.26.0
- provides = sqlite3=3.26.0
+ provides = sqlite=3.28.0
+ provides = sqlite3=3.28.0
conflicts = sqlite
replaces = sqlite3
pkgname = sqlite-replication-tcl
pkgdesc = sqlite Tcl Extension Architecture (TEA)
depends = sqlite
- provides = sqlite-tcl=3.26.0
- provides = sqlite3-tcl=3.26.0
+ provides = sqlite-tcl=3.28.0
+ provides = sqlite3-tcl=3.28.0
conflicts = sqlite-tcl
replaces = sqlite3-tcl
pkgname = sqlite-replication-doc
pkgdesc = most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation
- provides = sqlite-doc=3.26.0
- provides = sqlite3-doc=3.26.0
+ provides = sqlite-doc=3.28.0
+ provides = sqlite3-doc=3.28.0
conflicts = sqlite-doc
replaces = sqlite3-doc
@@ -47,6 +47,6 @@ pkgname = sqlite-replication-analyzer
pkgdesc = An analysis program for sqlite3 database files
depends = sqlite
depends = tcl
- provides = sqlite-analyzer=3.26.0
+ provides = sqlite-analyzer=3.28.0
conflicts = sqlite-analyzer
diff --git a/PKGBUILD b/PKGBUILD
index 34caf5c8f9b9..d529e986f713 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,25 +5,25 @@
pkgbase="sqlite-replication"
pkgname=('sqlite-replication' 'sqlite-replication-tcl' 'sqlite-replication-doc' 'sqlite-replication-analyzer')
-_srcver=3260000
+_srcver=3280000
_docver=${_srcver}
#_docver=3080001
-pkgver=3.26.0
+pkgver=3.28.0
pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('x86_64')
license=('custom:Public Domain')
url="http://www.sqlite.org/"
makedepends=('tcl' 'readline' 'zlib')
-source=(https://www.sqlite.org/2018/sqlite-src-${_srcver}.zip
- https://www.sqlite.org/2018/sqlite-doc-${_docver}.zip
+source=(https://www.sqlite.org/2019/sqlite-src-${_srcver}.zip
+ https://www.sqlite.org/2019/sqlite-doc-${_docver}.zip
license.txt
replication.patch)
options=('!emptydirs' '!makeflags') # json extensions breaks parallel build
-sha1sums=('a05429d6a8337d60ddc7c6381b49941059a55f68'
- '13c48e0396d15f3f4978214e144445031a23d509'
+sha1sums=('21c391f177ac39750e5a8ac61d07550bf6befb4a'
+ 'f3242cf186a4e194e7d1a5e00384dd4aa66ec16b'
'f34f6daa4ab3073d74e774aad21d66878cf26853'
- '163f9030b71267e08fdc63749de18b4e7d204ea5')
+ 'b864d996ff2c80d88cbb2b3910ff3a1e03ec9670')
prepare() {
cd sqlite-src-$_srcver
diff --git a/replication.patch b/replication.patch
index c6cf600b7d5a..32c8823c0414 100644
--- a/replication.patch
+++ b/replication.patch
@@ -1,9 +1,9 @@
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
-index 000000000..e12b2a30d
+index 000000000..0268ce93d
--- /dev/null
+++ b/.travis.yml
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,30 @@
+language: c
+compiler: gcc
+
@@ -12,9 +12,6 @@ index 000000000..e12b2a30d
+ - DEBUG="--enable-debug"
+
+script:
-+ - git rev-parse --git-dir >/dev/null
-+ - git log -1 --format=format:%ci%n | sed -e 's/ [-+].*$//;s/ /T/;s/^/D /' > manifest
-+ - echo $(git log -1 --format=format:%H) > manifest.uuid
+ - ./configure --enable-wal-replication ${DEBUG}
+ - make
+ - make testfixture
@@ -22,6 +19,7 @@ index 000000000..e12b2a30d
+ - make amalgamation-tarball
+ - tar cfz build-amd64.tar.gz --transform 's|.libs/||g' sqlite3.h .libs/libsqlite3.so*
+ - mkdir deploy
++ - git fetch origin refs/tags/version-$(cat VERSION):refs/tags/version-$(cat VERSION)
+ - git diff -r version-$(cat VERSION) > patch
+ - mv build-amd64.tar.gz deploy/sqlite-amd64${DEBUG}-$(cat VERSION).tar.gz
+ - \[ -n "$DEBUG" \] || mv sqlite-autoconf-*.tar.gz deploy/sqlite-src-$(cat VERSION).tar.gz
@@ -37,34 +35,34 @@ index 000000000..e12b2a30d
+ tags: true
+ all_branches: true
diff --git a/Makefile.in b/Makefile.in
-index d2f971005..b13180f08 100644
+index 8df09826f..1f3b8f04d 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -423,6 +423,7 @@ TESTSRC = \
- $(TOP)/src/test_tclvar.c \
+@@ -424,6 +424,7 @@ TESTSRC = \
$(TOP)/src/test_thread.c \
+ $(TOP)/src/test_vdbecov.c \
$(TOP)/src/test_vfs.c \
+ $(TOP)/src/test_walreplication.c \
$(TOP)/src/test_windirent.c \
$(TOP)/src/test_window.c \
$(TOP)/src/test_wsd.c \
diff --git a/Makefile.msc b/Makefile.msc
-index e3feffab3..b003e74fd 100644
+index 595763cdb..5e27f07cc 100644
--- a/Makefile.msc
+++ b/Makefile.msc
-@@ -1498,6 +1498,7 @@ TESTSRC = \
- $(TOP)\src\test_tclvar.c \
+@@ -1519,6 +1519,7 @@ TESTSRC = \
$(TOP)\src\test_thread.c \
+ $(TOP)\src\test_vdbecov.c \
$(TOP)\src\test_vfs.c \
+ $(TOP)/src/test_walreplication.c \
$(TOP)\src\test_windirent.c \
$(TOP)\src\test_window.c \
$(TOP)\src\test_wsd.c \
diff --git a/configure b/configure
-index 51653aa59..331f2e5f6 100755
+index b957c3c63..c2b2cea52 100755
--- a/configure
+++ b/configure
-@@ -914,6 +914,8 @@ enable_update_limit
+@@ -915,6 +915,8 @@ enable_update_limit
enable_geopoly
enable_rtree
enable_session
@@ -73,7 +71,7 @@ index 51653aa59..331f2e5f6 100755
enable_gcov
'
ac_precious_vars='build_alias
-@@ -1567,6 +1569,10 @@ Optional Features:
+@@ -1579,6 +1581,10 @@ Optional Features:
--enable-geopoly Enable the GEOPOLY extension
--enable-rtree Enable the RTREE extension
--enable-session Enable the SESSION extension
@@ -84,7 +82,7 @@ index 51653aa59..331f2e5f6 100755
--enable-gcov Enable coverage testing using gcov
Optional Packages:
-@@ -11649,6 +11655,32 @@ if test "${enable_session}" = "yes" ; then
+@@ -11661,6 +11667,32 @@ if test "${enable_session}" = "yes" ; then
OPT_FEATURE_FLAGS="${OPT_FEATURE_FLAGS} -DSQLITE_ENABLE_PREUPDATE_HOOK"
fi
@@ -147,12 +145,12 @@ index 9cf87adca..0d3642d2f 100644
# attempt to duplicate any OMITS and ENABLES into the ${OPT_FEATURE_FLAGS} parameter
for option in $CFLAGS $CPPFLAGS
diff --git a/main.mk b/main.mk
-index d18313bdc..31edeb666 100644
+index f418eec68..8e366fd1c 100644
--- a/main.mk
+++ b/main.mk
-@@ -349,6 +349,7 @@ TESTSRC = \
- $(TOP)/src/test_tclvar.c \
+@@ -350,6 +350,7 @@ TESTSRC = \
$(TOP)/src/test_thread.c \
+ $(TOP)/src/test_vdbecov.c \
$(TOP)/src/test_vfs.c \
+ $(TOP)/src/test_walreplication.c \
$(TOP)/src/test_windirent.c \
@@ -188,10 +186,10 @@ index 4200940b2..bf11c1d16 100644
|| checkReadTransaction(pDestDb, p->pDest)!=SQLITE_OK
){
diff --git a/src/main.c b/src/main.c
-index 46c83463c..296c93168 100644
+index 24f7f20f3..78dab125e 100644
--- a/src/main.c
+++ b/src/main.c
-@@ -2350,6 +2350,410 @@ int sqlite3Checkpoint(sqlite3 *db, int iDb, int eMode, int *pnLog, int *pnCkpt){
+@@ -2361,6 +2361,410 @@ int sqlite3Checkpoint(sqlite3 *db, int iDb, int eMode, int *pnLog, int *pnCkpt){
}
#endif /* SQLITE_OMIT_WAL */
@@ -603,7 +601,7 @@ index 46c83463c..296c93168 100644
** This function returns true if main-memory should be used instead of
** a temporary file for transient pager files and statement journals.
diff --git a/src/pager.c b/src/pager.c
-index e252a4b7a..f39b8db7e 100644
+index 24c7a2d56..4bbed3692 100644
--- a/src/pager.c
+++ b/src/pager.c
@@ -716,7 +716,12 @@ struct Pager {
@@ -620,10 +618,10 @@ index e252a4b7a..f39b8db7e 100644
};
/*
-@@ -2127,6 +2132,16 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){
- }
-
- if( pagerUseWal(pPager) ){
+@@ -2136,6 +2141,16 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){
+ */
+ rc2 = sqlite3WalEndWriteTransaction(pPager->pWal);
+ assert( rc2==SQLITE_OK );
+#if defined(SQLITE_ENABLE_WAL_REPLICATION) && !defined(SQLITE_OMIT_WAL)
+ if( pPager->pWalReplication ){
+ /* Fire the xEnd method of the configured replication interface. The
@@ -634,10 +632,10 @@ index e252a4b7a..f39b8db7e 100644
+ pPager->pWalReplication, pPager->pWalReplicationArg);
+ }
+#endif /* SQLITE_ENABLE_WAL_REPLICATION && !SQLITE_OMIT_WAL */
- /* Drop the WAL write-lock, if any. Also, if the connection was in
- ** locking_mode=exclusive mode but is no longer, drop the EXCLUSIVE
- ** lock held on the database file.
-@@ -3163,6 +3178,22 @@ static int pagerRollbackWal(Pager *pPager){
+ }else if( rc==SQLITE_OK && bCommit && pPager->dbFileSize>pPager->dbSize ){
+ /* This branch is taken when committing a transaction in rollback-journal
+ ** mode if the database file on disk is larger than the database image.
+@@ -3166,6 +3181,22 @@ static int pagerRollbackWal(Pager *pPager){
** + Reload page content from the database (if refcount>0).
*/
pPager->dbSize = pPager->dbOrigSize;
@@ -660,7 +658,7 @@ index e252a4b7a..f39b8db7e 100644
rc = sqlite3WalUndo(pPager->pWal, pagerUndoCallback, (void *)pPager);
pList = sqlite3PcacheDirtyList(pPager->pPCache);
while( pList && rc==SQLITE_OK ){
-@@ -3189,7 +3220,7 @@ static int pagerWalFrames(
+@@ -3192,7 +3223,7 @@ static int pagerWalFrames(
Pgno nTruncate, /* Database size after this commit */
int isCommit /* True if this is a commit */
){
@@ -669,7 +667,7 @@ index e252a4b7a..f39b8db7e 100644
int nList; /* Number of pages in pList */
PgHdr *p; /* For looping over pages */
-@@ -3223,9 +3254,52 @@ static int pagerWalFrames(
+@@ -3226,9 +3257,52 @@ static int pagerWalFrames(
pPager->aStat[PAGER_STAT_WRITE] += nList;
if( pList->pgno==1 ) pager_write_changecounter(pList);
@@ -725,7 +723,7 @@ index e252a4b7a..f39b8db7e 100644
if( rc==SQLITE_OK && pPager->pBackup ){
for(p=pList; p; p=p->pDirty){
sqlite3BackupUpdate(pPager->pBackup, p->pgno, (u8 *)p->pData);
-@@ -4172,8 +4246,13 @@ int sqlite3PagerClose(Pager *pPager, sqlite3 *db){
+@@ -4184,8 +4258,13 @@ int sqlite3PagerClose(Pager *pPager, sqlite3 *db){
}
sqlite3WalClose(pPager->pWal, db, pPager->walSyncFlags, pPager->pageSize,a);
pPager->pWal = 0;
@@ -740,7 +738,7 @@ index e252a4b7a..f39b8db7e 100644
pager_reset(pPager);
if( MEMDB ){
pager_unlock(pPager);
-@@ -4855,7 +4934,12 @@ int sqlite3PagerOpen(
+@@ -4867,7 +4946,12 @@ int sqlite3PagerOpen(
memcpy(pPager->zWal, zPathname, nPathname);
memcpy(&pPager->zWal[nPathname], "-wal\000", 4+1);
sqlite3FileSuffix3(pPager->zFilename, pPager->zWal);
@@ -754,7 +752,7 @@ index e252a4b7a..f39b8db7e 100644
sqlite3DbFree(0, zPathname);
}
pPager->pVfs = pVfs;
-@@ -5841,12 +5925,41 @@ int sqlite3PagerBegin(Pager *pPager, int exFlag, int subjInMemory){
+@@ -5853,12 +5937,41 @@ int sqlite3PagerBegin(Pager *pPager, int exFlag, int subjInMemory){
(void)sqlite3WalExclusiveMode(pPager->pWal, 1);
}
@@ -802,7 +800,7 @@ index e252a4b7a..f39b8db7e 100644
}else{
/* Obtain a RESERVED lock on the database file. If the exFlag parameter
** is true, then immediately upgrade this to an EXCLUSIVE lock. The
-@@ -7698,6 +7811,287 @@ void sqlite3PagerSnapshotUnlock(Pager *pPager){
+@@ -7714,6 +7827,287 @@ void sqlite3PagerSnapshotUnlock(Pager *pPager){
}
#endif /* SQLITE_ENABLE_SNAPSHOT */
@@ -1112,10 +1110,10 @@ index de96dc551..8386858dd 100644
u8 sqlite3PagerIsreadonly(Pager*);
u32 sqlite3PagerDataVersion(Pager*);
diff --git a/src/prepare.c b/src/prepare.c
-index 4d33f0b1e..a4e18b698 100644
+index 3f1a79b14..2c58c9342 100644
--- a/src/prepare.c
+++ b/src/prepare.c
-@@ -573,6 +573,24 @@ static int sqlite3Prepare(
+@@ -586,6 +586,24 @@ static int sqlite3Prepare(
Btree *pBt = db->aDb[i].pBt;
if( pBt ){
assert( sqlite3BtreeHoldsMutex(pBt) );
@@ -1141,10 +1139,10 @@ index 4d33f0b1e..a4e18b698 100644
if( rc ){
const char *zDb = db->aDb[i].zDbSName;
diff --git a/src/sqlite.h.in b/src/sqlite.h.in
-index 85ef3635a..97e0b6bd3 100644
+index cf390ac37..dbc9f2640 100644
--- a/src/sqlite.h.in
+++ b/src/sqlite.h.in
-@@ -504,6 +504,8 @@ int sqlite3_exec(
+@@ -507,6 +507,8 @@ int sqlite3_exec(
#define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8))
#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
@@ -1153,7 +1151,7 @@ index 85ef3635a..97e0b6bd3 100644
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
-@@ -9314,6 +9316,341 @@ int sqlite3_deserialize(
+@@ -9380,6 +9382,341 @@ int sqlite3_deserialize(
#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */
#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */
@@ -1513,20 +1511,20 @@ index 05002349b..aa1702801 100644
static const int cv_ ## x = SQLITE_ ## x; \
Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(cv_ ## x), \
diff --git a/src/test_tclsh.c b/src/test_tclsh.c
-index ff0ac5742..b155662a9 100644
+index 9988214b0..64ca50cd8 100644
--- a/src/test_tclsh.c
+++ b/src/test_tclsh.c
-@@ -106,6 +106,9 @@ const char *sqlite3TestInit(Tcl_Interp *interp){
- #endif
+@@ -107,6 +107,9 @@ const char *sqlite3TestInit(Tcl_Interp *interp){
extern int TestExpert_Init(Tcl_Interp*);
extern int Sqlitetest_window_Init(Tcl_Interp *);
+ extern int Sqlitetestvdbecov_Init(Tcl_Interp *);
+#if defined(SQLITE_ENABLE_WAL_REPLICATION) && !defined(SQLITE_OMIT_WAL)
+ extern int Sqlitetestwalreplication_Init(Tcl_Interp*);
+#endif /* SQLITE_ENABLE_WAL_REPLICATION */
Tcl_CmdInfo cmdInfo;
-@@ -169,6 +172,11 @@ const char *sqlite3TestInit(Tcl_Interp *interp){
+@@ -170,6 +173,11 @@ const char *sqlite3TestInit(Tcl_Interp *interp){
#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
Sqlitetestfts3_Init(interp);
#endif
@@ -1537,7 +1535,7 @@ index ff0ac5742..b155662a9 100644
+
TestExpert_Init(interp);
Sqlitetest_window_Init(interp);
-
+ Sqlitetestvdbecov_Init(interp);
diff --git a/src/test_walreplication.c b/src/test_walreplication.c
new file mode 100644
index 000000000..bcf854c84