From 0fc997848abf887f21ce12ae976ab1c61446d2c5 Mon Sep 17 00:00:00 2001 From: Nathan Bird Date: Fri, 15 Jan 2010 10:37:35 -0500 Subject: [PATCH] Adding db-type-has-auto-increment --- db-mysql/mysql-sql.lisp | 3 +++ sql/db-interface.lisp | 6 ++++++ sql/package.lisp | 1 + 3 files changed, 10 insertions(+) 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 -- 2.34.1