Date: Wednesday, June 3, 2015 @ 10:02:48 Author: fyan Revision: 240281
upgpkg: subversion 1.8.13-2 perl 5.22 rebuild Added: subversion/trunk/wc-queries-test1-r1672295.patch subversion/trunk/wc-queries-test2-r1673691.patch Modified: subversion/trunk/PKGBUILD ---------------------------------+ PKGBUILD | 12 ++++++-- wc-queries-test1-r1672295.patch | 51 ++++++++++++++++++++++++++++++++++ wc-queries-test2-r1673691.patch | 56 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-06-03 06:24:03 UTC (rev 240280) +++ PKGBUILD 2015-06-03 08:02:48 UTC (rev 240281) @@ -7,7 +7,7 @@ pkgname=subversion pkgver=1.8.13 -pkgrel=1 +pkgrel=2 pkgdesc="A Modern Concurrent Version Control System" arch=('i686' 'x86_64') url="http://subversion.apache.org/" @@ -31,7 +31,9 @@ svnserve.tmpfiles svnserve.service subversion.rpath.fix.patch - fix_ruby22_tests.patch) + fix_ruby22_tests.patch + wc-queries-test1-r1672295.patch + wc-queries-test2-r1673691.patch) md5sums=('4413417b529d7bdf82f74e50df02e88b' 'SKIP' 'a0db6dd43af33952739b6ec089852630' @@ -39,7 +41,9 @@ 'bb2857eceafcfac35dde39dcffad2314' '733011145b8a8e74baf4c9fc9197b3e8' '6b4340ba9d8845cd8497e013ae01be3f' - 'e5a59f43af24c103477e09bc1120831d') + 'e5a59f43af24c103477e09bc1120831d' + 'b665db41811ba6fe30542c8cacfddb47' + '39d1956fb53289c60edef88453204e7c') validpgpkeys=('19BBCAEF7B19B280A0E2175E62D48FAD16A0DE01' '8BC4DAE0C5A4D65F404401074F7DBAA99A59B973') # Ben Reser / Stefan Sperling @@ -47,6 +51,8 @@ cd ${pkgname}-${pkgver} patch -Np0 -i ../subversion.rpath.fix.patch patch -p1 -i ../fix_ruby22_tests.patch + patch -p1 -i ../wc-queries-test1-r1672295.patch + patch -p1 -i ../wc-queries-test2-r1673691.patch sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py } Added: wc-queries-test1-r1672295.patch =================================================================== --- wc-queries-test1-r1672295.patch (rev 0) +++ wc-queries-test1-r1672295.patch 2015-06-03 08:02:48 UTC (rev 240281) @@ -0,0 +1,51 @@ +------------------------------------------------------------------------ +r1672295 | rhuijben | 2015-04-09 07:31:12 -0400 (Thu, 09 Apr 2015) | 15 lines + +Optimize STMT_SELECT_EXTERNALS_DEFINED when using Sqlite 3.8.9, by +adding two more rows to the sqlite_stat1 table. + +This fixes a test failure in wc-queries-test.c, but actual users most +likely don't notice a difference as a tablescan on an EXTERNALS tables +index is not that expensive, given that most working copies don't have +many externals. + +* subversion/libsvn_wc/wc-metadata.sql + (STMT_INSTALL_SCHEMA_STATISTICS): Add two rows. + +* subversion/tests/libsvn_wc/wc-queries-test.c + (test_schema_statistics): Add a dummy externals row to allow + verifying schema. + + +--- a/subversion/tests/libsvn_wc/wc-queries-test.c ++++ b/subversion/tests/libsvn_wc/wc-queries-test.c +@@ -824,6 +824,15 @@ + "VALUES (1, '', '')", + NULL, NULL, NULL)); + ++ SQLITE_ERR( ++ sqlite3_exec(sdb, ++ "INSERT INTO EXTERNALS (wc_id, local_relpath," ++ " parent_relpath, repos_id," ++ " presence, kind, def_local_relpath," ++ " def_repos_relpath) " ++ "VALUES (1, 'subdir', '', 1, 'normal', 'dir', '', '')", ++ NULL, NULL, NULL)); ++ + /* These are currently not necessary for query optimization, but it's better + to tell Sqlite how we intend to use this table anyway */ + SQLITE_ERR( +--- a/subversion/libsvn_wc/wc-metadata.sql ++++ b/subversion/libsvn_wc/wc-metadata.sql +@@ -619,6 +619,11 @@ + INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); + ++INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++ ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); ++INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++ ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); ++ + /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is + a INTEGER PRIMARY KEY AUTOINCREMENT table */ + Added: wc-queries-test2-r1673691.patch =================================================================== --- wc-queries-test2-r1673691.patch (rev 0) +++ wc-queries-test2-r1673691.patch 2015-06-03 08:02:48 UTC (rev 240281) @@ -0,0 +1,56 @@ +------------------------------------------------------------------------ +r1673691 | rhuijben | 2015-04-15 05:30:04 -0400 (Wed, 15 Apr 2015) | 5 lines + +* subversion/libsvn_wc/wc-metadata.sql + (STMT_INSTALL_SCHEMA_STATISTICS): Delete existing sqlite_stat1 rows for + the externals table before installing new rows to avoid duplicate entries. + Remove unneeded 'OR REPLACE' from all inserts. + + +Index: trunk/subversion/libsvn_wc/wc-metadata.sql +=================================================================== +--- trunk/subversion/libsvn_wc/wc-metadata.sql (revision 1673690) ++++ trunk/subversion/libsvn_wc/wc-metadata.sql (revision 1673691) +@@ -598,30 +598,30 @@ + ANALYZE sqlite_master; /* Creates empty sqlite_stat1 if necessary */ + + DELETE FROM sqlite_stat1 +-WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK'); ++WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS'); + +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); + /* Tell a lie: We ignore that 99.9% of all moved_to values are NULL */ +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); + +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); + +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); + +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); + +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); +-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES ++INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES + ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); + + /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is + +------------------------------------------------------------------------