(clsql:sql ["SELECT FOO,BAR FROM BAZ"])
"SELECT FOO,BAR FROM BAZ")
+(deftest :syntax/generic/6
+ (clsql:sql "What's up Doc?")
+ "'What''s up Doc?'")
(deftest :syntax/ident/1
(clsql:sql [foo])
"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
(deftest :syntax/substr/1
(clsql:sql [substr [hello] 1 4])
+ "SUBSTR(HELLO,1,4)")
+
+(deftest :syntax/substring/1
+ (clsql:sql [substring [hello] 1 4])
"SUBSTRING(HELLO,1,4)")
(deftest :syntax/concat/1
- (clsql:sql [\|\| [foo] [bar] [baz]])
+ (clsql:sql [|| [foo] [bar] [baz]])
"(FOO || BAR || BAZ)")
+(deftest :syntax/concat/2
+ (clsql:sql [concat [foo] [bar]])
+ "CONCAT(FOO,BAR)")
+
(deftest :syntax/pattern/1
(clsql:sql [like [foo] "%v"])
"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/nvl/1
+ (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 MINUS SELECT BAZ FROM BAR")
+
(deftest :syntax/function/1
(clsql:sql [function "COS" [age]])