73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
-
+
-
+
|
#f))))
;; return the handle struct for sending queries to a specific database
;; - initializes the connection object if this is the first access
;; - finds the "captain" and asks who to talk to for the given dbfname
;; - establishes the connection to the current dbowner
;;
(define (rmt:connect alldat dbfname)
(define (rmt:connect alldat dbfname dbtype)
(let* ((ulexdat (or (alldat-ulexdat alldat)
(rmt:setup-ulex alldat))))
(ulex:connect ulexdat dbfname)))
(ulex:connect ulexdat dbfname dbtype)))
;; setup the remote calls
(define (rmt:setup-ulex alldat)
(let* ((new-ulexdat (ulex:setup))) ;; establish connection to ulex
(alldat-ulexdat-set! alldat new-ulexdat)
(let ((udata (alldat-ulexdat alldat)))
;; register all needed procs
|