#|-------------------- 0.2 |# "./autoform-postgresql.meta" 383 ;;; autoform-postgresql.meta -*- scheme -*- ((egg "autoform-postgresql.egg") (synopsis "Postgresql support for autoform") (author "Mario Domenech Goulart") (license "BSD") (category web) (depends autoform postgresql) (files "autoform-postgresql.meta" "autoform-postgresql.scm" "autoform-postgresql.setup")) #|-------------------- 0.2 |# "./autoform-postgresql.scm" 900 (module autoform-postgresql () (import chicken scheme data-structures) (use postgresql autoform) (define ($db conn . q) (let ((result (query* conn (string-intersperse q "")))) (if (zero? (row-count result)) #f (row-map identity result)))) (get-database-structure (lambda (conn db-table) (let ((results ($db conn "select column_name, data_type, character_maximum_length, is_nullable " "from information_schema.columns where table_name = '" db-table "'"))) (map (lambda (item) ;; set the `mandatory?' field according to `is_nullable' (if (equal? (list-ref item 3) "NO") (set-car! (cdddr item) #t) (set-car! (cdddr item) #f)) item) results)))) (autoform-db-connection? connection?) (autoform-db-connect connect) (autoform-db-disconnect disconnect) ); end module #|-------------------- 0.2 |# "./autoform-postgresql.setup" 323 ;;; autoform-postgresql.setup -*- scheme -*- (compile -s -O2 -d1 -j autoform-postgresql autoform-postgresql.scm) (compile -s -O2 -d1 autoform-postgresql.import.scm) (install-extension 'autoform-postgresql '("autoform-postgresql.so" "autoform-postgresql.import.so") '((version 0.2)))