X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-oracle%2Foracle-api.lisp;h=1e21b81b9d0a5849fd7ceb28fed89644fce4b85b;hp=ff24e2d02d502e677b9b6fd50c352b57eb454ff4;hb=d9f41af62750c622945bb17b622a39689ee5b840;hpb=3a3ccc7a171dc4c6c10bc7e3fea8461fca6dc51b diff --git a/db-oracle/oracle-api.lisp b/db-oracle/oracle-api.lisp index ff24e2d..1e21b81 100644 --- a/db-oracle/oracle-api.lisp +++ b/db-oracle/oracle-api.lisp @@ -57,23 +57,23 @@ (#.+oci-error+ (handle-oci-error :database database :nulls-ok nulls-ok)) (#.+oci-no-data+ - (error "OCI No Data Found")) + (error 'sql-database-error :message "OCI No Data Found")) (#.+oci-success-with-info+ - (error "internal error: unexpected +oci-SUCCESS-WITH-INFO")) - (#.+oci-no-data+ - (error "OCI No Data")) + (error 'sql-database-error :message "internal error: unexpected +oci-success-with-info")) (#.+oci-invalid-handle+ - (error "OCI Invalid Handle")) + (error 'sql-database-error :message "OCI Invalid Handle")) (#.+oci-need-data+ - (error "OCI Need Data")) + (error 'sql-database-error :message "OCI Need Data")) (#.+oci-still-executing+ - (error "OCI Still Executing")) + (error 'sql-temporary-error :message "OCI Still Executing")) (#.+oci-continue+ - (error "OCI Continue")) + (error 'sql-database-error :message "OCI Continue")) (1804 - (error "Check ORACLE_HOME and NLS settings.")) + (error 'sql-database-error :message "Check ORACLE_HOME and NLS settings.")) (t - (error "OCI unknown error, code=~A" result)))))))) + (error 'sql-database-error + :message + (format nil "OCI unknown error, code=~A" result))))))))) (defmacro def-raw-oci-routine @@ -102,17 +102,17 @@ (xtramem-sz :unsigned-long) ; size_t (usermempp (* :pointer-void))) ; dvoid ** -#+oci-8-1-5 +#-oci7 (def-oci-routine ("OCIEnvCreate" oci-env-create) :int - (p0 :pointer-void) - (p1 :unsigned-int) - (p2 :pointer-void) - (p3 :pointer-void) - (p4 :pointer-void) - (p5 :pointer-void) - (p6 :unsigned-long) - (p7 :pointer-void)) + (envhpp (* :pointer-void)) + (mode :unsigned-int) + (ctxp :pointer-void) + (malocfp :pointer-void) + (ralocfp :pointer-void) + (mfreefp :pointer-void) + (xtramemsz :unsigned-long) + (usrmempp (* :pointer-void))) (def-oci-routine ("OCIHandleAlloc" oci-handle-alloc) :int @@ -126,7 +126,7 @@ :int (srvhp :pointer-void) ; oci-server (errhp :pointer-void) ; oci-error - (dblink :cstring) ; :in + (dblink :cstring) ; :in (dblink-len :unsigned-long) ; int (mode :unsigned-long)) ; int @@ -218,7 +218,7 @@ (valuep :pointer-void) (value_sz :long) (dty :unsigned-short) - (indp :pointer-void) + (indp (* :short)) (rlenp (* :unsigned-short)) (rcodep (* :unsigned-short)) (mode :unsigned-long)) @@ -321,7 +321,7 @@ (defun oci-check-return (value) (when (= value +oci-invalid-handle+) - (error "Invalid Handle"))) + (error 'sql-database-error :message "Invalid Handle"))) (defun oci-get-handle (&key type) (if (null *oci-initialized*) @@ -354,10 +354,11 @@ (:security "OCISecurity") (t - (error "'~s' is not a valid OCI handle type" type)))) + (error 'sql-database-error + :message + (format nil "'~s' is not a valid OCI handle type" type))))) (defun oci-environment () (let ((envhp (oci-get-handle :type :env))) (oci-env-init envhp 0 0 +null-void-pointer+) envhp)) -)