X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-postgresql-socket%2Fpostgresql-socket-sql.lisp;h=a0a534aa0392ba8f65fda49fdc261c6a3f31b290;hb=e303385b84c6246c7d60ebd95d764a282a181a23;hp=180b036904613be3a0fa5529737b8dc08e53ffde;hpb=9bbed78051e80e6ab76ae47834136035602bbbf1;p=clsql.git diff --git a/db-postgresql-socket/postgresql-socket-sql.lisp b/db-postgresql-socket/postgresql-socket-sql.lisp index 180b036..a0a534a 100644 --- a/db-postgresql-socket/postgresql-socket-sql.lisp +++ b/db-postgresql-socket/postgresql-socket-sql.lisp @@ -20,7 +20,7 @@ (in-package #:cl-user) (defpackage :clsql-postgresql-socket - (:use #:common-lisp #:clsql-base #:postgresql-socket) + (:use #:common-lisp #:clsql-sys #:postgresql-socket) (:export #:postgresql-socket-database) (:documentation "This is the CLSQL socket interface to PostgreSQL.")) @@ -29,7 +29,7 @@ ;; interface foreign library loading routines -(clsql-base:database-type-load-foreign :postgresql-socket) +(clsql-sys:database-type-load-foreign :postgresql-socket) ;; Field type conversion @@ -104,8 +104,17 @@ doesn't depend on UFFI." (defun convert-to-clsql-warning (database condition) - (warn 'clsql-database-warning :database database - :message (postgresql-condition-message condition))) + (ecase *backend-warning-behavior* + (:warn + (warn 'clsql-database-warning :database database + :message (postgresql-condition-message condition))) + (:error + (error 'clsql-sql-error :database database + :message (format nil "Warning upgraded to error: ~A" + (postgresql-condition-message condition)))) + ((:ignore nil) + ;; do nothing + ))) (defun convert-to-clsql-error (database expression condition) (error 'clsql-sql-error :database database @@ -127,7 +136,6 @@ doesn't depend on UFFI." (lambda (c) (convert-to-clsql-error ,database-var ,expression-var c)))) - ;; KMR - removed double @@ ,@body)))) (defmethod database-initialize-database-type ((database-type @@ -239,23 +247,23 @@ doesn't depend on UFFI." (wait-for-query-results connection) (when (eq status :cursor) (loop - (multiple-value-bind (row stuff) - (skip-cursor-row result) - (unless row - (setq status :completed result stuff) - (return))))) + (multiple-value-bind (row stuff) + (skip-cursor-row result) + (unless row + (setq status :completed result stuff) + (return))))) (cond - ((null status) - t) - ((eq status :completed) - (unless (null (wait-for-query-results connection)) + ((null status) + t) + ((eq status :completed) + (unless (null (wait-for-query-results connection)) (close-postgresql-connection connection) (error 'clsql-sql-error :database database :expression expression :errno 'multiple-results :error "Received multiple results for command.")) - result) + result) (t (close-postgresql-connection connection) (error 'clsql-sql-error @@ -384,16 +392,15 @@ doesn't depend on UFFI." owner-clause) database nil nil)))) (if result - (reverse - (remove-if #'(lambda (it) (member it '("cmin" - "cmax" - "xmax" - "xmin" - "oid" - "ctid" - ;; kmr -- added tableoid - "tableoid") :test #'equal)) - result))))) + (remove-if #'(lambda (it) (member it '("cmin" + "cmax" + "xmax" + "xmin" + "oid" + "ctid" + ;; kmr -- added tableoid + "tableoid") :test #'equal)) + result)))) (defmethod database-attribute-type (attribute (table string) (database postgresql-socket-database) @@ -486,12 +493,12 @@ doesn't depend on UFFI." type))) (unwind-protect (progn - (setf (slot-value database 'clsql-base::state) :open) + (setf (slot-value database 'clsql-sys::state) :open) (mapcar #'car (database-query "select datname from pg_database" database :auto nil))) (progn (database-disconnect database) - (setf (slot-value database 'clsql-base::state) :closed)))))) + (setf (slot-value database 'clsql-sys::state) :closed)))))) (defmethod database-describe-table ((database postgresql-socket-database) table) @@ -517,5 +524,5 @@ doesn't depend on UFFI." (defmethod db-type-default-case ((db-type (eql :postgresql-socket))) :lower) -(when (clsql-base:database-type-library-loaded :postgresql-socket) - (clsql-base:initialize-database-type :database-type :postgresql-socket)) +(when (clsql-sys:database-type-library-loaded :postgresql-socket) + (clsql-sys:initialize-database-type :database-type :postgresql-socket))