405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
|
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
|
-
-
+
+
|
(vector #t '())) ;; should always get a vector but if something goes wrong return a dummy
(if (and (vector? v)
(> (vector-length v) 1))
(let ((newvec (vector (vector-ref v 0)(vector-ref v 1))))
newvec) ;; by copying the vector while inside the error handler we should force the detection of a corrupted record
(vector #t '())))) ;; we could also check that the returned types are valid
(vector #t '())))
(success (common:safe-vector-ref resdat 0 #f)) ;; (vector-ref resdat 0))
(res (common:safe-vector-ref resdat 1 #f)) ;; (vector-ref resdat 1))
(success (vector-ref resdat 0))
(res (vector-ref resdat 1))
(duration (- (current-milliseconds) start)))
(if (and read-only qry-is-write)
(debug:print 0 *default-log-port* "ERROR: attempt to write to read-only database ignored. cmd=" cmd))
(if (not success)
(if (> remretries 0)
(begin
(debug:print-error 0 *default-log-port* "local query failed. Trying again.")
|