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.
29 lines
730 B
Scheme
29 lines
730 B
Scheme
(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))))
|
|
|
|
(define-operators *postgresql-translator*
|
|
(limit prefix)
|
|
(offset prefix)
|
|
(random function))
|
|
|
|
(register-sql-engine! connection? *postgresql-translator*)
|
|
|
|
) |