added reset-command-object to allow using the same command against multiple connections
[clsql.git] / sql / command-object.lisp
index 47dad33e28e651007533f0c516d84ab2d10444ae..1a9cc3e6edd159d2cdfe82957a053ff6a12c4121 100644 (file)
                      :documentation "Have we already prepared this command object")
    ))
 
-(export '(expression parameters prepared-name has-been-prepared command-object))
+(defun reset-command-object (co)
+  "Resets the command object to have no name and to be unprepared
+     (This is useful if you want to run a command against a second database)"
+  (setf (prepared-name co) ""
+       (has-been-prepared co) nil))
+
+(defun command-object (expression &optional parameters (prepared-name ""))
+  (make-instance 'command-object
+                :expression expression
+                :parameters parameters
+                :prepared-name prepared-name))
+
+(export '(expression parameters prepared-name has-been-prepared command-object reset-command-object))