r9453: * db-oracle/oracle-sql.lisp: Add missing database qualifier. Return...
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 23 May 2004 15:44:02 +0000 (15:44 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 23 May 2004 15:44:02 +0000 (15:44 +0000)
        for computed fields, this will require some adjustment to the test suite which
        in many cases expects integers.

ChangeLog
db-oracle/oracle-sql.lisp
sql/sequences.lisp

index 5bf5a4f58fb54c4b2aa49e49c5bec0529a0adcd8..14f26351af239bda0c65ec449407e566a122436c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,10 @@
        are now in the same order an in the def-view-class.
        * sql/sql.lisp: Honor case of string table identifier to INSERT-RECORDS
        * test/test-fddl.lisp: Add two tests for mixed case names
-       
+       * db-oracle/oracle-sql.lisp: Add missing database qualifier. Return NUMBER (double)
+       for computed fields, this will require some adjustment to the test suite which
+       in many cases expects integers.
+
 22 May 2004 Kevin Rosenberg
        * Version 2.10.21 released
        * sql/sequences.lisp: Move generic sequence functions here from db-sqlite,
index 3c6c226592edbd3d26c27ca7a69ba626320aef63..b4402db528262f6d3faf03910d55801d0793665d 100644 (file)
@@ -51,8 +51,8 @@ likely that we'll have to worry about the CMUCL limit."))
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defconstant SQLT-NUMBER 2)
   (defconstant SQLT-INT 3)
-  (defconstant SQLT-STR 5)
   (defconstant SQLT-FLT 4)
+  (defconstant SQLT-STR 5)
   (defconstant SQLT-DATE 12))
 
 ;;; Note that despite the suggestive class name (and the way that the
@@ -657,9 +657,10 @@ the length of that format.")
                             (deref-vp errhp))
               (let ((*scale (uffi:deref-pointer scale :byte))
                     (*precision (uffi:deref-pointer precision :byte)))
-                ;;(format t "scale=~d, precision=~d~%" *scale *precision)
+                
+                ;; (format t "scale=~d, precision=~d~%" *scale *precision)
                 (cond
-                 ((or (zerop *scale)
+                 ((or (and (zerop *scale) (not (zerop *precision)))
                       (and (minusp *scale) (< *precision 10)))
                   (setf buffer (acquire-foreign-resource :int +n-buf-rows+)
                         sizeof 4                       ;; sizeof(int)
@@ -910,18 +911,14 @@ the length of that format.")
          (push row reversed-result))))))
 
 
-(defmethod database-create-sequence
-  (sequence-name (database oracle-database))
+(defmethod database-create-sequence (sequence-name (database oracle-database))
   (execute-command
-   (concatenate 'string "CREATE SEQUENCE "
-               (sql-escape sequence-name))
+   (concatenate 'string "CREATE SEQUENCE " (sql-escape sequence-name))
    :database database))
 
-(defmethod database-drop-sequence
-  (sequence-name (database oracle-database))
+(defmethod database-drop-sequence (sequence-name (database oracle-database))
   (execute-command
-   (concatenate 'string "DROP SEQUENCE "
-               (sql-escape sequence-name))
+   (concatenate 'string "DROP SEQUENCE " (sql-escape sequence-name))
    :database database))
 
 (defmethod database-sequence-next (sequence-name (database oracle-database))
@@ -933,7 +930,7 @@ the length of that format.")
                 )
     database :auto nil)))
 
-(defmethod database-set-sequence-position (name position database)
+(defmethod database-set-sequence-position (name position (database oracle-database))
   (let* ((next (database-sequence-next name database))
         (incr (- position next)))
     (database-execute-command
index 54da54e47594869d82953a92cdfcc1ca1e8fb77a..b82b9b8e5a13178592bf663efe00ddecd7714e30 100644 (file)
@@ -56,7 +56,7 @@
                (and sn (list sn))))
          (database-list-tables-and-sequences database)))
 
-(defmethod database-set-sequence-position (sequence-name (position integer) database)
+(defmethod database-set-sequence-position (sequence-name position database)
   (database-execute-command
    (format nil "UPDATE ~A SET last_value=~A,is_called='t'" 
           (%sequence-name-to-table sequence-name database)