From: Nathan Bird Date: Fri, 15 Jan 2010 15:37:35 +0000 (-0500) Subject: Adding db-type-has-auto-increment X-Git-Tag: v4.3.0^2~2 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=0fc997848abf887f21ce12ae976ab1c61446d2c5 Adding db-type-has-auto-increment --- diff --git a/db-mysql/mysql-sql.lisp b/db-mysql/mysql-sql.lisp index 8f39471..849fb39 100644 --- a/db-mysql/mysql-sql.lisp +++ b/db-mysql/mysql-sql.lisp @@ -761,5 +761,8 @@ #+(or mysql-client-v4.1 mysql-client-v5) t #-(or mysql-client-v4.1 mysql-client-v5) nil) +(defmethod db-type-has-auto-increment? ((db-type (eql :mysql))) + t) + (when (clsql-sys:database-type-library-loaded :mysql) (clsql-sys:initialize-database-type :database-type :mysql)) diff --git a/sql/db-interface.lisp b/sql/db-interface.lisp index 031d1e8..ae586e8 100644 --- a/sql/db-interface.lisp +++ b/sql/db-interface.lisp @@ -374,6 +374,12 @@ of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") t) (:documentation "T [default] if database-type supports EXCEPT.")) +(defgeneric db-type-has-auto-increment? (db-type) + (:method (db-type) + (declare (ignore db-type) + nil)) + (:documentation "NIL [default] if database-type supports auto-incrementing columns.")) + ;;; Large objects support (Marc Battyani) (defgeneric database-create-large-object (database) diff --git a/sql/package.lisp b/sql/package.lisp index fbb67b4..fbf8257 100644 --- a/sql/package.lisp +++ b/sql/package.lisp @@ -153,6 +153,7 @@ #:db-type-use-fully-qualified-column-on-drop-index? #:db-type-has-intersect? #:db-type-has-except? + #:db-type-has-auto-increment? #:database-underlying-type #:database-get-type-specifier #:read-sql-value