;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: db-interface.cl
+;;;; Name: db-interface.lisp
;;;; Purpose: Generic function definitions for DB interfaces
;;;; Programmers: Kevin M. Rosenberg based on
;;;; Original code by Pierre R. Mai. Additions from
;;;; onShoreD to support UncommonSQL front-end
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: db-interface.lisp,v 1.1 2002/09/30 10:19:01 kevin Exp $
+;;;; $Id$
;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai, and onShoreD
;;;;
;;;; CLSQL users are granted the rights to distribute and use this software
;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
;;;; *************************************************************************
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :clsql-base-sys)
+(in-package #:clsql-base-sys)
(defgeneric database-type-load-foreign (database-type)
(:documentation
(defgeneric database-sequence-next (name database)
(:documentation "Increment a sequence in DATABASE."))
+(defgeneric database-list-sequences (database &key owner)
+ (:documentation "List all sequences in DATABASE."))
+
+(defgeneric database-set-sequence-position (name position database)
+ (:documentation "Set the position of the sequence called NAME in DATABASE."))
+
+(defgeneric database-sequence-last (name database)
+ (:documentation "Select the last value in sequence NAME in DATABASE."))
+
(defgeneric database-start-transaction (database)
(:documentation "Start a transaction in DATABASE."))
(:documentation "Return the type SQL type specifier as a string, for
the given lisp type and parameters."))
-(defgeneric database-list-tables (database &key system-tables)
+(defgeneric database-list-tables (database &key owner)
(:documentation "List all tables in the given database"))
+
+(defgeneric database-list-views (database &key owner)
+ (:documentation "List all views in the DATABASE."))
-(defgeneric database-list-attributes (table database)
+(defgeneric database-list-indexes (database &key owner)
+ (:documentation "List all indexes in the DATABASE."))
+
+(defgeneric database-list-attributes (table database &key owner)
(:documentation "List all attributes in TABLE."))
-(defgeneric database-attribute-type (attribute table database)
+(defgeneric database-attribute-type (attribute table database &key owner)
(:documentation "Return the type of ATTRIBUTE in TABLE."))
(defgeneric database-add-attribute (table attribute database)
(defgeneric oid (object)
(:documentation "Return the unique ID of a database object."))
-
+
;;; Large objects support (Marc Battyani)
(defgeneric database-create-large-object (database)