ssql: move ssql-pgsql into a separate egg to remove the postgresql dependency and rename it to ssql-postgresql in the course to match with awful-postgresql and autoform-postgresql
git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/ssql-postgresql/trunk@22911 fca3e652-9b03-0410-8d7b-ac86a6ce46c4master
commit
db592bcf2d
@ -0,0 +1,5 @@
|
|||||||
|
((synopsis "SSQL translator for PostgreSQL")
|
||||||
|
(category databases)
|
||||||
|
(needs ssql postgresql)
|
||||||
|
(license "BSD")
|
||||||
|
(authors "Peter Bex, Moritz Heidkamp"))
|
@ -0,0 +1,24 @@
|
|||||||
|
(module ssql-postgresql
|
||||||
|
|
||||||
|
(*postgresql-translator*)
|
||||||
|
|
||||||
|
(import chicken scheme)
|
||||||
|
(use ssql postgresql foops)
|
||||||
|
|
||||||
|
(define *postgresql-translator*
|
||||||
|
(let ((type->sql-converters
|
||||||
|
`((,boolean? . boolean->sql)
|
||||||
|
,@(*ansi-translator* 'type->sql-converters))))
|
||||||
|
|
||||||
|
(derive-object (*ansi-translator*)
|
||||||
|
((escape-string string)
|
||||||
|
(escape-string (ssql-connection) string))
|
||||||
|
|
||||||
|
((boolean->sql boolean)
|
||||||
|
(if boolean "'t'" "'f'"))
|
||||||
|
|
||||||
|
((type->sql-converters) type->sql-converters))))
|
||||||
|
|
||||||
|
(register-sql-engine! connection? *postgresql-translator*)
|
||||||
|
|
||||||
|
)
|
@ -0,0 +1 @@
|
|||||||
|
(standard-extension 'ssql-postgresql #f)
|
@ -0,0 +1,20 @@
|
|||||||
|
(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-begin "selects")
|
||||||
|
(test "Simple query"
|
||||||
|
"SELECT actors.firstname, actors.lastname FROM actors"
|
||||||
|
(ssql->sql #t `(select (columns actors.firstname actors.lastname)
|
||||||
|
(from actors))))
|
||||||
|
(test-end "selects")
|
||||||
|
|
||||||
|
(test-exit)
|
Loading…
Reference in New Issue