(#.+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"))
+ (error 'sql-database-error :message "internal error: unexpected +oci-success-with-info"))
(#.+oci-no-data+
- (error "OCI No Data"))
+ (error 'sql-database-error :message "OCI No Data"))
(#.+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
(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
(valuep :pointer-void)
(value_sz :long)
(dty :unsigned-short)
- (indp :pointer-void)
+ (indp (* :short))
(rlenp (* :unsigned-short))
(rcodep (* :unsigned-short))
(mode :unsigned-long))
(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*)
(: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)))