You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
913 B
Scheme

(load-relative "../ssql-postgresql")
(use ssql)
(import ssql-postgresql)
(use test postgresql foops)
(define *test-postgresql-translator*
(derive-object (*postgresql-translator* self super)
((escape-string string)
(super (ssql-connection) string))))
(register-sql-engine! (lambda (x) (eq? x #t)) *test-postgresql-translator*)
(test-group "selects"
(test "Simple query"
"SELECT actors.firstname, actors.lastname FROM actors"
(ssql->sql #t `(select (columns actors.firstname actors.lastname)
(from actors)))))
(test-group "dialect"
(test "LIMIT and OFFSET"
"SELECT * FROM integers LIMIT 10 OFFSET 10"
(ssql->sql #t `(select (columns *) (from integers) (limit 10) (offset 100))))
(test "random()"
"SELECT * FROM widgets ORDER BY RANDOM()"
(ssql->sql #t `(select (columns *) (from widgets) (order (random))))))
(test-exit)