181fca43b894b733c63cddd4f6a7d0e0664f3df3
[clsql.git] / db-sqlite3 / sqlite3-methods.lisp
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2
3 (in-package #:clsql-sys)
4
5 ;; This method generates primary key constraints part of the table
6 ;; definition. For Sqlite autoincrement primary keys to work properly
7 ;; this part of the table definition must be left out.
8 (defmethod database-pkey-constraint ((class standard-db-class)
9                                      (database clsql-sqlite3:sqlite3-database)))
10
11 (defmethod database-translate-constraint (constraint
12                                           (database clsql-sqlite3:sqlite3-database))
13   ;; Primary purpose of this is method is to intecept and translate
14   ;; auto-increment primary keys constraints.
15   (let ((constraint-name (symbol-name constraint)))
16     (if (eql constraint :auto-increment)
17         (cons constraint "PRIMARY KEY AUTOINCREMENT")
18         (call-next-method))))
19
20 ;; EOF