Fixed bug reported by JTK related to the not-null sql-expression
[clsql.git] / sql / operations.lisp
index 7b558809a2503a2c65d4b459ece9a80a7b4ce575..37d751e0f90abc09189de627df483e1aab454119 100644 (file)
   (make-instance 'sql-query-modifier-exp
                  :modifier 'having :components rest))
 
-(defsql sql-null (:symbol "null") (&rest rest)
-  (if rest
+(defsql sql-null (:symbol "null") (&optional not-null-thing)
+  (if not-null-thing
       (make-instance 'sql-relational-exp :operator 'is
-                     :sub-expressions (list (car rest) nil))
+                     :sub-expressions (list not-null-thing nil))
       (make-instance 'sql-value-exp :components 'null)))
 
-(defsql sql-not-null (:symbol "not-null") ()
-  (make-instance 'sql-value-exp
-                 :components '|NOT NULL|))
+(defsql sql-not-null (:symbol "not-null") (&optional not-null-thing)
+  (if not-null-thing
+      (make-instance
+       'sql-relational-exp
+       :operator 'IS
+       :sub-expressions (list not-null-thing
+                              (sql-expression :string "NOT NULL")))
+      (sql-expression :string "NOT NULL")))
 
 (defsql sql-exists (:symbol "exists") (&rest rest)
   (make-instance 'sql-function-exp