The integral Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The integral Reference Manual

This is the integral Reference Manual, version 0.0.1, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 14:57:06 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

IMPORTANT NOTICE

Integral is not recommended for a new project. Consider using Mito instead.

Integral

Build Status

Integral is an object relational mapper for Common Lisp based on CL-DBI and SxQL.

Warning

This software is still ALPHA quality. The APIs will be likely to change.

Should work well with MySQL/SQLite3 on SBCL/Clozure CL.

Usage

(defclass tweet ()
  ((id :type integer
       :primary-key t
       :auto-increment t
       :reader tweet-id)
   (status :type text
           :initarg :status
           :accessor tweet-status)
   (user :type (varchar 32)
         :initarg :user
         :accessor tweet-user))
  (:metaclass <dao-table-class>))

(connect-toplevel :mysql
                  :database-name "myapp"
                  :username "nitro_idiot"
                  :password "xxxxxxxx")

(let ((tw (make-instance 'tweet
                         :status "Good morning, world."
                         :user "nitro_idiot")))
  (save-dao tw))

;; Same as the above
(create-dao 'tweet
            :status "Good morning, world."
            :user "nitro_idiot")

(let ((tw (find-dao 'tweet 3)))
  (with-slot (status user) tw
    (format t "~A said ~A" user status))
  (setf (tweet-status tw) "Good evening, world.")
  (save-dao tw))

(let ((tw (find-dao 'tweet 3)))
  (delete-dao tw))

Quickstart

Installation

(ql:quickload :integral)

Connecting to database

connect-toplevel is a function to establish a connection to a database.

(import 'integral:connect-toplevel)

(connect-toplevel :mysql
                  :database-name "testdb"
                  :username "nitro_idiot"
                  :password "password")

Integral is intended to work with MySQL, PostgreSQL and SQLite3. Replace :mysql the above by your favorite RDBMS engine name.

Defining a database table

In Integral, database tables are defined as CLOS classes. A table definition looks like this.

(import 'integral:<dao-table-class>)

(defclass user ()
  ((name :col-type text
         :initarg :name))
  (:metaclass <dao-table-class>))

This user class means a "user" table in a database with a single "TEXT" column, "name".

table-definition is a function to generate a CREATE TABLE SQL for it.

(import '(integral:table-definition integral:execute-sql))

(table-definition 'user)
;=> "CREATE TABLE `user` (`%oid` SERIAL NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` TEXT)"
;   NIL

(execute-sql (table-definition 'user))

;; Same as the above except ignoring CREATE TABLE if it already exists.
(ensure-table-exists 'user)

Adding records

Table classes can be called with make-instance like Common Lisp standard-class.

(make-instance 'user :name "Eitaro Fukamachi")
;=> #<USER %oid: <unbound>>

The instance won't be recorded in a database. Call save-dao it to add the record to a database.

(import 'integral:save-dao)

(save-dao (make-instance 'user :name "Eitaro Fukamachi"))
;=> #<USER %oid: 1>

(save-dao (make-instance 'user :name "Tomohiro Matsuyama"))
;=> #<USER %oid: 2>

Retrieving records

(import 'integral:select-dao)

(select-dao 'user)
;=> (#<USER %oid: 1> #<USER %oid: 2>)

(mapcar (lambda (row)
          (slot-value row 'name))
        (select-dao 'user))
;=> ("Eitaro Fukamachi" "Tomohiro Matsuyama")

select-dao takes SxQL clauses. You can specify WHERE, ORDER BY or LIMIT with it.

(import '(sxql:where sxql:limit))

(select-dao 'user
  (where (:= :name "Eitaro Fukamachi"))
  (limit 1))
;=> (#<USER %oid: 1>)

You can also use find-dao for retrieving a single row.

(import 'integral:find-dao)

(find-dao 'user 1)
;=> #<USER %oid: 1>

Updating records

(let ((user (find-dao 'user 1)))
  (setf (slot-value user 'name) "深町英太郎")
  (save-dao user))

Deleting records

(import 'integral:delete-dao)

(let ((user (find-dao 'user 1)))
  (setf (slot-value user 'name) "深町英太郎")
  (delete-dao user))

Migration

I introduced Integral generates a table schema from a CLOS class definition. But how can we do when we want to change the table schema after creating it.

Integral has a function to apply the change of the class definition to a table schema. It is generally known as "Migration".

For example, if you want to record a "profile" of users to "user" table, add a slot for it.

(defclass user ()
  ((name :col-type text
         :initarg :name)
   (profile :col-type text
            :initarg :profile))
  (:metaclass <dao-table-class>))

Then call migrate-table.

(import 'integral:migrate-table)

(migrate-table 'user)
;-> ALTER TABLE `user` ADD COLUMN `profile` TEXT AFTER `name`;
;=> NIL

All changes of indexes and column types are also followed.

(defclass user ()
  ((id :col-type serial
       :primary-key t)
   (name :col-type (varchar 64)
         :initarg :name)
   (profile :col-type text
            :initarg :profile))
  (:metaclass <dao-table-class>))
;-> ALTER TABLE `user` DROP COLUMN `%oid`;
;   ALTER TABLE `user` MODIFY COLUMN `name` VARCHAR(64);
;   ALTER TABLE `user` ADD COLUMN `id` SERIAL NOT NULL PRIMARY KEY FIRST;
;=> NIL

Mystique: Auto-migration

In development, class redefinitions are done many times. It's boring to execute migrate-table for each single time, isn't it?

Integral has auto-migration feature for executing migrate-table after redefinitions automatically.

Set *auto-migration-mode* T to use the mode.

(setf integral:*auto-migration-mode* t)

Another Way: define a class from an existing table

If you'd like to administrate a database directly by writing raw SQLs, or wanna use Integral for an existing database, you can generate slot definitions from it.

(defclass tweet () ()
  (:metaclass <dao-table-class>)
  (:generate-slots t))

:generate-slots option means slot definitions follow database schema. Note you must establish a database connection before the first make-instance.

inflate/deflate

inflate and deflate is a feature to convert data between a database and Common Lisp.

(defclass user ()
  ((name :type string
         :initarg :name)
   (created-at :type timestamp
               :col-type integer
               :initarg :created-at))
  (:metaclass integral:<dao-table-class>))
;=> #<INTEGRAL.TABLE:<DAO-TABLE-CLASS> USER>

(find-dao 'user 1)
;=> #<USER #x302001D9452D>

(slot-value * 'created-at)
;=> 3599088727

;; Define inflate/deflate methods
(defmethod integral:inflate ((object user) (slot-name (eql 'created-at)) value)
  (local-time:universal-to-timestamp value))
(defmethod integral:deflate ((object user) (slot-name (eql 'created-at)) value)
  (local-time:timestamp-to-universal value))

(slot-value (find-dao 'user 1) 'created-at)
;=> @2014-01-19T11:52:07.000000+09:00

You can also set inflate and deflate functions via :inflate or :deflate keywords in defclass.

(defclass user ()
  ((name :type string
         :initarg :name)
   (created-at :type timestamp
               :col-type integer
               :initarg :created-at
               :inflate #'local-time:universal-to-timestamp
               :deflate #'local-time:timestamp-to-universal))
  (:metaclass integral:<dao-table-class>))

Relations

Although Integral doesn't have a specific feature for relations like :has-a and :has-many, it can be done with normal methods.

(defmethod user-config ((user user))
  (find-dao 'user-config (user-id user)))

(defmethod user-entries ((user user))
  (select-dao 'entry (where (:= :user_id (user-id user)))))

Wanna write a raw SQL?

(import 'integral:retrieve-by-sql)

(retrieve-by-sql "SELECT * FROM user")
;=> ((:%oid 1 :name "深町英太郎"
;     :profile "I love Common Lisp and beer")
;    (:%oid 2 :name "Tomohiro Matsuyama"
;     :profile NIL))

retrieve-by-sql takes :as keyword argument to specify a class of the result record.

(retrieve-sql "SELECT * FROM user" :as 'user)
;=> (#<USER %oid: 1> #<USER %oid: 2>)

Symbols

Connections

Classes

SQL

Data types

Errors

See Also

Author

Copyright

Copyright (c) 2014 Eitaro Fukamachi (e.arrows@gmail.com)

License

Licensed un


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 integral

Author

Eitaro Fukamachi

License

BSD 3-Clause

Description

Object Relational Mapper for Common Lisp

Long Description

# IMPORTANT NOTICE

**Integral is not recommended for a new project.** Consider using [Mito](https://github.com/fukamachi/mito) instead.

# Integral

[![Build Status](https://travis-ci.org/fukamachi/integral.svg?branch=master)](https://travis-ci.org/fukamachi/integral)

Integral is an object relational mapper for Common Lisp based on [CL-DBI](https://github.com/fukamachi/cl-dbi) and [SxQL](https://github.com/fukamachi/sxql).

## Warning

This software is still ALPHA quality. The APIs will be likely to change.

Should work well with MySQL/SQLite3 on SBCL/Clozure CL.

## Usage

“‘common-lisp
(defclass tweet ()
((id :type integer
:primary-key t
:auto-increment t
:reader tweet-id)
(status :type text
:initarg :status
:accessor tweet-status)
(user :type (varchar 32)
:initarg :user
:accessor tweet-user))
(:metaclass <dao-table-class>))

(connect-toplevel :mysql
:database-name "myapp"
:username "nitro_idiot"
:password "xxxxxxxx")

(let ((tw (make-instance ’tweet
:status "Good morning, world."
:user "nitro_idiot")))
(save-dao tw))

;; Same as the above
(create-dao ’tweet
:status "Good morning, world."
:user "nitro_idiot")

(let ((tw (find-dao ’tweet 3)))
(with-slot (status user) tw
(format t "~A said ~A" user status))
(setf (tweet-status tw) "Good evening, world.")
(save-dao tw))

(let ((tw (find-dao ’tweet 3)))
(delete-dao tw))
“‘

## Quickstart

### Installation

“‘common-lisp
(ql:quickload :integral)
“‘

### Connecting to database

‘connect-toplevel‘ is a function to establish a connection to a database.

“‘common-lisp
(import ’integral:connect-toplevel)

(connect-toplevel :mysql
:database-name "testdb"
:username "nitro_idiot"
:password "password")
“‘

Integral is intended to work with MySQL, PostgreSQL and SQLite3. Replace ‘:mysql‘ the above by your favorite RDBMS engine name.

### Defining a database table

In Integral, database tables are defined as CLOS classes. A table definition looks like this.

“‘common-lisp
(import ’integral:<dao-table-class>)

(defclass user ()
((name :col-type text
:initarg :name))
(:metaclass <dao-table-class>))
“‘

This ‘user‘ class means a "user" table in a database with a single "TEXT" column, "name".

‘table-definition‘ is a function to generate a ‘CREATE TABLE‘ SQL for it.

“‘common-lisp
(import ’(integral:table-definition integral:execute-sql))

(table-definition ’user)
;=> "CREATE TABLE ‘user‘ (‘%oid‘ SERIAL NOT NULL AUTO_INCREMENT PRIMARY KEY, ‘name‘ TEXT)"
; NIL

(execute-sql (table-definition ’user))

;; Same as the above except ignoring CREATE TABLE if it already exists.
(ensure-table-exists ’user)
“‘

### Adding records

Table classes can be called with ‘make-instance‘ like Common Lisp standard-class.

“‘common-lisp
(make-instance ’user :name "Eitaro Fukamachi")
;=> #<USER %oid: <unbound>>
“‘

The instance won’t be recorded in a database. Call ‘save-dao‘ it to add the record to a database.

“‘common-lisp
(import ’integral:save-dao)

(save-dao (make-instance ’user :name "Eitaro Fukamachi"))
;=> #<USER %oid: 1>

(save-dao (make-instance ’user :name "Tomohiro Matsuyama"))
;=> #<USER %oid: 2>
“‘

### Retrieving records

“‘common-lisp
(import ’integral:select-dao)

(select-dao ’user)
;=> (#<USER %oid: 1> #<USER %oid: 2>)

(mapcar (lambda (row)
(slot-value row ’name))
(select-dao ’user))
;=> ("Eitaro Fukamachi" "Tomohiro Matsuyama")
“‘

‘select-dao‘ takes SxQL clauses. You can specify WHERE, ORDER BY or LIMIT with it.

“‘common-lisp
(import ’(sxql:where sxql:limit))

(select-dao ’user
(where (:= :name "Eitaro Fukamachi"))
(limit 1))
;=> (#<USER %oid: 1>)
“‘

You can also use ‘find-dao‘ for retrieving a single row.

“‘common-lisp
(import ’integral:find-dao)

(find-dao ’user 1)
;=> #<USER %oid: 1>
“‘

### Updating records

“‘common-lisp
(let ((user (find-dao ’user 1)))
(setf (slot-value user ’name) "深町英太郎")
(save-dao user))
“‘

### Deleting records

“‘common-lisp
(import ’integral:delete-dao)

(let ((user (find-dao ’user 1)))
(setf (slot-value user ’name) "深町英太郎")
(delete-dao user))
“‘

### Migration

I introduced Integral generates a table schema from a CLOS class definition. But how can we do when we want to change the table schema after creating it.

Integral has a function to apply the change of the class definition to a table schema. It is generally known as "Migration".

For example, if you want to record a "profile" of users to "user" table, add a slot for it.

“‘common-lisp
(defclass user ()
((name :col-type text
:initarg :name)
(profile :col-type text
:initarg :profile))
(:metaclass <dao-table-class>))
“‘

Then call ‘migrate-table‘.

“‘common-lisp
(import ’integral:migrate-table)

(migrate-table ’user)
;-> ALTER TABLE ‘user‘ ADD COLUMN ‘profile‘ TEXT AFTER ‘name‘;
;=> NIL
“‘

All changes of indexes and column types are also followed.

“‘common-lisp
(defclass user ()
((id :col-type serial
:primary-key t)
(name :col-type (varchar 64)
:initarg :name)
(profile :col-type text
:initarg :profile))
(:metaclass <dao-table-class>))
;-> ALTER TABLE ‘user‘ DROP COLUMN ‘%oid‘;
; ALTER TABLE ‘user‘ MODIFY COLUMN ‘name‘ VARCHAR(64);
; ALTER TABLE ‘user‘ ADD COLUMN ‘id‘ SERIAL NOT NULL PRIMARY KEY FIRST;
;=> NIL
“‘

### Mystique: Auto-migration

In development, class redefinitions are done many times. It’s boring to execute ‘migrate-table‘ for each single time, isn’t it?

Integral has **auto-migration** feature for executing ‘migrate-table‘ after redefinitions automatically.

Set ‘*auto-migration-mode*‘ T to use the mode.

“‘common-lisp
(setf integral:*auto-migration-mode* t)
“‘

### Another Way: define a class from an existing table

If you’d like to administrate a database directly by writing raw SQLs, or wanna use Integral for an existing database, you can generate slot definitions from it.

“‘common-lisp
(defclass tweet () ()
(:metaclass <dao-table-class>)
(:generate-slots t))
“‘

‘:generate-slots‘ option means slot definitions follow database schema. Note you must establish a database connection before the first ‘make-instance‘.

### inflate/deflate

‘inflate‘ and ‘deflate‘ is a feature to convert data between a database and Common Lisp.

“‘common-lisp
(defclass user ()
((name :type string
:initarg :name)
(created-at :type timestamp
:col-type integer
:initarg :created-at))
(:metaclass integral:<dao-table-class>))
;=> #<INTEGRAL.TABLE:<DAO-TABLE-CLASS> USER>

(find-dao ’user 1)
;=> #<USER #x302001D9452D>

(slot-value * ’created-at)
;=> 3599088727

;; Define inflate/deflate methods
(defmethod integral:inflate ((object user) (slot-name (eql ’created-at)) value)
(local-time:universal-to-timestamp value))
(defmethod integral:deflate ((object user) (slot-name (eql ’created-at)) value)
(local-time:timestamp-to-universal value))

(slot-value (find-dao ’user 1) ’created-at)
;=> @2014-01-19T11:52:07.000000+09:00
“‘

You can also set ‘inflate‘ and ‘deflate‘ functions via ‘:inflate‘ or ‘:deflate‘ keywords in ‘defclass‘.

“‘common-lisp
(defclass user ()
((name :type string
:initarg :name)
(created-at :type timestamp
:col-type integer
:initarg :created-at
:inflate #’local-time:universal-to-timestamp
:deflate #’local-time:timestamp-to-universal))
(:metaclass integral:<dao-table-class>))
“‘

### Relations

Although Integral doesn’t have a specific feature for relations like ‘:has-a‘ and ‘:has-many‘, it can be done with normal methods.

“‘common-lisp
(defmethod user-config ((user user))
(find-dao ’user-config (user-id user)))

(defmethod user-entries ((user user))
(select-dao ’entry (where (:= :user_id (user-id user)))))
“‘

### Wanna write a raw SQL?

“‘common-lisp
(import ’integral:retrieve-by-sql)

(retrieve-by-sql "SELECT * FROM user")
;=> ((:%oid 1 :name "深町英太郎"
; :profile "I love Common Lisp and beer")
; (:%oid 2 :name "Tomohiro Matsuyama"
; :profile NIL))
“‘

‘retrieve-by-sql‘ takes ‘:as‘ keyword argument to specify a class of the result record.

“‘common-lisp
(retrieve-sql "SELECT * FROM user" :as ’user)
;=> (#<USER %oid: 1> #<USER %oid: 2>)
“‘

## Symbols

### Connections

* connect-toplevel (driver-name &rest args &key database-name &allow-other-keys)
* disconnect-toplevel ()

### Classes

* &lt;dao-class&gt;
* &lt;dao-table-class&gt;
* table-name (class)
* table-definition (class &key (yield t) if-not-exists)
* inflate (object slot-name value)
* deflate (object slot-name value)
* migrate-table (class)
* ensure-table-exists (class)
* recreate-table (class)
* \*auto-migration-mode\*

### SQL

* select-dao ((class &lt;dao-table-class&gt;) &rest expressions)
* insert-dao ((obj &lt;dao-class&gt;))
* create-dao ((class &lt;dao-table-class&gt;) &rest initargs)
* update-dao ((obj &lt;dao-class&gt;))
* delete-dao ((obj &lt;dao-class&gt;))
* execute-sql ((sql string) &optional binds)
* retrieve-by-sql ((sql string) &key binds as)
* save-dao ((obj &lt;dao-class&gt;))
* where
* order-by
* group-by
* limit

### Data types

* serial
* tinyint
* smallint
* mediumint
* bigint
* text
* varchar
* enum
* datetime
* date
* timestamp

### Errors

* &lt;integral-error&gt;
* &lt;connection-not-established-error&gt;
* &lt;unknown-primary-key-error&gt;
* &lt;type-missing-error&gt;
* &lt;migration-error&gt;

## See Also

* [CL-DBI](http://8arrow.org/cl-dbi/) - Database independent interface library.
* [SxQL](http://8arrow.org/sxql/) - SQL builder library.

## Author

* Eitaro Fukamachi (e.arrows@gmail.com)

## Copyright

Copyright (c) 2014 Eitaro Fukamachi (e.arrows@gmail.com)

# License

Licensed under the BSD 3-Clause License.

Version

0.0.1

Dependencies
Source

integral.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 integral/src

Parent

integral (system)

Location

src/

Components

Previous: , Up: Modules   [Contents][Index]

3.2 integral/src/connection-drivers

Dependencies
Parent

src (module)

Location

src/connection/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 integral.asd

Location

integral.asd

Systems

integral (system)

Packages

integral-asd


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 integral/src/integral.lisp

Dependencies
Parent

src (module)

Location

src/integral.lisp

Packages

integral

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 integral/src/table.lisp

Dependencies
Parent

src (module)

Location

src/table.lisp

Packages

integral.table

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 integral/src/column.lisp

Dependencies
Parent

src (module)

Location

src/column.lisp

Packages

integral.column

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 integral/src/connection.lisp

Dependencies
Parent

src (module)

Location

src/connection.lisp

Packages

integral.connection

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 integral/src/connection-drivers/mysql.lisp

Parent

connection-drivers (module)

Location

src/connection/mysql.lisp

Packages

integral.connection.mysql

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 integral/src/connection-drivers/postgres.lisp

Parent

connection-drivers (module)

Location

src/connection/postgres.lisp

Packages

integral.connection.postgres

Exported Definitions
Internal Definitions

get-serial-keys (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 integral/src/connection-drivers/sqlite3.lisp

Parent

connection-drivers (module)

Location

src/connection/sqlite3.lisp

Packages

integral.connection.sqlite3

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 integral/src/database.lisp

Dependency

connection.lisp (file)

Parent

src (module)

Location

src/database.lisp

Packages

integral.database

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 integral/src/migration.lisp

Dependencies
Parent

src (module)

Location

src/migration.lisp

Packages

integral.migration

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 integral/src/fixture.lisp

Dependencies
Parent

src (module)

Location

src/fixture.lisp

Packages

integral.fixture


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 integral/src/type.lisp

Dependency

util.lisp (file)

Parent

src (module)

Location

src/type.lisp

Packages

integral.type

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 integral/src/error.lisp

Parent

src (module)

Location

src/error.lisp

Packages

integral.error

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 integral/src/variable.lisp

Parent

src (module)

Location

src/variable.lisp

Packages

integral.variable

Exported Definitions

*auto-migration-mode* (special variable)


Previous: , Up: Lisp files   [Contents][Index]

4.1.15 integral/src/util.lisp

Parent

src (module)

Location

src/util.lisp

Packages

integral.util

Exported Definitions
Internal Definitions

%list-diff (function)


Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 integral-asd

Source

integral.asd

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 integral

Source

integral.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 integral.table

Source

table.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.4 integral.column

Source

column.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.5 integral.connection

Source

connection.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.6 integral.connection.mysql

Source

mysql.lisp (file)

Use List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.7 integral.connection.postgres

Source

postgres.lisp (file)

Use List
Exported Definitions
Internal Definitions

get-serial-keys (function)


Next: , Previous: , Up: Packages   [Contents][Index]

5.8 integral.connection.sqlite3

Source

sqlite3.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.9 integral.database

Source

database.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.10 integral.migration

Source

migration.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.11 integral.fixture

Source

fixture.lisp (file)

Use List

common-lisp


Next: , Previous: , Up: Packages   [Contents][Index]

5.12 integral.type

Source

type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.13 integral.error

Source

error.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.14 integral.variable

Source

variable.lisp (file)

Use List

common-lisp

Exported Definitions

*auto-migration-mode* (special variable)


Previous: , Up: Packages   [Contents][Index]

5.15 integral.util

Source

util.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

%list-diff (function)


Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *auto-migration-mode*

Whether use auto-migration mode or not.

Package

integral.variable

Source

variable.lisp (file)

Special Variable: *db*

Current connection object.

Package

integral.connection

Source

connection.lisp (file)

Special Variable: *sql-log-stream*
Package

integral.database

Source

database.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Macros

Macro: define-column-type TYPE-SYMBOL LAMBDA-LIST &body BODY
Package

integral.type

Source

type.lisp (file)

Macro: with-quote-char &body BODY
Package

integral.connection

Source

connection.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Functions

Function: class-inherit-p TARGET PARENT
Package

integral.util

Source

util.lisp (file)

Function: class-slot-names CLASS
Package

integral.util

Source

util.lisp (file)

Function: column-definitions CONN TABLE-NAME
Package

integral.connection.mysql

Source

mysql.lisp (file)

Function: column-definitions CONN TABLE-NAME
Package

integral.connection.postgres

Source

postgres.lisp (file)

Function: column-definitions CONN TABLE-NAME
Package

integral.connection.sqlite3

Source

sqlite3.lisp (file)

Function: connect-toplevel DRIVER-NAME &rest ARGS &key DATABASE-NAME &allow-other-keys

Connect to the database with given ‘ARGS’.
Same as DBI:CONNECT except this has a simple cache mechanizm.

Package

integral.connection

Source

connection.lisp (file)

Function: connected-p ()

Return whether already connected to a database.

Package

integral.connection

Source

connection.lisp (file)

Function: connection-quote-character &optional CONN
Package

integral.connection

Source

connection.lisp (file)

Function: database-type ()

Return the database type of the current connection. It is one of :mysql, :postgres and :sqlite3. If no connections are established, NIL will be returned.

Package

integral.connection

Source

connection.lisp (file)

Function: disconnect-toplevel ()

Disconnect the current connection.
If no connections established, this do nothing.

Package

integral.connection

Source

connection.lisp (file)

Function: escaped-symbol-p SYMBOL
Package

integral.util

Source

util.lisp (file)

Function: finalize-class-if-necessary CLASS
Package

integral.util

Source

util.lisp (file)

Function: get-connection ()

Return the current established connection handle.

Package

integral.connection

Source

connection.lisp (file)

Function: get-slot-by-slot-name OBJ SLOT-NAME
Package

integral.util

Source

util.lisp (file)

Function: group-by-plist-key PLIST &key KEY TEST
Package

integral.util

Source

util.lisp (file)

Function: is-type-equal A B
Package

integral.type

Source

type.lisp (file)

Function: last-insert-id CONN TABLE-NAME SERIAL-KEY-NAME

Return the last value of a serial column.

Package

integral.connection

Source

connection.lisp (file)

Function: last-insert-id CONN TABLE-NAME SERIAL-KEY-NAME
Package

integral.connection.mysql

Source

mysql.lisp (file)

Function: last-insert-id CONN TABLE-NAME SERIAL-KEY-NAME
Package

integral.connection.postgres

Source

postgres.lisp (file)

Function: last-insert-id CONN TABLE-NAME
Package

integral.connection.sqlite3

Source

sqlite3.lisp (file)

Function: lispify OBJECT
Package

integral.util

Source

util.lisp (file)

Function: list-diff A B &key SORT-KEY SORT-KEY-A SORT-KEY-B SORT-FN KEY TEST

Compute differences two lists.
Note this can be applied for a list of string-designators.

Package

integral.util

Source

util.lisp (file)

Function: make-connection DRIVER-NAME &rest ARGS &key DATABASE-NAME &allow-other-keys
Package

integral.connection

Source

connection.lisp (file)

Function: retrieve-table-column-definitions-by-name CONN TABLE-NAME

Retrieve column definitions of ‘TABLE-NAME’ from ‘CONN’.

Package

integral.connection

Source

connection.lisp (file)

Function: retrieve-table-indices CONN TABLE-NAME
Package

integral.connection

Source

connection.lisp (file)

Function: string-to-dbtype TYPE
Package

integral.type

Source

type.lisp (file)

Function: symbol-name-literally SYMBOL
Package

integral.util

Source

util.lisp (file)

Function: table-class-indices CLASS
Package

integral.table

Source

table.lisp (file)

Function: table-indices CONN TABLE-NAME
Package

integral.connection.mysql

Source

mysql.lisp (file)

Function: table-indices CONN TABLE-NAME
Package

integral.connection.postgres

Source

postgres.lisp (file)

Function: table-indices CONN TABLE-NAME
Package

integral.connection.sqlite3

Source

sqlite3.lisp (file)

Function: type-alias TYPE
Function: (setf type-alias) ALIAS TYPE
Package

integral.type

Source

type.lisp (file)

Function: unlispify OBJECT
Package

integral.util

Source

util.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Generic functions

Generic Function: auto-increment-p OBJECT
Generic Function: (setf auto-increment-p) NEW-VALUE OBJECT
Package

integral.column

Methods
Method: auto-increment-p (TABLE-COLUMN-DEFINITION table-column-definition)

automatically generated reader method

Source

column.lisp (file)

Method: (setf auto-increment-p) NEW-VALUE (TABLE-COLUMN-DEFINITION table-column-definition)

automatically generated writer method

Source

column.lisp (file)

Generic Function: cltype-to-dbtype TYPE &rest ARGS
Package

integral.type

Source

type.lisp (file)

Methods
Method: cltype-to-dbtype (TYPE0 (eql enum)) &rest ARGS1
Method: cltype-to-dbtype (TYPE0 (eql bigserial)) &rest ARGS1
Method: cltype-to-dbtype (TYPE0 (eql serial)) &rest ARGS1
Method: cltype-to-dbtype (TYPE0 (eql string)) &rest ARGS1
Method: cltype-to-dbtype TYPE &rest ARGS
Method: cltype-to-dbtype (TYPE list) &rest ARGS
Generic Function: column-info-for-create-table COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: column-info-for-create-table (COLUMN table-column-definition)
Generic Function: create-dao CLASS &rest INITARGS
Package

integral

Methods
Method: create-dao (CLASS symbol) &rest INITARGS
Source

integral.lisp (file)

Method: create-dao (CLASS <dao-table-class>) &rest INITARGS
Source

integral.lisp (file)

Generic Function: database-column-slot-names CLASS
Package

integral.table

Source

table.lisp (file)

Methods
Method: database-column-slot-names (CLASS <dao-table-class>)
Generic Function: database-column-slots CLASS

Same as C2MOP:CLASS-DIRECT-SLOTS except to remove ghost columns.

Package

integral.table

Source

table.lisp (file)

Methods
Method: database-column-slots (CLASS <dao-table-class>)
Generic Function: deflate OBJECT SLOT-NAME VALUE
Package

integral.table

Source

table.lisp (file)

Methods
Method: deflate (OBJECT <dao-class>) SLOT-NAME VALUE
Generic Function: delete-dao OBJ
Package

integral

Methods
Method: delete-dao (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: ensure-table-exists CLASS
Package

integral.table

Source

table.lisp (file)

Methods
Method: ensure-table-exists (CLASS symbol)
Method: ensure-table-exists (CLASS <dao-table-class>)
Generic Function: execute-sql SQL &optional BINDS
Package

integral.database

Methods
Method: execute-sql (SQL sql-statement) &optional BINDS
Source

database.lisp (file)

Method: execute-sql (SQL string) &optional BINDS
Source

database.lisp (file)

Generic Function: find-dao CLASS &rest PK-VALUES
Package

integral

Methods
Method: find-dao (CLASS symbol) &rest PK-VALUES
Source

integral.lisp (file)

Method: find-dao (CLASS <dao-table-class>) &rest PK-VALUES
Source

integral.lisp (file)

Generic Function: generate-defclass CLASS &key TABLE-NAME
Package

integral.table

Source

table.lisp (file)

Methods
Method: generate-defclass (CLASS <dao-table-class>) &key TABLE-NAME
Method: generate-defclass (CLASS symbol) &key TABLE-NAME
Generic Function: ghost-slot-p OBJECT
Generic Function: (setf ghost-slot-p) NEW-VALUE OBJECT
Package

integral.column

Methods
Method: ghost-slot-p (TABLE-COLUMN-DEFINITION table-column-definition)
Method: (setf ghost-slot-p) NEW-VALUE (TABLE-COLUMN-DEFINITION table-column-definition)

Option to specify slots as ghost slots. Ghost slots do not depend on a database.

Source

column.lisp (file)

Generic Function: inflate OBJECT SLOT-NAME VALUE
Package

integral.table

Source

table.lisp (file)

Methods
Method: inflate (OBJECT <dao-class>) SLOT-NAME VALUE
Generic Function: initialize-dao-table-class CLASS
Package

integral.table

Source

table.lisp (file)

Methods
Method: initialize-dao-table-class (CLASS <dao-table-class>)
Generic Function: insert-dao OBJ
Package

integral

Methods
Method: insert-dao (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: make-dao-instance CLASS &rest INITARGS
Package

integral.table

Source

table.lisp (file)

Methods
Method: make-dao-instance (CLASS symbol) &rest INITARGS
Method: make-dao-instance (CLASS <dao-table-class>) &rest INITARGS
Generic Function: make-migration-sql CLASS &key YIELD
Package

integral.migration

Source

migration.lisp (file)

Methods
Method: make-migration-sql (CLASS symbol) &key YIELD
Method: make-migration-sql (CLASS <dao-table-class>) &key YIELD
Generic Function: migrate-table CLASS
Package

integral.migration

Source

migration.lisp (file)

Methods
Method: migrate-table (CLASS symbol)
Method: migrate-table (CLASS <dao-table-class>)
Generic Function: primary-key-p OBJECT
Generic Function: (setf primary-key-p) NEW-VALUE OBJECT
Package

integral.column

Methods
Method: primary-key-p (TABLE-COLUMN-DEFINITION table-column-definition)

automatically generated reader method

Source

column.lisp (file)

Method: (setf primary-key-p) NEW-VALUE (TABLE-COLUMN-DEFINITION table-column-definition)

automatically generated writer method

Source

column.lisp (file)

Generic Function: recreate-table CLASS
Package

integral.table

Source

table.lisp (file)

Methods
Method: recreate-table (CLASS symbol)
Method: recreate-table (CLASS <dao-table-class>)
Generic Function: retrieve-by-raw-sql SQL &optional BINDS
Package

integral.database

Methods
Method: retrieve-by-raw-sql (SQL sql-statement) &optional BINDS
Source

database.lisp (file)

Method: retrieve-by-raw-sql (SQL string) &optional BINDS
Source

database.lisp (file)

Generic Function: retrieve-by-sql SQL &key BINDS AS
Package

integral

Methods
Method: retrieve-by-sql (SQL sql-statement) &key BINDS AS
Source

integral.lisp (file)

Method: retrieve-by-sql (SQL string) &key BINDS AS
Source

integral.lisp (file)

Generic Function: save-dao OBJ
Package

integral

Methods
Method: save-dao (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: select-dao CLASS &rest EXPRESSIONS
Package

integral

Methods
Method: select-dao (CLASS symbol) &rest EXPRESSIONS
Source

integral.lisp (file)

Method: select-dao (CLASS <dao-table-class>) &rest EXPRESSIONS
Source

integral.lisp (file)

Generic Function: slot-definition-to-plist SLOT
Package

integral.column

Source

column.lisp (file)

Methods
Method: slot-definition-to-plist (SLOT standard-slot-definition)
Generic Function: table-column-deflate COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: table-column-deflate (COLUMN table-column-definition)
Generic Function: table-column-inflate COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: table-column-inflate (COLUMN table-column-definition)
Generic Function: table-column-satisfies COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: table-column-satisfies (COLUMN table-column-definition)
Generic Function: table-definition CLASS &key YIELD IF-NOT-EXISTS
Package

integral.table

Source

table.lisp (file)

Methods
Method: table-definition (CLASS symbol) &key YIELD IF-NOT-EXISTS
Method: table-definition (CLASS <dao-table-class>) &key YIELD IF-NOT-EXISTS
Generic Function: table-name CLASS

Return the table name of ‘CLASS’ as a string.

Package

integral.table

Source

table.lisp (file)

Methods
Method: table-name (CLASS <dao-table-class>)
Method: table-name (OBJ <dao-class>)
Method: table-name (CLASS symbol)
Generic Function: table-primary-key CLASS

Return the primary key as a list.

Package

integral.table

Source

table.lisp (file)

Methods
Method: table-primary-key (CLASS <dao-table-class>)
Generic Function: table-serial-key CLASS

Return the serial key as a symbol or NIL if there’s no serial keys.

Package

integral.table

Source

table.lisp (file)

Methods
Method: table-serial-key (CLASS <dao-table-class>)
Generic Function: type-deflate TYPE VALUE
Package

integral.table

Source

table.lisp (file)

Methods
Method: type-deflate (TYPE (eql boolean)) VALUE
Generic Function: type-inflate TYPE VALUE
Package

integral.table

Source

table.lisp (file)

Methods
Method: type-inflate (TYPE (eql boolean)) VALUE
Generic Function: update-dao OBJ
Package

integral

Methods
Method: update-dao (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: valid-p OBJECT
Package

integral.table

Source

table.lisp (file)

Methods
Method: valid-p (OBJECT <dao-class>)

Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Conditions

Condition: <connection-not-established-error> ()
Package

integral.error

Source

error.lisp (file)

Direct superclasses

<integral-error> (condition)

Condition: <integral-error> ()
Package

integral.error

Source

error.lisp (file)

Direct superclasses

simple-error (condition)

Direct subclasses
Condition: <migration-error> ()
Package

integral.error

Source

error.lisp (file)

Direct superclasses

<integral-error> (condition)

Condition: <type-missing-error> ()
Package

integral.error

Source

error.lisp (file)

Direct superclasses

<integral-error> (condition)

Direct slots
Slot: slot-name
Initargs

:slot-name

Condition: <unknown-primary-key-error> ()
Package

integral.error

Source

error.lisp (file)

Direct superclasses

<integral-error> (condition)

Direct slots
Slot: table-name
Initargs

:table-name


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Classes

Class: <dao-class> ()

Base class of classes whose metaclass is <DAO-TABLE-CLASS>. The inheritance will be done implicitly. If you want to use another class, specify it as a superclass in the usual way.

Package

integral.table

Source

table.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Class: <dao-table-class> ()

Metaclass to define classes for your database-access objects as regular CLOS classes.

Package

integral.table

Source

table.lisp (file)

Direct superclasses

standard-class (class)

Direct methods
Direct slots
Slot: primary-key
Initargs

:primary-key

Slot: unique-keys
Initargs

:unique-keys

Slot: keys
Type

list

Initargs

:keys

Slot: table-name
Type

(trivial-types:proper-list (quote string))

Initargs

:table-name

Slot: generate-slots
Type

(trivial-types:proper-list (quote boolean))

Initargs

:generate-slots

Slot: auto-pk
Type

(trivial-types:proper-list (quote boolean))

Initargs

:auto-pk

Initform

(quote (t))

Slot: %initialized
Type

boolean

Readers

initializedp (generic function)

Writers

(setf initializedp) (generic function)

Class: table-column-definition ()
Package

integral.column

Source

column.lisp (file)

Direct superclasses

standard-direct-slot-definition (class)

Direct methods
Direct slots
Slot: col-type
Type

(or symbol cons)

Initargs

:col-type

Slot: primary-key
Type

boolean

Initargs

:primary-key

Readers

primary-key-p (generic function)

Writers

(setf primary-key-p) (generic function)

Slot: auto-increment
Type

boolean

Initargs

:auto-increment

Readers

auto-increment-p (generic function)

Writers

(setf auto-increment-p) (generic function)

Slot: not-null
Type

boolean

Initargs

:not-null

Slot: inflate
Type

(or function null)

Initargs

:inflate

Slot: deflate
Type

(or function null)

Initargs

:deflate

Slot: satisfies
Type

(or function null)

Initargs

:satisfies

Slot: ghost

Option to specify slots as ghost slots. Ghost slots do not depend on a database.

Type

boolean

Initargs

:ghost

Readers

ghost-slot-p (generic function)

Writers

(setf ghost-slot-p) (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.7 Types

Type: bigint &optional WIDTH
Package

integral.type

Source

type.lisp (file)

Type: bigserial ()
Package

integral.type

Source

type.lisp (file)

Type: date ()
Package

integral.type

Source

type.lisp (file)

Type: datetime ()
Package

integral.type

Source

type.lisp (file)

Type: enum &rest CANDIDATES
Package

integral.type

Source

type.lisp (file)

Type: mediumint &optional WIDTH
Package

integral.type

Source

type.lisp (file)

Type: serial ()
Package

integral.type

Source

type.lisp (file)

Type: smallint &optional WIDTH
Package

integral.type

Source

type.lisp (file)

Type: text ()
Package

integral.type

Source

type.lisp (file)

Type: timestamp &optional LENGTH
Package

integral.type

Source

type.lisp (file)

Type: tinyint &optional WIDTH
Package

integral.type

Source

type.lisp (file)

Type: varchar LENGTH
Package

integral.type

Source

type.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *oid-slot-definition*
Package

integral.table

Source

table.lisp (file)

Special Variable: *synced-slot-definition*
Package

integral.table

Source

table.lisp (file)

Special Variable: *table-column-definition-slots*
Package

integral.column

Source

column.lisp (file)

Special Variable: *type-alias-map*
Package

integral.type

Source

type.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Functions

Function: %generate-migration-sql-for-sqlite3 CLASS
Package

integral.migration

Source

migration.lisp (file)

Function: %generate-migration-sql-for-table-columns-others CLASS
Package

integral.migration

Source

migration.lisp (file)

Function: %list-diff A B &key KEY TEST
Package

integral.util

Source

util.lisp (file)

Function: %make-connection &key (CONNECT-ARGS CONNECT-ARGS) (DRIVER-NAME DRIVER-NAME) (HANDLE HANDLE)
Package

integral.connection

Source

connection.lisp (file)

Function: arranged-migration-sql CLASS
Package

integral.migration

Source

migration.lisp (file)

Function: compute-migrate-table-columns CLASS
Package

integral.migration

Source

migration.lisp (file)

Function: connection-connect-args INSTANCE
Function: (setf connection-connect-args) VALUE INSTANCE
Package

integral.connection

Source

connection.lisp (file)

Function: connection-driver-name INSTANCE
Function: (setf connection-driver-name) VALUE INSTANCE
Package

integral.connection

Source

connection.lisp (file)

Function: connection-handle INSTANCE
Function: (setf connection-handle) VALUE INSTANCE
Package

integral.connection

Source

connection.lisp (file)

Function: connection-p OBJECT
Package

integral.connection

Source

connection.lisp (file)

Function: contains-class-or-subclasses CLASS TARGET-CLASSES
Package

integral.table

Source

table.lisp (file)

Function: copy-connection INSTANCE
Package

integral.connection

Source

connection.lisp (file)

Function: find-type-deflate TYPE
Package

integral.table

Source

table.lisp (file)

Function: find-type-inflate TYPE
Package

integral.table

Source

table.lisp (file)

Function: generate-migration-sql-for-table-indices CLASS
Package

integral.migration

Source

migration.lisp (file)

Function: get-serial-keys CONN TABLE-NAME
Package

integral.connection.postgres

Source

postgres.lisp (file)

Function: initargs-contains-primary-key INITARGS
Package

integral.table

Source

table.lisp (file)

Function: make-connection-handle CONNECTION
Package

integral.connection

Source

connection.lisp (file)

Function: make-set-clause OBJ
Package

integral

Source

integral.lisp (file)

Function: parse-type-vars VARS
Package

integral.type

Source

type.lisp (file)

Function: table-info CONN TABLE-NAME
Package

integral.connection.sqlite3

Source

sqlite3.lisp (file)

Function: table-primary-keys CONN TABLE-NAME
Package

integral.connection.sqlite3

Source

sqlite3.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Generic functions

Generic Function: initializedp OBJECT
Generic Function: (setf initializedp) NEW-VALUE OBJECT
Package

integral.table

Methods
Method: initializedp (<DAO-TABLE-CLASS> <dao-table-class>)

automatically generated reader method

Source

table.lisp (file)

Method: (setf initializedp) NEW-VALUE (<DAO-TABLE-CLASS> <dao-table-class>)

automatically generated writer method

Source

table.lisp (file)

Generic Function: make-delete-sql OBJ
Package

integral

Methods
Method: make-delete-sql (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: make-find-sql CLASS &rest PK-VALUES
Package

integral

Methods
Method: make-find-sql (CLASS <dao-table-class>) &rest PK-VALUES
Source

integral.lisp (file)

Generic Function: make-insert-sql OBJ
Package

integral

Methods
Method: make-insert-sql (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: make-update-sql OBJ
Package

integral

Methods
Method: make-update-sql (OBJ <dao-class>)
Source

integral.lisp (file)

Generic Function: table-column-name COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: table-column-name (COLUMN table-column-definition)
Generic Function: table-column-type COLUMN
Package

integral.column

Source

column.lisp (file)

Methods
Method: table-column-type (COLUMN table-column-definition)

Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Structures

Structure: connection ()

Class of database connection

Package

integral.connection

Source

connection.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: connect-args
Type

list

Readers

connection-connect-args (function)

Writers

(setf connection-connect-args) (function)

Slot: driver-name
Type

keyword

Readers

connection-driver-name (function)

Writers

(setf connection-driver-name) (function)

Slot: handle
Type

(or dbi.driver:<dbi-connection> null)

Readers

connection-handle (function)

Writers

(setf connection-handle) (function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   I   L   M  
Index Entry  Section

F
File, Lisp, integral.asd: The integral<dot>asd file
File, Lisp, integral/src/column.lisp: The integral/src/column<dot>lisp file
File, Lisp, integral/src/connection-drivers/mysql.lisp: The integral/src/connection-drivers/mysql<dot>lisp file
File, Lisp, integral/src/connection-drivers/postgres.lisp: The integral/src/connection-drivers/postgres<dot>lisp file
File, Lisp, integral/src/connection-drivers/sqlite3.lisp: The integral/src/connection-drivers/sqlite3<dot>lisp file
File, Lisp, integral/src/connection.lisp: The integral/src/connection<dot>lisp file
File, Lisp, integral/src/database.lisp: The integral/src/database<dot>lisp file
File, Lisp, integral/src/error.lisp: The integral/src/error<dot>lisp file
File, Lisp, integral/src/fixture.lisp: The integral/src/fixture<dot>lisp file
File, Lisp, integral/src/integral.lisp: The integral/src/integral<dot>lisp file
File, Lisp, integral/src/migration.lisp: The integral/src/migration<dot>lisp file
File, Lisp, integral/src/table.lisp: The integral/src/table<dot>lisp file
File, Lisp, integral/src/type.lisp: The integral/src/type<dot>lisp file
File, Lisp, integral/src/util.lisp: The integral/src/util<dot>lisp file
File, Lisp, integral/src/variable.lisp: The integral/src/variable<dot>lisp file

I
integral.asd: The integral<dot>asd file
integral/src: The integral/src module
integral/src/column.lisp: The integral/src/column<dot>lisp file
integral/src/connection-drivers: The integral/src/connection-drivers module
integral/src/connection-drivers/mysql.lisp: The integral/src/connection-drivers/mysql<dot>lisp file
integral/src/connection-drivers/postgres.lisp: The integral/src/connection-drivers/postgres<dot>lisp file
integral/src/connection-drivers/sqlite3.lisp: The integral/src/connection-drivers/sqlite3<dot>lisp file
integral/src/connection.lisp: The integral/src/connection<dot>lisp file
integral/src/database.lisp: The integral/src/database<dot>lisp file
integral/src/error.lisp: The integral/src/error<dot>lisp file
integral/src/fixture.lisp: The integral/src/fixture<dot>lisp file
integral/src/integral.lisp: The integral/src/integral<dot>lisp file
integral/src/migration.lisp: The integral/src/migration<dot>lisp file
integral/src/table.lisp: The integral/src/table<dot>lisp file
integral/src/type.lisp: The integral/src/type<dot>lisp file
integral/src/util.lisp: The integral/src/util<dot>lisp file
integral/src/variable.lisp: The integral/src/variable<dot>lisp file

L
Lisp File, integral.asd: The integral<dot>asd file
Lisp File, integral/src/column.lisp: The integral/src/column<dot>lisp file
Lisp File, integral/src/connection-drivers/mysql.lisp: The integral/src/connection-drivers/mysql<dot>lisp file
Lisp File, integral/src/connection-drivers/postgres.lisp: The integral/src/connection-drivers/postgres<dot>lisp file
Lisp File, integral/src/connection-drivers/sqlite3.lisp: The integral/src/connection-drivers/sqlite3<dot>lisp file
Lisp File, integral/src/connection.lisp: The integral/src/connection<dot>lisp file
Lisp File, integral/src/database.lisp: The integral/src/database<dot>lisp file
Lisp File, integral/src/error.lisp: The integral/src/error<dot>lisp file
Lisp File, integral/src/fixture.lisp: The integral/src/fixture<dot>lisp file
Lisp File, integral/src/integral.lisp: The integral/src/integral<dot>lisp file
Lisp File, integral/src/migration.lisp: The integral/src/migration<dot>lisp file
Lisp File, integral/src/table.lisp: The integral/src/table<dot>lisp file
Lisp File, integral/src/type.lisp: The integral/src/type<dot>lisp file
Lisp File, integral/src/util.lisp: The integral/src/util<dot>lisp file
Lisp File, integral/src/variable.lisp: The integral/src/variable<dot>lisp file

M
Module, integral/src: The integral/src module
Module, integral/src/connection-drivers: The integral/src/connection-drivers module

Jump to:   F   I   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   I   L   M   P   R   S   T   U   V   W  
Index Entry  Section

%
%generate-migration-sql-for-sqlite3: Internal functions
%generate-migration-sql-for-table-columns-others: Internal functions
%list-diff: Internal functions
%make-connection: Internal functions

(
(setf auto-increment-p): Exported generic functions
(setf auto-increment-p): Exported generic functions
(setf connection-connect-args): Internal functions
(setf connection-driver-name): Internal functions
(setf connection-handle): Internal functions
(setf ghost-slot-p): Exported generic functions
(setf ghost-slot-p): Exported generic functions
(setf initializedp): Internal generic functions
(setf initializedp): Internal generic functions
(setf primary-key-p): Exported generic functions
(setf primary-key-p): Exported generic functions
(setf type-alias): Exported functions

A
arranged-migration-sql: Internal functions
auto-increment-p: Exported generic functions
auto-increment-p: Exported generic functions

C
class-inherit-p: Exported functions
class-slot-names: Exported functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
cltype-to-dbtype: Exported generic functions
column-definitions: Exported functions
column-definitions: Exported functions
column-definitions: Exported functions
column-info-for-create-table: Exported generic functions
column-info-for-create-table: Exported generic functions
compute-migrate-table-columns: Internal functions
connect-toplevel: Exported functions
connected-p: Exported functions
connection-connect-args: Internal functions
connection-driver-name: Internal functions
connection-handle: Internal functions
connection-p: Internal functions
connection-quote-character: Exported functions
contains-class-or-subclasses: Internal functions
copy-connection: Internal functions
create-dao: Exported generic functions
create-dao: Exported generic functions
create-dao: Exported generic functions

D
database-column-slot-names: Exported generic functions
database-column-slot-names: Exported generic functions
database-column-slots: Exported generic functions
database-column-slots: Exported generic functions
database-type: Exported functions
define-column-type: Exported macros
deflate: Exported generic functions
deflate: Exported generic functions
delete-dao: Exported generic functions
delete-dao: Exported generic functions
disconnect-toplevel: Exported functions

E
ensure-table-exists: Exported generic functions
ensure-table-exists: Exported generic functions
ensure-table-exists: Exported generic functions
escaped-symbol-p: Exported functions
execute-sql: Exported generic functions
execute-sql: Exported generic functions
execute-sql: Exported generic functions

F
finalize-class-if-necessary: Exported functions
find-dao: Exported generic functions
find-dao: Exported generic functions
find-dao: Exported generic functions
find-type-deflate: Internal functions
find-type-inflate: Internal functions
Function, %generate-migration-sql-for-sqlite3: Internal functions
Function, %generate-migration-sql-for-table-columns-others: Internal functions
Function, %list-diff: Internal functions
Function, %make-connection: Internal functions
Function, (setf connection-connect-args): Internal functions
Function, (setf connection-driver-name): Internal functions
Function, (setf connection-handle): Internal functions
Function, (setf type-alias): Exported functions
Function, arranged-migration-sql: Internal functions
Function, class-inherit-p: Exported functions
Function, class-slot-names: Exported functions
Function, column-definitions: Exported functions
Function, column-definitions: Exported functions
Function, column-definitions: Exported functions
Function, compute-migrate-table-columns: Internal functions
Function, connect-toplevel: Exported functions
Function, connected-p: Exported functions
Function, connection-connect-args: Internal functions
Function, connection-driver-name: Internal functions
Function, connection-handle: Internal functions
Function, connection-p: Internal functions
Function, connection-quote-character: Exported functions
Function, contains-class-or-subclasses: Internal functions
Function, copy-connection: Internal functions
Function, database-type: Exported functions
Function, disconnect-toplevel: Exported functions
Function, escaped-symbol-p: Exported functions
Function, finalize-class-if-necessary: Exported functions
Function, find-type-deflate: Internal functions
Function, find-type-inflate: Internal functions
Function, generate-migration-sql-for-table-indices: Internal functions
Function, get-connection: Exported functions
Function, get-serial-keys: Internal functions
Function, get-slot-by-slot-name: Exported functions
Function, group-by-plist-key: Exported functions
Function, initargs-contains-primary-key: Internal functions
Function, is-type-equal: Exported functions
Function, last-insert-id: Exported functions
Function, last-insert-id: Exported functions
Function, last-insert-id: Exported functions
Function, last-insert-id: Exported functions
Function, lispify: Exported functions
Function, list-diff: Exported functions
Function, make-connection: Exported functions
Function, make-connection-handle: Internal functions
Function, make-set-clause: Internal functions
Function, parse-type-vars: Internal functions
Function, retrieve-table-column-definitions-by-name: Exported functions
Function, retrieve-table-indices: Exported functions
Function, string-to-dbtype: Exported functions
Function, symbol-name-literally: Exported functions
Function, table-class-indices: Exported functions
Function, table-indices: Exported functions
Function, table-indices: Exported functions
Function, table-indices: Exported functions
Function, table-info: Internal functions
Function, table-primary-keys: Internal functions
Function, type-alias: Exported functions
Function, unlispify: Exported functions

G
generate-defclass: Exported generic functions
generate-defclass: Exported generic functions
generate-defclass: Exported generic functions
generate-migration-sql-for-table-indices: Internal functions
Generic Function, (setf auto-increment-p): Exported generic functions
Generic Function, (setf ghost-slot-p): Exported generic functions
Generic Function, (setf initializedp): Internal generic functions
Generic Function, (setf primary-key-p): Exported generic functions
Generic Function, auto-increment-p: Exported generic functions
Generic Function, cltype-to-dbtype: Exported generic functions
Generic Function, column-info-for-create-table: Exported generic functions
Generic Function, create-dao: Exported generic functions
Generic Function, database-column-slot-names: Exported generic functions
Generic Function, database-column-slots: Exported generic functions
Generic Function, deflate: Exported generic functions
Generic Function, delete-dao: Exported generic functions
Generic Function, ensure-table-exists: Exported generic functions
Generic Function, execute-sql: Exported generic functions
Generic Function, find-dao: Exported generic functions
Generic Function, generate-defclass: Exported generic functions
Generic Function, ghost-slot-p: Exported generic functions
Generic Function, inflate: Exported generic functions
Generic Function, initialize-dao-table-class: Exported generic functions
Generic Function, initializedp: Internal generic functions
Generic Function, insert-dao: Exported generic functions
Generic Function, make-dao-instance: Exported generic functions
Generic Function, make-delete-sql: Internal generic functions
Generic Function, make-find-sql: Internal generic functions
Generic Function, make-insert-sql: Internal generic functions
Generic Function, make-migration-sql: Exported generic functions
Generic Function, make-update-sql: Internal generic functions
Generic Function, migrate-table: Exported generic functions
Generic Function, primary-key-p: Exported generic functions
Generic Function, recreate-table: Exported generic functions
Generic Function, retrieve-by-raw-sql: Exported generic functions
Generic Function, retrieve-by-sql: Exported generic functions
Generic Function, save-dao: Exported generic functions
Generic Function, select-dao: Exported generic functions
Generic Function, slot-definition-to-plist: Exported generic functions
Generic Function, table-column-deflate: Exported generic functions
Generic Function, table-column-inflate: Exported generic functions
Generic Function, table-column-name: Internal generic functions
Generic Function, table-column-satisfies: Exported generic functions
Generic Function, table-column-type: Internal generic functions
Generic Function, table-definition: Exported generic functions
Generic Function, table-name: Exported generic functions
Generic Function, table-primary-key: Exported generic functions
Generic Function, table-serial-key: Exported generic functions
Generic Function, type-deflate: Exported generic functions
Generic Function, type-inflate: Exported generic functions
Generic Function, update-dao: Exported generic functions
Generic Function, valid-p: Exported generic functions
get-connection: Exported functions
get-serial-keys: Internal functions
get-slot-by-slot-name: Exported functions
ghost-slot-p: Exported generic functions
ghost-slot-p: Exported generic functions
group-by-plist-key: Exported functions

I
inflate: Exported generic functions
inflate: Exported generic functions
initargs-contains-primary-key: Internal functions
initialize-dao-table-class: Exported generic functions
initialize-dao-table-class: Exported generic functions
initializedp: Internal generic functions
initializedp: Internal generic functions
insert-dao: Exported generic functions
insert-dao: Exported generic functions
is-type-equal: Exported functions

L
last-insert-id: Exported functions
last-insert-id: Exported functions
last-insert-id: Exported functions
last-insert-id: Exported functions
lispify: Exported functions
list-diff: Exported functions

M
Macro, define-column-type: Exported macros
Macro, with-quote-char: Exported macros
make-connection: Exported functions
make-connection-handle: Internal functions
make-dao-instance: Exported generic functions
make-dao-instance: Exported generic functions
make-dao-instance: Exported generic functions
make-delete-sql: Internal generic functions
make-delete-sql: Internal generic functions
make-find-sql: Internal generic functions
make-find-sql: Internal generic functions
make-insert-sql: Internal generic functions
make-insert-sql: Internal generic functions
make-migration-sql: Exported generic functions
make-migration-sql: Exported generic functions
make-migration-sql: Exported generic functions
make-set-clause: Internal functions
make-update-sql: Internal generic functions
make-update-sql: Internal generic functions
Method, (setf auto-increment-p): Exported generic functions
Method, (setf ghost-slot-p): Exported generic functions
Method, (setf initializedp): Internal generic functions
Method, (setf primary-key-p): Exported generic functions
Method, auto-increment-p: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, cltype-to-dbtype: Exported generic functions
Method, column-info-for-create-table: Exported generic functions
Method, create-dao: Exported generic functions
Method, create-dao: Exported generic functions
Method, database-column-slot-names: Exported generic functions
Method, database-column-slots: Exported generic functions
Method, deflate: Exported generic functions
Method, delete-dao: Exported generic functions
Method, ensure-table-exists: Exported generic functions
Method, ensure-table-exists: Exported generic functions
Method, execute-sql: Exported generic functions
Method, execute-sql: Exported generic functions
Method, find-dao: Exported generic functions
Method, find-dao: Exported generic functions
Method, generate-defclass: Exported generic functions
Method, generate-defclass: Exported generic functions
Method, ghost-slot-p: Exported generic functions
Method, inflate: Exported generic functions
Method, initialize-dao-table-class: Exported generic functions
Method, initializedp: Internal generic functions
Method, insert-dao: Exported generic functions
Method, make-dao-instance: Exported generic functions
Method, make-dao-instance: Exported generic functions
Method, make-delete-sql: Internal generic functions
Method, make-find-sql: Internal generic functions
Method, make-insert-sql: Internal generic functions
Method, make-migration-sql: Exported generic functions
Method, make-migration-sql: Exported generic functions
Method, make-update-sql: Internal generic functions
Method, migrate-table: Exported generic functions
Method, migrate-table: Exported generic functions
Method, primary-key-p: Exported generic functions
Method, recreate-table: Exported generic functions
Method, recreate-table: Exported generic functions
Method, retrieve-by-raw-sql: Exported generic functions
Method, retrieve-by-raw-sql: Exported generic functions
Method, retrieve-by-sql: Exported generic functions
Method, retrieve-by-sql: Exported generic functions
Method, save-dao: Exported generic functions
Method, select-dao: Exported generic functions
Method, select-dao: Exported generic functions
Method, slot-definition-to-plist: Exported generic functions
Method, table-column-deflate: Exported generic functions
Method, table-column-inflate: Exported generic functions
Method, table-column-name: Internal generic functions
Method, table-column-satisfies: Exported generic functions
Method, table-column-type: Internal generic functions
Method, table-definition: Exported generic functions
Method, table-definition: Exported generic functions
Method, table-name: Exported generic functions
Method, table-name: Exported generic functions
Method, table-name: Exported generic functions
Method, table-primary-key: Exported generic functions
Method, table-serial-key: Exported generic functions
Method, type-deflate: Exported generic functions
Method, type-inflate: Exported generic functions
Method, update-dao: Exported generic functions
Method, valid-p: Exported generic functions
migrate-table: Exported generic functions
migrate-table: Exported generic functions
migrate-table: Exported generic functions

P
parse-type-vars: Internal functions
primary-key-p: Exported generic functions
primary-key-p: Exported generic functions

R
recreate-table: Exported generic functions
recreate-table: Exported generic functions
recreate-table: Exported generic functions
retrieve-by-raw-sql: Exported generic functions
retrieve-by-raw-sql: Exported generic functions
retrieve-by-raw-sql: Exported generic functions
retrieve-by-sql: Exported generic functions
retrieve-by-sql: Exported generic functions
retrieve-by-sql: Exported generic functions
retrieve-table-column-definitions-by-name: Exported functions
retrieve-table-indices: Exported functions

S
save-dao: Exported generic functions
save-dao: Exported generic functions
select-dao: Exported generic functions
select-dao: Exported generic functions
select-dao: Exported generic functions
slot-definition-to-plist: Exported generic functions
slot-definition-to-plist: Exported generic functions
string-to-dbtype: Exported functions
symbol-name-literally: Exported functions

T
table-class-indices: Exported functions
table-column-deflate: Exported generic functions
table-column-deflate: Exported generic functions
table-column-inflate: Exported generic functions
table-column-inflate: Exported generic functions
table-column-name: Internal generic functions
table-column-name: Internal generic functions
table-column-satisfies: Exported generic functions
table-column-satisfies: Exported generic functions
table-column-type: Internal generic functions
table-column-type: Internal generic functions
table-definition: Exported generic functions
table-definition: Exported generic functions
table-definition: Exported generic functions
table-indices: Exported functions
table-indices: Exported functions
table-indices: Exported functions
table-info: Internal functions
table-name: Exported generic functions
table-name: Exported generic functions
table-name: Exported generic functions
table-name: Exported generic functions
table-primary-key: Exported generic functions
table-primary-key: Exported generic functions
table-primary-keys: Internal functions
table-serial-key: Exported generic functions
table-serial-key: Exported generic functions
type-alias: Exported functions
type-deflate: Exported generic functions
type-deflate: Exported generic functions
type-inflate: Exported generic functions
type-inflate: Exported generic functions

U
unlispify: Exported functions
update-dao: Exported generic functions
update-dao: Exported generic functions

V
valid-p: Exported generic functions
valid-p: Exported generic functions

W
with-quote-char: Exported macros

Jump to:   %   (  
A   C   D   E   F   G   I   L   M   P   R   S   T   U   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   %   *  
A   C   D   G   H   I   K   N   P   S   T   U  
Index Entry  Section

%
%initialized: Exported classes

*
*auto-migration-mode*: Exported special variables
*db*: Exported special variables
*oid-slot-definition*: Internal special variables
*sql-log-stream*: Exported special variables
*synced-slot-definition*: Internal special variables
*table-column-definition-slots*: Internal special variables
*type-alias-map*: Internal special variables

A
auto-increment: Exported classes
auto-pk: Exported classes

C
col-type: Exported classes
connect-args: Internal structures

D
deflate: Exported classes
driver-name: Internal structures

G
generate-slots: Exported classes
ghost: Exported classes

H
handle: Internal structures

I
inflate: Exported classes

K
keys: Exported classes

N
not-null: Exported classes

P
primary-key: Exported classes
primary-key: Exported classes

S
satisfies: Exported classes
Slot, %initialized: Exported classes
Slot, auto-increment: Exported classes
Slot, auto-pk: Exported classes
Slot, col-type: Exported classes
Slot, connect-args: Internal structures
Slot, deflate: Exported classes
Slot, driver-name: Internal structures
Slot, generate-slots: Exported classes
Slot, ghost: Exported classes
Slot, handle: Internal structures
Slot, inflate: Exported classes
Slot, keys: Exported classes
Slot, not-null: Exported classes
Slot, primary-key: Exported classes
Slot, primary-key: Exported classes
Slot, satisfies: Exported classes
Slot, slot-name: Exported conditions
Slot, table-name: Exported conditions
Slot, table-name: Exported classes
Slot, unique-keys: Exported classes
slot-name: Exported conditions
Special Variable, *auto-migration-mode*: Exported special variables
Special Variable, *db*: Exported special variables
Special Variable, *oid-slot-definition*: Internal special variables
Special Variable, *sql-log-stream*: Exported special variables
Special Variable, *synced-slot-definition*: Internal special variables
Special Variable, *table-column-definition-slots*: Internal special variables
Special Variable, *type-alias-map*: Internal special variables

T
table-name: Exported conditions
table-name: Exported classes

U
unique-keys: Exported classes

Jump to:   %   *  
A   C   D   G   H   I   K   N   P   S   T   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   <  
B   C   D   E   I   M   P   S   T   V  
Index Entry  Section

<
<connection-not-established-error>: Exported conditions
<dao-class>: Exported classes
<dao-table-class>: Exported classes
<integral-error>: Exported conditions
<migration-error>: Exported conditions
<type-missing-error>: Exported conditions
<unknown-primary-key-error>: Exported conditions

B
bigint: Exported types
bigserial: Exported types

C
Class, <dao-class>: Exported classes
Class, <dao-table-class>: Exported classes
Class, table-column-definition: Exported classes
Condition, <connection-not-established-error>: Exported conditions
Condition, <integral-error>: Exported conditions
Condition, <migration-error>: Exported conditions
Condition, <type-missing-error>: Exported conditions
Condition, <unknown-primary-key-error>: Exported conditions
connection: Internal structures

D
date: Exported types
datetime: Exported types

E
enum: Exported types

I
integral: The integral system
integral: The integral package
integral-asd: The integral-asd package
integral.column: The integral<dot>column package
integral.connection: The integral<dot>connection package
integral.connection.mysql: The integral<dot>connection<dot>mysql package
integral.connection.postgres: The integral<dot>connection<dot>postgres package
integral.connection.sqlite3: The integral<dot>connection<dot>sqlite3 package
integral.database: The integral<dot>database package
integral.error: The integral<dot>error package
integral.fixture: The integral<dot>fixture package
integral.migration: The integral<dot>migration package
integral.table: The integral<dot>table package
integral.type: The integral<dot>type package
integral.util: The integral<dot>util package
integral.variable: The integral<dot>variable package

M
mediumint: Exported types

P
Package, integral: The integral package
Package, integral-asd: The integral-asd package
Package, integral.column: The integral<dot>column package
Package, integral.connection: The integral<dot>connection package
Package, integral.connection.mysql: The integral<dot>connection<dot>mysql package
Package, integral.connection.postgres: The integral<dot>connection<dot>postgres package
Package, integral.connection.sqlite3: The integral<dot>connection<dot>sqlite3 package
Package, integral.database: The integral<dot>database package
Package, integral.error: The integral<dot>error package
Package, integral.fixture: The integral<dot>fixture package
Package, integral.migration: The integral<dot>migration package
Package, integral.table: The integral<dot>table package
Package, integral.type: The integral<dot>type package
Package, integral.util: The integral<dot>util package
Package, integral.variable: The integral<dot>variable package

S
serial: Exported types
smallint: Exported types
Structure, connection: Internal structures
System, integral: The integral system

T
table-column-definition: Exported classes
text: Exported types
timestamp: Exported types
tinyint: Exported types
Type, bigint: Exported types
Type, bigserial: Exported types
Type, date: Exported types
Type, datetime: Exported types
Type, enum: Exported types
Type, mediumint: Exported types
Type, serial: Exported types
Type, smallint: Exported types
Type, text: Exported types
Type, timestamp: Exported types
Type, tinyint: Exported types
Type, varchar: Exported types

V
varchar: Exported types

Jump to:   <  
B   C   D   E   I   M   P   S   T   V