r9450: 22 May 2004 Kevin Rosenberg
[clsql.git] / tests / test-syntax.lisp
index cd8d2ba1e4d08604800fe5c20d745b4f1620e472..8591817cf58cf58d68c53d50942fc3b26f8ed34c 100644 (file)
   "FOO.BAR")
 
 (deftest :syntax/ident/3
-    (clsql:sql ["foo" bar])
-  "FOO.BAR")
-
-;(deftest :syntax/ident/4
-;    (clsql:sql [foo "bar"])
-;  "FOO \"bar\"")
-
-(deftest :syntax/ident/5
     (clsql:sql [foo :integer])
   "FOO")
 
-(deftest :syntax/ident/6
+(deftest :syntax/ident/4
     (clsql:sql [foo bar :integer])
   "FOO.BAR")
 
+(deftest :syntax/ident/5
+    (clsql:sql [foo "bar"])
+  "FOO \"bar\"")
+
+(deftest :syntax/ident/6
+    (clsql:sql ["foo" bar])
+ "\"foo\".BAR")
+
 (deftest :syntax/ident/7
     (clsql:sql ["foo" bar :integer])
-  "FOO.BAR")
+ "\"foo\".BAR")
+
 
 
 (deftest :syntax/subquery/1
     (clsql:sql [any '(3 4)])
 "(ANY ((3,4)))")
"ANY((3,4))")
 
 (deftest :syntax/subquery/2
     (clsql:sql [in [foo] '(foo bar baz)])
 
 (deftest :syntax/subquery/3
     (clsql:sql [all '(foo bar baz)])
-  "(ALL ((FOO,BAR,BAZ)))")
+  "ALL((FOO,BAR,BAZ))")
 
 (deftest :syntax/subquery/4
     (clsql:sql [exists '(foo bar baz)])
-  "(EXISTS ((FOO,BAR,BAZ)))")
+  "EXISTS((FOO,BAR,BAZ))")
 
 (deftest :syntax/subquery/5
     (clsql:sql [some '(foo bar baz)])
-  "(SOME ((FOO,BAR,BAZ)))")
+  "SOME((FOO,BAR,BAZ))")
 
 
 (deftest :syntax/aggregate/1 
  "GROUP BY FOO")
 
 
+(deftest :syntax/coalesce/1 
+    (clsql:sql [coalesce [foo] [bar] "not specified"])
+ "COALESCE(FOO,BAR,'not specified')")
+
+(deftest :syntax/coalesce/2
+    (clsql:sql [nvl [foo] "not specified"])
+ "COALESCE(FOO,'not specified')")
+
+
 (deftest :syntax/sets/1 
     (clsql:sql [union [select [foo] :from [bar]] [select [baz] :from [bar]]])
  "SELECT FOO FROM BAR UNION SELECT BAZ FROM BAR")
     (clsql:sql [except [select [foo] :from [bar]] [select [baz] :from [bar]]])
  "SELECT FOO FROM BAR EXCEPT SELECT BAZ FROM BAR")
 
+(deftest :syntax/sets/4
+    (clsql:sql [minus [select [foo] :from [bar]] [select [baz] :from [bar]]])
+ "SELECT FOO FROM BAR EXCEPT SELECT BAZ FROM BAR")
+
 
 (deftest :syntax/function/1
     (clsql:sql [function "COS" [age]])