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

</pre>
<p><a href="https://github.com/macports/macports-base/commit/016114de01f459746aeebaf8a0c0d44983ba4cfa">https://github.com/macports/macports-base/commit/016114de01f459746aeebaf8a0c0d44983ba4cfa</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 016114de0 Use trace to init tdbc connection on demand
</span>016114de0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 016114de01f459746aeebaf8a0c0d44983ba4cfa
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Feb 12 22:50:24 2025 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Use trace to init tdbc connection on demand
</span>---
 src/macports1.0/snapshot.tcl      | 13 -------------
 src/registry2.0/portimage.tcl     |  3 ---
 src/registry2.0/registry_util.tcl |  8 ++++----
 3 files changed, 4 insertions(+), 20 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/snapshot.tcl b/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 87b5ed847..c10e0096c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/snapshot.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -354,10 +354,6 @@ namespace eval snapshot {
</span>         }
 
         global registry::tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            registry::tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>         variable import_snapshot_stmt
         variable import_port_stmt
         variable import_file_stmt
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -488,9 +484,6 @@ namespace eval snapshot {
</span>     # confusion with the proc in portutil.
     proc delete_snapshot {opts} {
         global registry::tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            registry::tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span>         set snapshot_id [dict get $opts ports_snapshot_delete]
         if {[catch {registry::snapshot get_by_id $snapshot_id}]} {
             ui_error "No such snapshot ID: $snapshot_id"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -515,9 +508,6 @@ namespace eval snapshot {
</span>     # Get the port name that owns the given file path in the given snapshot.
     proc file_owner {path snapshot_id} {
         global registry::tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            registry::tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span>         variable file_owner_stmt
         if {![info exists file_owner_stmt]} {
             set query {SELECT snapshot_ports.port_name FROM snapshot_ports
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -535,9 +525,6 @@ namespace eval snapshot {
</span> 
     proc port_files {snapshot_id port_name} {
         global registry::tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            registry::tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span>         variable port_files_stmt
         if {![info exists port_files_stmt]} {
             set port_files_stmt [$tdbc_connection prepare {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/portimage.tcl b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index dee278830..8c415ae85 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/portimage.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -636,9 +636,6 @@ proc _progress {args} {
</span> 
 proc _get_port_conflicts {port} {
     global registry::tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        registry::tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     variable conflicts_stmt
     if {![info exists conflicts_stmt]} {
         set query {SELECT files.id, files.path, files.actual_path FROM
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/registry2.0/registry_util.tcl b/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f2f01a8c0..65c6bb9f9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/registry2.0/registry_util.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,6 +38,8 @@ package require tdbc::sqlite3
</span> namespace eval registry {
 
 variable UI_PREFIX {---> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variable tdbc_connection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+trace add variable tdbc_connection read registry::tdbc_connect
</span> 
 ## Decodes a version specifier into its component values. Values will be
 ## returned into the variables named by `version`, `revision`, and `variants`,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -173,10 +175,11 @@ proc run_target {port target options} {
</span> }
 
 ## Create and configure a tdbc connection to the registry
<span style='display:block; white-space:pre;background:#ffe0e0;'>-proc tdbc_connect {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc tdbc_connect {args} {
</span>     variable tdbc_connection
     set reg_path [::file join ${macports::registry.path} registry registry.db]
     set tdbc_connection [tdbc::sqlite3::connection new $reg_path]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    trace remove variable tdbc_connection read registry::tdbc_connect
</span>     set stmt [$tdbc_connection prepare {PRAGMA foreign_keys = ON}]
     $stmt execute
     $stmt close
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -186,9 +189,6 @@ proc tdbc_connect {} {
</span> ## @return   true if successful, false otherwise
 proc delete_dependencies {entry deplist} {
     variable tdbc_connection
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![info exists tdbc_connection]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        tdbc_connect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     set stmt [$tdbc_connection prepare {DELETE FROM dependencies WHERE id = :id AND name = :name}]
     set id [$entry id]
     $tdbc_connection transaction {
</pre><pre style='margin:0'>

</pre>