Coverage report: /development/source/library/org/datagraph/spocq-shard/src/odbc/sql/sql-truncate-exp.lisp

KindCoveredAll%
expression1327 48.1
branch02 0.0
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;;
2
 ;;; http://osdir.com/ml/lisp.clsql.general/2008-09/msg00003.html
3
 
4
 ;;; (load "patches/sql-truncate-exp.lisp")
5
 (in-package :clsql-sys)
6
 
7
 (eval-when (:compile-toplevel :load-toplevel :execute)
8
   (export '(sql-truncate truncate-table)
9
           :clsql-sys)
10
   (import '(sql-truncate truncate-table)
11
           :clsql)
12
   (export '(sql-truncate truncate-table)
13
           :clsql))
14
 
15
 (defclass sql-truncate-exp (sql-ident)
16
   ((name :initarg :name)))
17
 
18
 (defmethod make-load-form ((sql sql-truncate-exp) &optional environment)
19
   (declare (ignore environment))
20
   (with-slots (name) sql
21
     `(make-instance 'sql-truncate-exp :name ,name)))
22
 
23
 (defmethod output-sql ((expr sql-truncate-exp) database)
24
   (declare (ignore database))
25
   (with-slots (name) expr
26
     (format *sql-stream* "TRUNCATE  \"~a\"" name)))
27
 
28
 
29
 (defsql sql-truncate (:symbol "truncate") (&rest rest)
30
   (if (= (length rest) 1)
31
       (make-instance 'sql-truncate-exp
32
         :name (first rest))
33
       (error 'sql-user-error "TRBUNCATE must have one argument")))
34
 
35
 
36
 
37
 (defun truncate-table (name &key (database *default-database*))
38
   (let ((stmt (make-instance 'sql-truncate-exp :name name)))
39
     (execute-command stmt :database database)))