r9137: add defgenerics
[clsql.git] / sql / generics.lisp
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:     generics.lisp
6 ;;;; Purpose:  Generic function definitions for DB interfaces
7 ;;;; Author:   Kevin M. Rosenberg based on
8 ;;;; Created:  Apr 2004
9 ;;;;
10 ;;;; $Id: db-interface.lisp 9123 2004-04-21 20:34:42Z kevin $
11 ;;;;
12 ;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
13 ;;;;
14 ;;;; CLSQL users are granted the rights to distribute and use this software
15 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
16 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
17 ;;;; *************************************************************************
18
19 (in-package #:clsql-sys)
20
21 (defgeneric output-sql (expr database)
22   )
23
24 (defgeneric output-sql-hash-key (arg database)
25   )
26
27 (defgeneric collect-table-refs (sql)
28   )
29 (defgeneric database-output-sql (arg database)
30   )
31 (defgeneric database-constraint-description  (constraint database)
32   )
33 (defgeneric database-pkey-constraint  (class database)
34   )
35 (defgeneric database-constraint-statement  (constraints database)
36   )
37 (defgeneric %install-class  (class database)
38   )
39 (defgeneric database-generate-column-definition  (class slotdef database)
40   )
41 (defgeneric update-slot-from-db  (instance slotdef val)
42   )
43 (defgeneric key-value-from-db  (slotdef value database)
44   )
45 (defgeneric get-slot-values-from-view  (obj slotdeflist values)
46   )
47 (defgeneric database-output-sql-as-type  (type val database)
48   )
49 (defgeneric read-sql-value  (val type database)
50   )
51 (defgeneric postinitialize  (object)
52   )
53 (defgeneric add-to-relation  (target slot-name value)
54   )
55 (defgeneric remove-from-relation  (target slot-name value)
56   )
57