1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
3 (in-package #:clsql-sys)
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)))
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")