-(defun record-sql-command (expr database)
- (if database
- (with-slots (command-recording-stream)
- database
- (if command-recording-stream
- (format command-recording-stream "~&;; ~A ~A => ~A~%"
- (iso-timestring (get-time))
- (database-name database)
- expr)))))
-
-(defun record-sql-result (res database)
- (if database
- (with-slots (result-recording-stream)
- database
- (if result-recording-stream
- (format result-recording-stream "~&;; ~A ~A <= ~A~%"
- (iso-timestring (get-time))
- (database-name database)
- res)))))
-
-
-
+(defun record-sql-action (expr type database)
+ (unless database
+ (return-from record-sql-action))
+ (with-slots (command-recording-stream
+ query-recording-stream
+ result-recording-stream)
+ database
+ (let ((stream
+ (ecase type
+ (:command command-recording-stream)
+ (:query query-recording-stream)
+ (:result result-recording-stream))))
+ (when stream
+ (format stream ";; ~A ~A => ~A~%"
+ (iso-timestring (get-time))
+ (database-name database)
+ expr)))))