about summary refs log tree commit diff
path: root/dump/sql.scm
diff options
context:
space:
mode:
authorMunyoki Kilyungi2023-05-15 15:21:34 +0300
committerBonfaceKilz2023-05-26 08:40:22 +0300
commit79975a5dc78daa03b43d37b3fe636265c148abc0 (patch)
tree01ac595bfc69e5b6473be944a57642acdcee36e4 /dump/sql.scm
parent7b9cd459c90db9337b4e64f0b99dbf8a4c3431bf (diff)
downloadgn-transform-databases-79975a5dc78daa03b43d37b3fe636265c148abc0.tar.gz
Re-organize dumping macros and associated functions
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Diffstat (limited to 'dump/sql.scm')
-rw-r--r--dump/sql.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/dump/sql.scm b/dump/sql.scm
index 76c9e0e..9e6b21a 100644
--- a/dump/sql.scm
+++ b/dump/sql.scm
@@ -10,6 +10,7 @@
   #:use-module (dbi dbi)
   #:export (select-query
             call-with-database
+            call-with-target-database
             sql-exec
             sql-fold
             sql-map
@@ -99,3 +100,15 @@
 (define (sql-find db statement)
   (sql-exec db statement)
   (dbi-get_row db))
+
+(define (call-with-target-database connection-settings proc)
+  (call-with-database "mysql" (string-join
+                               (list (assq-ref connection-settings 'sql-username)
+                                     (assq-ref connection-settings 'sql-password)
+                                     (assq-ref connection-settings 'sql-database)
+                                     "tcp"
+                                     (assq-ref connection-settings 'sql-host)
+                                     (number->string
+                                      (assq-ref connection-settings 'sql-port)))
+                               ":")
+                      proc))