(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)