* CONTRIBUTORS: Add note about Marcus' excellent work
* sql/oodml.lisp: Removed old stub function
* clsql.asd: Use module names in current package rather than keyword package
- * db-oracle/oracle-sql.lisp: Don't trim trailing spaces
+ * db-oracle/oracle-sql.lisp: Don't trim trailing spaces. Prevent interrupts
+ in setting sequence position
* tests/test-init.lisp: Skip 2 tests on Oracle which have unsupported syntax
24 May 2004: Marcus Pearce (m.t.pearce@city.ac.uk)
)
database :auto nil)))
-;; FIXME: use lock
(defmethod database-set-sequence-position (name position (database oracle-database))
- (let* ((next (database-sequence-next name database))
- (incr (- position next)))
- (database-execute-command
- (format nil "ALTER SEQUENCE ~A INCREMENT BY ~D" name incr)
- database)
- (database-sequence-next name database)
- (database-execute-command
- (format nil "ALTER SEQUENCE ~A INCREMENT BY 1" name)
- database)))
+ (without-interrupts
+ (let* ((next (database-sequence-next name database))
+ (incr (- position next)))
+ (database-execute-command
+ (format nil "ALTER SEQUENCE ~A INCREMENT BY ~D" name incr)
+ database)
+ (database-sequence-next name database)
+ (database-execute-command
+ (format nil "ALTER SEQUENCE ~A INCREMENT BY 1" name)
+ database))))
(defmethod database-list-sequences ((database oracle-database) &key owner)
(let ((query