<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch release-2.8
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/ef1a8dfb2eb412194603b5267a1511dd06d19d01">https://github.com/macports/macports-base/commit/ef1a8dfb2eb412194603b5267a1511dd06d19d01</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ef1a8dfb2eb412194603b5267a1511dd06d19d01
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Oct 10 12:18:49 2022 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Bump registry version to enable WAL everywhere
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    (cherry picked from commit 614bf73158bdd1472495dd202bbd556158ee8dd6)
</span>---
 src/cregistry/sql.c | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/cregistry/sql.c b/src/cregistry/sql.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 36e9b911d..75851566b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/cregistry/sql.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/cregistry/sql.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,7 +141,7 @@ int create_tables(sqlite3* db, reg_error* errPtr) {
</span> 
         /* metadata table */
         "CREATE TABLE registry.metadata (key UNIQUE, value)",
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        "INSERT INTO registry.metadata (key, value) VALUES ('version', '1.210')",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "INSERT INTO registry.metadata (key, value) VALUES ('version', '1.211')",
</span>         "INSERT INTO registry.metadata (key, value) VALUES ('created', strftime('%s', 'now'))",
 
         /* ports table */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -838,6 +838,27 @@ int update_db(sqlite3* db, reg_error* errPtr) {
</span>             continue;
         }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (sql_version(NULL, -1, version, -1, "1.211") < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            /* enable WAL for systems that previously used an older system sqlite */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            static char* version_1_211_queries[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                "UPDATE registry.metadata SET value = '1.211' WHERE key = 'version'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                "COMMIT",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                "PRAGMA journal_mode=WAL",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                NULL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            sqlite3_finalize(stmt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            stmt = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (!do_queries(db, version_1_211_queries, errPtr)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rollback_db(db);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            did_update = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
         /* add new versions here, but remember to:
          *  - finalize the version query statement and set stmt to NULL
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -848,7 +869,7 @@ int update_db(sqlite3* db, reg_error* errPtr) {
</span>          *  - update the current version number below
          */
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if (sql_version(NULL, -1, version, -1, "1.210") > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (sql_version(NULL, -1, version, -1, "1.211") > 0) {
</span>             /* the registry was already upgraded to a newer version and cannot be used anymore */
             reg_throw(errPtr, REG_INVALID, "Version number in metadata table is newer than expected.");
             sqlite3_finalize(stmt);
</pre><pre style='margin:0'>

</pre>