The clsql-helper Reference Manual

This is the clsql-helper Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:02:51 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 clsql-helper

A library providing a clutch of utilities to make working with clsql easier

License

BSD

Version

0.1

Dependencies
  • iterate (system).
  • clsql (system).
  • closer-mop (system).
  • cl-ppcre (system).
  • cl-interpol (system).
  • symbol-munger (system).
  • alexandria (system).
  • md5 (system).
  • access (system).
  • collectors (system).
Source

clsql-helper.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 clsql-helper/clsql-helper.asd

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

ASDF Systems

clsql-helper.

Packages

clsql-helper.system.


3.1.2 clsql-helper/package.lisp

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Packages

clsql-helper.


3.1.3 clsql-helper/utils.lisp

Dependency

package.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.4 clsql-helper/iterate-clauses.lisp

Dependency

utils.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Internals

3.1.5 clsql-helper/connections.lisp

Dependency

iterate-clauses.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.6 clsql-helper/date.lisp

Dependency

connections.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.7 clsql-helper/clsql.lisp

Dependency

date.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.8 clsql-helper/db-object.lisp

Dependency

clsql.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.9 clsql-helper/dirty.lisp

Dependency

db-object.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.10 clsql-helper/migrations.lisp

Dependency

dirty.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.11 clsql-helper/merge.lisp

Dependency

migrations.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

3.1.12 clsql-helper/recency.lisp

Dependency

merge.lisp (file).

Source

clsql-helper.asd.

Parent Component

clsql-helper (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 clsql-helper.system

Source

clsql-helper.asd.

Use List
  • asdf/interface.
  • common-lisp.

4.2 clsql-helper

Source

package.lisp.

Use List
  • common-lisp.
  • common-lisp-user.
  • iterate.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *command-log-stream*

a stream that we will record sql commands to in the body of

Package

clsql-helper.

Source

utils.lisp.

Special Variable: *connection-database*

A variable that when bound to a connection-database object will look up

Package

clsql-helper.

Source

connections.lisp.

Special Variable: *connection-settings*
Package

clsql-helper.

Source

utils.lisp.

Special Variable: *migration-table-name*

the table name to use for migrations

Package

clsql-helper.

Source

migrations.lisp.

Special Variable: +a-day+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-minute+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-month+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-day+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-hour+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-minute+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-month+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-second+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-negative-year+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-second+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +a-year+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +an-hour+
Package

clsql-helper.

Source

utils.lisp.


5.1.2 Macros

Macro: convert-to-clsql-date! (&rest places)
Package

clsql-helper.

Source

date.lisp.

Macro: convert-to-clsql-datetime! (&rest places)
Package

clsql-helper.

Source

date.lisp.

Macro: db-null! (&rest places)
Package

clsql-helper.

Source

clsql.lisp.

Macro: log-database-command ((&optional log-fn-name database) &body body)

MUST BE Inside a database connection, creates a lexical scope in which all sql commands executed on this connection are logged to a specific logger

tries to format such that it will be readable in the log

log-fn-name is a function/macro name that will be called with a string/array as (log-fn-name stuff)

Package

clsql-helper.

Source

clsql.lisp.

Macro: with-a-database ((&optional connection-settings &key post-connect-fn log) &body body)

If a database connection exists and it matches the passed in settings or the passed in settings are null, use it!, otherwise aquire a new database connection

Package

clsql-helper.

Source

connections.lisp.

Macro: with-a-transaction ((&key database) &body body)

Wrapper around clsql:with-transaction, when a rollback is issued the code escapes (throw) to the outermost with-a-transaction.

without the catch, its possible for an error handler in an intermediate function

Package

clsql-helper.

Source

connections.lisp.

Macro: with-command-logging ((&key database) &body body)

record commands to the *command-log-stream* for the duration of body then restore its previous binding

Package

clsql-helper.

Source

clsql.lisp.

Macro: with-command-logging-to-string ((&key string database) &body body)

Log the sql commands of the body to a string

Package

clsql-helper.

Source

clsql.lisp.

Macro: with-database ((&optional connection-settings &key post-connect-fn log) &body body)

opens a database connection and executes the body

connect-settings: a plist of connection info for clsql, also supports :post-connect-fn, a function to run after opening the connection

post-connect-fn: a function of no arguments to run after opening the connection

Package

clsql-helper.

Source

connections.lisp.


5.1.3 Ordinary functions

Function: add-connection-spec (name spec &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: after-day-of-month (date day)

Are we past a specific day of the month

Package

clsql-helper.

Source

date.lisp.

Function: before-day-of-month (date day)

Are we past a specific day of the month

Package

clsql-helper.

Source

date.lisp.

Function: clsql-and (&rest clauses)

returns a CLSQL:SQL-AND for all non-nil clauses, no nil if there are no non-nil clauses

Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-ands (clauses)
Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-column-name (column &optional table)
Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-date/times->utime (obj &optional timezone)

obj is either a wall-time or a date in local time. Converts to UTC and returns a utime.

pass timezone nil to skip UTC conversion.

if you are looking for the other it is clsql-sys:utime->time

Package

clsql-helper.

Source

date.lisp.

Function: clsql-datetime-equal (x y)

Tries to handle full datetime equality reguardless of the format (string datestamp, date, datetime, utime)

Package

clsql-helper.

Source

date.lisp.

Function: clsql-exp (s)
Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-get-val (sql &key log)

alias of get-scalar

Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-or (&rest clauses)

returns a CLSQL:SQL-AND for all non-nil clauses, no nil if there are no non-nil clauses

Package

clsql-helper.

Source

clsql.lisp.

Function: clsql-ors (clauses)

returns a CLSQL:SQL-AND for all non-nil clauses, no nil if there are no non-nil clauses

Package

clsql-helper.

Source

clsql.lisp.

Function: column-name-string (column)
Package

clsql-helper.

Source

clsql.lisp.

Function: current-sql-date ()

current date

Package

clsql-helper.

Source

date.lisp.

Function: current-sql-time ()

current date and time

Package

clsql-helper.

Source

date.lisp.

Function: current-timestamp ()
Package

clsql-helper.

Source

recency.lisp.

Function: date-add (d dur)
Package

clsql-helper.

Source

date.lisp.

Function: date-diff (d1 d2)

Gets the difference in days between two dates
returns a negative number to indicate that d1 is after d2 returns a positive number to indicate that d2 is after d1

Package

clsql-helper.

Source

date.lisp.

Function: day-after (&optional date)
Package

clsql-helper.

Source

date.lisp.

Function: day-before (&optional date)
Package

clsql-helper.

Source

date.lisp.

Function: days-in-month (&optional date)

Return the number of days in the month of the date passed in

Package

clsql-helper.

Source

date.lisp.

Function: db-exec (cmd &key params log)
Package

clsql-helper.

Source

clsql.lisp.

Function: db-null (it)

Returns a value or the string null

Package

clsql-helper.

Source

clsql.lisp.

Function: db-objs (class cmd &key params make-instances-fn log coerce-rows? column-munger)

retrieve objects of type class from the database using db-query

Package

clsql-helper.

Source

clsql.lisp.

Function: db-objs-select (class columns &key select-args make-instances-fn)
Package

clsql-helper.

Source

clsql.lisp.

Function: db-query (cmd &rest keys &key params log &allow-other-keys)

runs a db query

sets :flatp to t
if params are provided we build a command object (backend better support this)

Package

clsql-helper.

Source

clsql.lisp.

Function: db-query-plists (cmd &rest keys &key params log)

Returns a list of plists that correspond to the query results

Package

clsql-helper.

Source

clsql.lisp.

Function: db-scalar (cmd &rest keys &key params log)

Query a single value from the database

Package

clsql-helper.

Source

clsql.lisp.

Function: db-select (&rest select-args)

Runs a clsql:select

defaulting to :flatp T
unnests any lists as part of the select list

Package

clsql-helper.

Source

clsql.lisp.

Function: db-select-first (&rest select-args)

query a single row / value from the database using clsql:select

alias with db-select-scalar

Package

clsql-helper.

Source

clsql.lisp.

Function: db-select-scalar (&rest select-args)

query a single row / value from the database using clsql:select

alias with db-select-first which was deemed more aptly named when selecting a row

Package

clsql-helper.

Source

clsql.lisp.

Function: db-string (s &key prefix postfix wrapper)

trims, nullifies, escapes and wraps in single quotes so that the string is ready to be spliced into a query (eg: with cl-interpol). returns ’foo’ or NIL.

Package

clsql-helper.

Source

clsql.lisp.

Function: db-type-from-lisp-type (type &key length scale pg-default-int-type)
Package

clsql-helper.

Source

clsql.lisp.

Function: dt< (&rest d)
Package

clsql-helper.

Source

date.lisp.

Function: dt<= (&rest d)
Package

clsql-helper.

Source

date.lisp.

Function: dt> (&rest d)
Package

clsql-helper.

Source

date.lisp.

Function: dt>= (&rest d)
Package

clsql-helper.

Source

date.lisp.

Function: find-active-connection-name (name &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: find-any-active-connection-name (names &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: find-any-connection (names &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: find-connection (name &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: find-dirty-test (o slot-name)
Package

clsql-helper.

Source

dirty.lisp.

Function: first-of-next-month (&optional date)
Package

clsql-helper.

Source

date.lisp.

Function: first-of-the-month (&optional date)

returns the first of the month for the month/year of the date passed in

Package

clsql-helper.

Source

date.lisp.

Function: first-of-the-month? (&optional date)

returns whether or not the date passed in is the first of the month

Package

clsql-helper.

Source

date.lisp.

Function: format-value-for-database (d &optional stream)

prints a correctly sql escaped value for postgres

Package

clsql-helper.

Source

clsql.lisp.

Function: get-connection-spec (name-or-spec &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: has-db-data-to-store? (it &key exclude)
Package

clsql-helper.

Source

db-object.lisp.

Function: join-slot? (slot-def)
Package

clsql-helper.

Source

clsql.lisp.

Function: last-month (&optional date)
Package

clsql-helper.

Source

date.lisp.

Function: last-of-the-month (start-date)

Returns the first of next month eg: 2/14/2012->2/29/2012

Package

clsql-helper.

Source

date.lisp.

Function: last-of-the-month? (start-date)

Returns T if its the last day of the month

Package

clsql-helper.

Source

date.lisp.

Function: list-of-db-strings (list)

For use in creating ‘column IN (${stuff})‘ type of clauses

Package

clsql-helper.

Source

clsql.lisp.

Function: make-instance-plist (columns row)

Creates a plist intended to be passed to make-instance

Package

clsql-helper.

Source

clsql.lisp.

Function: make-instances (class columns rows)

From N rows and some column-names make N instances of class filling data from rows using make instance

Package

clsql-helper.

Source

clsql.lisp.

Function: make-instances-setting-access (class columns rows)

From N rows and column-name make N instances of class filling data from rows by creating instances and setting through access lib

Package

clsql-helper.

Source

clsql.lisp.

Function: make-instances-setting-accessors (class columns rows)

From N rows and column-name make N instances of class filling data from rows by creating instances and setting existing accessor functions

Package

clsql-helper.

Source

clsql.lisp.

Function: month-day-string (d)

prints dates as January 3

Package

clsql-helper.

Source

date.lisp.

Function: month-string (d)

Converts the date to the full name, January, February,etc

Package

clsql-helper.

Source

date.lisp.

Function: new-connection-database (&key db name new-connection)
Package

clsql-helper.

Source

connections.lisp.

Function: next-month (&optional date)
Package

clsql-helper.

Source

date.lisp.

Function: pretty-print-sql (sql-command)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-column-names (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-slot (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-slot-names (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-slots (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-value (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: primary-key-where-clauses (obj)

Generates a where clause based on all of the primary keys of the object ex: pk1 = val1 and pk2 = val2 ...

Package

clsql-helper.

Source

clsql.lisp.

Function: print-nullable-date (field)

if the date exists, prints m?m/d?d/yyyy

Package

clsql-helper.

Source

date.lisp.

Function: print-nullable-datetime (field)

if the date exists, prints mm/dd/yyyy hh:mm:ss

Package

clsql-helper.

Source

date.lisp.

Function: print-timestamp (field)

if the date exists, prints yyyy-mm-dd hh:mm:ss.uuuuuu

Package

clsql-helper.

Source

date.lisp.

Function: remove-connection-spec (name &key db)
Package

clsql-helper.

Source

connections.lisp.

Function: slot-db-stored? (slot-def &key kinds)
Package

clsql-helper.

Source

db-object.lisp.

Function: table-name-exp (table-name)

based on what is passed in, tries to figure out what the table name is

Package

clsql-helper.

Source

clsql.lisp.

Function: table-name-string (table-name)
Package

clsql-helper.

Source

clsql.lisp.

Function: type-coercion-error (val to-type)
Package

clsql-helper.

Source

clsql.lisp.

Function: with-a-database-context (body-fn &key connection-settings db post-connect-fn log)

If a database connection exists and it matches the passed in settings or the passed in settings are null, use it!, otherwise aquire a new database connection

Package

clsql-helper.

Source

connections.lisp.

Function: with-a-transaction-context (body-fn database)

Either establish a new transaction context (with-transaction-context) or run the body in the extisting transaction context

Package

clsql-helper.

Source

connections.lisp.

Function: with-database-context (body-fn &key connection-settings db post-connect-fn log)

opens a database connection with the given settings, and runs the function.

connect-settings: a plist of connection info for clsql, also supports :post-connect-fn, a function to run after opening the connection

post-connect-fn: a function of no arguments to run after opening the connection

Package

clsql-helper.

Source

connections.lisp.

Function: with-database-function (fn connect-settings &key post-connect-fn log)

Alias of with-database-context for backwards compatability
Creates a context inside which *default-database* is bound and runs the fn inside it

Package

clsql-helper.

Source

connections.lisp.

Function: with-transaction-context (body-fn database)

Establish a context for enlisting in transactions and run the body in a new transaction

Package

clsql-helper.

Source

connections.lisp.


5.1.4 Generic functions

Generic Reader: %retrieved-at (object)
Generic Writer: (setf %retrieved-at) (object)
Package

clsql-helper.

Methods
Reader Method: %retrieved-at ((recency-mixin recency-mixin))
Writer Method: (setf %retrieved-at) ((recency-mixin recency-mixin))

The Server time this was retrieved from the database
Named this way to reduce conflict likely hood with database columns

Source

recency.lisp.

Target Slot

%retrieved-at.

Generic Function: by-col (class column colvalue)

fetchs the first row for the given class by id

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: by-col (class column colvalue)
Generic Function: by-id (class id &optional colname)

Fetchs the first row for the given class by id

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: by-id (class id &optional colname)

direct implementation of by-id, (select class). fetchs the first row for the given class by id

Generic Function: coerce-value-to-db-type (val db-type)
Package

clsql-helper.

Methods
Method: coerce-value-to-db-type (val db-type)

Coerces a value to the correct db-type

if the conversion fails signals a continueable type-coercion-error (use-value is also available)

returns (values val coerced?)
the coerced value and whether or not a coersion took place

Source

clsql.lisp.

Generic Function: convert-to-clsql-date (val)

Convert your value into a clsql:date structure

Package

clsql-helper.

Source

date.lisp.

Methods
Method: convert-to-clsql-date (val)
Generic Function: convert-to-clsql-datetime (val)

Converts a string timestamp into a clsql date time object

Makes every possible effort to understand your date that will invariably be in some format it wont understand.

Package

clsql-helper.

Source

date.lisp.

Methods
Method: convert-to-clsql-datetime (val)
Generic Function: copy-instance (i)

Makes a copy of an instance via allocate instance then copies all slot-values and calls reinitialize-instance

Package

clsql-helper.

Source

merge.lisp.

Methods
Method: copy-instance (i)
Generic Function: date-day (d)

Given an object that encodes a date, return the day component

Package

clsql-helper.

Source

date.lisp.

Methods
Method: date-day (d)
Generic Function: date-month (d)

Given an object that encodes a date, return the month component

Package

clsql-helper.

Source

date.lisp.

Methods
Method: date-month (d)
Generic Function: date-year (d)

Given an object that encodes a date, return the year component

Package

clsql-helper.

Source

date.lisp.

Methods
Method: date-year (d)
Generic Function: db-eql (x y &key test)

Tries to determine if the objects are of the same type and have the same primary key values
Many times objects which pass new-objectp are db-eql ,but once saved are no longer db-eql (due to using serial pkey)

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: db-eql (x y &key test)
Generic Reader: dirty-slots (object)
Package

clsql-helper.

Methods
Reader Method: dirty-slots ((dirty-db-slots-mixin dirty-db-slots-mixin))

automatically generated reader method

Source

dirty.lisp.

Target Slot

dirty-slots.

Generic Writer: (setf dirty-slots) (object)
Package

clsql-helper.

Methods
Writer Method: (setf dirty-slots) ((dirty-db-slots-mixin dirty-db-slots-mixin))

automatically generated writer method

Source

dirty.lisp.

Target Slot

dirty-slots.

Generic Reader: dirty-test (object)
Package

clsql-helper.

Methods
Reader Method: dirty-test ((dirty-db-slots-mixin dirty-db-slots-mixin))

automatically generated reader method

Source

dirty.lisp.

Target Slot

dirty-test.

Generic Writer: (setf dirty-test) (object)
Package

clsql-helper.

Methods
Writer Method: (setf dirty-test) ((dirty-db-slots-mixin dirty-db-slots-mixin))

automatically generated writer method

Source

dirty.lisp.

Target Slot

dirty-test.

Generic Function: fill-identifier! (obj &key database)
Package

clsql-helper.

Methods
Method: fill-identifier! :around ((o dirty-db-slots-mixin) &key database)
Source

dirty.lisp.

Method: fill-identifier! (obj &key database)

fill the id field on the object with the appropriate next-identifier

Source

db-object.lisp.

Generic Function: identity-slot? (slot-def)
Package

clsql-helper.

Methods
Method: identity-slot? (slot-def)
Source

clsql.lisp.

Generic Function: iso8601-datestamp (d)

Given an object that encodes a date
return an iso8601-datestamp representation of it

Package

clsql-helper.

Source

date.lisp.

Methods
Method: iso8601-datestamp (d)
Generic Function: iso8601-timestamp (d)

CLSQL has a function (I wrote) to do this, but I wanted more flexibility in output so that I could use this in more situations

clsql:iso-timestamp is used only to write to database backends, so a very strict ISO is fine

Package

clsql-helper.

Source

date.lisp.

Methods
Method: iso8601-timestamp (d)
Generic Function: merge-changes (original already-saved pending)
Package

clsql-helper.

Methods
Method: merge-changes (original already-saved pending)
Source

merge.lisp.

Generic Function: migrations (&rest sql-statements)
Package

clsql-helper.

Methods
Method: migrations (&rest sql-statements)

run ‘sql-statements‘ on the database once and only once. ‘sql-statements‘ can be strings, pathnames, or lists.

Source

migrations.lisp.

Generic Function: new-object-p (obj)

Checks that primary keys have values and that the object with those primary key values exists in the database

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: new-object-p (obj)
Generic Function: next-identifier (obj &key database)
Package

clsql-helper.

Methods
Method: next-identifier (obj &key database)

fetch the next unique identifier for this obj/database, usually the value of a autoincrement field.

Source

db-object.lisp.

Generic Function: next-identifier-sql (obj &key database)

returns the SQL query to run to get the next identifier. Query should return 1 row with 1 column.

Package

clsql-helper.

Source

db-object.lisp.

Methods
Method: next-identifier-sql ((obj sqlite3-db-object) &key database)

fetch most recent AUTOINCREMENT on this connection. https://www.sqlite.org/lang_corefunc.html#last_insert_rowid

Method: next-identifier-sql ((obj mssql-db-object) &key database)

use SCOPE_IDENTITY

Method: next-identifier-sql ((obj pg-db-object) &key database)

pull the sequence value for this object’s table

Generic Function: save! (db-obj &key log orignal original &allow-other-keys)

saves the given object, then returns the saved object

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: save! ((o recency-mixin) &key original &allow-other-keys)
Source

recency.lisp.

Method: save! :around (db-obj &key log &allow-other-keys)
Method: save! (db-obj &key &allow-other-keys)
Generic Function: slot-dirty? (object slot-name &key all?)

determines whether or not a slot on a given object is dirty
slot-name can be a list and all? determines if we want to not if all of them or dirty or if any of them are dirty

Package

clsql-helper.

Source

dirty.lisp.

Methods
Method: slot-dirty? ((o dirty-db-slots-mixin) slot-name &key all?)

5.1.5 Standalone methods

Method: filter-select-list ((o recency-mixin) (sl select-list) database)
Package

clsql-sys.

Source

recency.lisp.

Method: initialize-instance :after ((o dirty-db-slots-mixin) &key &allow-other-keys)
Source

dirty.lisp.

Method: initialize-instance :after ((o migration) &key &allow-other-keys)
Source

migrations.lisp.

Method: print-object ((o dirty-slot) s)

Print the auto-print-items for this instance.

Source

dirty.lisp.

Method: print-object ((db connection-database) stream)
Source

connections.lisp.

Method: (setf slot-value-using-class) :before ((class standard-db-class) (object dirty-db-slots-mixin) (slot standard-effective-slot-definition))
Package

sb-mop.

Source

dirty.lisp.

Method: (setf slot-value-using-class) :after ((class standard-db-class) (object db-object) (slot standard-effective-slot-definition))
Package

sb-mop.

Source

db-object.lisp.

Method: update-instance-from-records :after ((o dirty-db-slots-mixin) &key &allow-other-keys)
Package

clsql-sys.

Source

dirty.lisp.

Method: update-record-from-slots :after ((o recency-mixin) slots &key database &allow-other-keys)
Package

clsql-sys.

Source

recency.lisp.

Method: update-record-from-slots :before ((o recency-mixin) slots &key database &allow-other-keys)
Package

clsql-sys.

Source

recency.lisp.

Method: update-record-from-slots :after ((obj db-object) slots &key database)

After effecting the database record, fill the identifier field

Package

clsql-sys.

Source

db-object.lisp.

Method: update-record-from-slots ((o mssql-db-view) slots &key &allow-other-keys)

By default views shouldn’t be updatable, so specialize a method to signal an error.

Package

clsql-sys.

Source

db-object.lisp.

Method: update-records-from-instance :after ((o recency-mixin) &key database &allow-other-keys)
Package

clsql-sys.

Source

recency.lisp.

Method: update-records-from-instance :before ((o recency-mixin) &key database &allow-other-keys)
Package

clsql-sys.

Source

recency.lisp.

Method: update-records-from-instance :after ((obj db-object) &key database)

After effecting the database record, if the key-slot is empty then use SCOPE_IDENTITY to fill it. If > 1 key-slot, this won’t do anything.

Package

clsql-sys.

Source

db-object.lisp.


5.1.6 Conditions

Condition: merge-conflict
Package

clsql-helper.

Source

merge.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: already-saved

The object that was saved while we were working

Initform

(quote nil)

Initargs

:already-saved

Readers

already-saved.

Writers

(setf already-saved).

Slot: slot
Initform

(quote nil)

Initargs

:slot

Readers

slot.

Writers

(setf slot).

Slot: old-value
Initform

(quote nil)

Initargs

:old-value

Readers

old-value.

Writers

(setf old-value).

Slot: saved-value
Initform

(quote nil)

Initargs

:saved-value

Readers

saved-value.

Writers

(setf saved-value).

Slot: pending-value
Initform

(quote nil)

Initargs

:pending-value

Readers

pending-value.

Writers

(setf pending-value).

Condition: merge-conflicts
Package

clsql-helper.

Source

merge.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: conflicts
Initform

(quote nil)

Initargs

:conflicts

Readers

conflicts.

Writers

(setf conflicts).

Condition: merging-values
Package

clsql-helper.

Source

merge.lisp.

Direct superclasses

condition.

Direct methods
Direct slots
Slot: target
Initform

(quote nil)

Initargs

:target

Readers

target.

Writers

(setf target).

Slot: from
Initform

(quote nil)

Initargs

:from

Readers

from.

Writers

(setf from).

Slot: value
Initform

(quote nil)

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: slot
Initform

(quote nil)

Initargs

:slot

Readers

slot.

Writers

(setf slot).

Condition: recency-error
Package

clsql-helper.

Source

recency.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: instance
Initform

(quote nil)

Initargs

:instance

Readers

instance.

Writers

(setf instance).

Slot: history-info
Initform

(quote nil)

Initargs

:history-info

Readers

history-info.

Writers

(setf history-info).

Condition: save-failed
Package

clsql-helper.

Source

clsql.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: message
Initargs

:message

Readers

message.

Writers

(setf message).

Condition: type-coercion-error
Package

clsql-helper.

Source

clsql.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: val
Initform

(quote nil)

Initargs

:val

Readers

val.

Writers

(setf val).

Slot: to-type
Initform

(quote nil)

Initargs

:to-type

Readers

to-type.

Writers

(setf to-type).

Slot: message
Initform

(quote nil)

Initargs

:message

Readers

message.

Writers

(setf message).


5.1.7 Classes

Class: db-object
Package

clsql-helper.

Source

db-object.lisp.

Direct superclasses

standard-db-object.

Direct subclasses
Direct methods
Class: dirty-db-slots-mixin
Package

clsql-helper.

Source

dirty.lisp.

Direct superclasses

standard-db-object.

Direct methods
Direct slots
Slot: dirty-slots
Initargs

:dirty-slots

Readers

dirty-slots.

Writers

(setf dirty-slots).

Slot: dirty-test
Initform

(sb-int:quasiquote ((t . #s(sb-impl::comma :expr (function equalp) :kind 0))))

Initargs

:dirty-test

Readers

dirty-test.

Writers

(setf dirty-test).

Class: mssql-db-object
Package

clsql-helper.

Source

db-object.lisp.

Direct superclasses

db-object.

Direct methods

next-identifier-sql.

Class: pg-db-object
Package

clsql-helper.

Source

db-object.lisp.

Direct superclasses

db-object.

Direct methods

next-identifier-sql.

Class: recency-mixin
Package

clsql-helper.

Source

recency.lisp.

Direct superclasses

db-object.

Direct methods
Direct slots
Slot: %retrieved-at

The Server time this was retrieved from the database
Named this way to reduce conflict likely hood with database columns

Type

(or null clsql-sys:wall-time)

Initargs

:%retrieved-at

Readers

%retrieved-at.

Writers

(setf %retrieved-at).

Slot: %history-select-fn

a function that returns history data about an object the
first returned value MUST be the most recent time the object was saved in the database

Initargs

:%history-select-fn

Readers

%history-select-fn.

Writers

(setf %history-select-fn).

Class: sqlite3-db-object
Package

clsql-helper.

Source

db-object.lisp.

Direct superclasses

db-object.

Direct methods

next-identifier-sql.


5.2 Internals


5.2.1 Special variables

Special Variable: *clsql-codebase-loaded*
Package

clsql-helper.

Source

utils.lisp.

Special Variable: *default-log-fn*
Package

clsql-helper.

Source

utils.lisp.

Special Variable: *default-object-diff-ignore-list*
Package

clsql-helper.

Source

merge.lisp.

Special Variable: *inner-transaction-error*

Variable to hold conditions from internal errors, just makes for a bit cleaner code I think.

Package

clsql-helper.

Source

connections.lisp.

Special Variable: *iso8601-date-separator*
Package

clsql-helper.

Source

date.lisp.

Special Variable: *iso8601-date-time-separator*
Package

clsql-helper.

Source

date.lisp.

Special Variable: *iso8601-microseconds*
Package

clsql-helper.

Source

date.lisp.

Special Variable: *iso8601-time-separator*
Package

clsql-helper.

Source

date.lisp.

Special Variable: *iso8601-timezone*
Package

clsql-helper.

Source

date.lisp.

Special Variable: *record-this-dirty-slot*

Should we record this slot as dirty?

Package

clsql-helper.

Source

utils.lisp.

Special Variable: *thread-local-transaction-catch-tag*

Variable to hold the gensymed catch tag this thread’s with-a-transaction is using.

Package

clsql-helper.

Source

connections.lisp.

Special Variable: +common-white-space-trimbag+
Package

clsql-helper.

Source

utils.lisp.

Special Variable: +date-sep+
Package

clsql-helper.

Source

date.lisp.

Special Variable: +date-time-regex+
Package

clsql-helper.

Source

date.lisp.

Special Variable: +iso-8601-ish-regex+
Package

clsql-helper.

Source

date.lisp.

Special Variable: +iso-8601-ish-regex-string+
Package

clsql-helper.

Source

date.lisp.


5.2.2 Macros

Macro: defmethod-when-possible (name args &body body)
Package

clsql-helper.

Source

dirty.lisp.


5.2.3 Ordinary functions

Function: %after-update-recency-check (o)
Package

clsql-helper.

Source

recency.lisp.

Function: %before-update-recency-check (o)
Package

clsql-helper.

Source

recency.lisp.

Function: %call-perhaps-logged (fn log &optional database)
Package

clsql-helper.

Source

connections.lisp.

Function: %clsql-subclauses (clauses)
Package

clsql-helper.

Source

clsql.lisp.

Function: %coerce-rows (class slot-names rows)
Package

clsql-helper.

Source

clsql.lisp.

Function: %command-if-needed (cmd params)
Package

clsql-helper.

Source

clsql.lisp.

Function: %date-test-fn-finder (start end &key date? to?)
Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: %date-test-form (date end-var test)
Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: %default-migrations ()

These are migrations necessary to making the system work as it upgrades

Package

clsql-helper.

Source

migrations.lisp.

Function: %dirty-before (new class object slot &key old-value)
Package

clsql-helper.

Source

dirty.lisp.

Function: %log-fn-perhaps (log)
Package

clsql-helper.

Source

clsql.lisp.

Function: %migration-done-p (hash)

returns non-nil if this hashed migration has been run

Package

clsql-helper.

Source

migrations.lisp.

Function: %sql-hash (sql-statement)

returns a hashed form of the query, as a string

Package

clsql-helper.

Source

migrations.lisp.

Function: clause-for-from-date-1 (&key for from-date by generate)

iterates through dates from start by step
HAS NO END CHECK eg an infinite loop unless you prevent it

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: clause-for-from-date-thru-5 (&key for from-date thru by generate)

iterates through dates from start to end inclusively

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: clause-for-from-date-to-3 (&key for from-date to by generate)

iterates through dates from start to end exclusive of end

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: clause-for-from-datetime-2 (&key for from-datetime by generate)

iterates through dates from start by step
HAS NO END CHECK eg an infinite loop unless you prevent it

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: clause-for-from-datetime-thru-6 (&key for from-datetime thru by generate)

iterates through dates from start to end inclusively

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: clause-for-from-datetime-to-4 (&key for from-datetime to by generate)

iterates through dates from start to end exclusive of end

Package

clsql-helper.

Source

iterate-clauses.lisp.

Function: coerce-connection-spec (c)
Package

clsql-helper.

Source

connections.lisp.

Function: current-timestamp-sql ()
Package

clsql-helper.

Source

recency.lisp.

Function: default-log-fn (msg)
Package

clsql-helper.

Source

clsql.lisp.

Function: ensure-migration-table ()

if it doesn’t exist, create the migration table

Package

clsql-helper.

Source

migrations.lisp.

Function: error-db-obj-has-no-keys (obj)
Package

clsql-helper.

Source

clsql.lisp.

Function: log-database-command-fn (body-fn &key log-fn database)
Package

clsql-helper.

Source

clsql.lisp.

Function: make-dirty-slot (name old new)
Package

clsql-helper.

Source

dirty.lisp.

Function: make-instances-setting-slot-values (class columns rows)

From N rows and column-name make N instances of class filling data from rows by creating instances and setting slot-values

Package

clsql-helper.

Source

clsql.lisp.

Function: maybe-call (it)
Package

clsql-helper.

Source

connections.lisp.

Function: md5-string (string)
Package

clsql-helper.

Source

migrations.lisp.

Function: most-recent-history-date (o)
Package

clsql-helper.

Source

recency.lisp.

Function: reset-dirty (o)
Package

clsql-helper.

Source

dirty.lisp.

Function: same-database-connection? (c1 c2)

determines whether or not two connections are the same
by comparing their connection spec (eg ’(server db user pass)) handles connection-settings, connection-specs and clsql:database

Package

clsql-helper.

Source

connections.lisp.

Function: string-to-boolean (s)

convert a string to a boolean value

Package

clsql-helper.

Source

clsql.lisp.

Function: trim-and-nullify (s)

trims the whitespace from a string returning nil
if trimming produces an empty string or the string ’nil’

Package

clsql-helper.

Source

utils.lisp.

Function: trim-whitespace (s)
Package

clsql-helper.

Source

utils.lisp.

Function: warn-db-obj-has-no-keys (obj)
Package

clsql-helper.

Source

clsql.lisp.


5.2.4 Generic functions

Generic Function: %coerce-to-step (step)

Converts something in an iterate date iteration clause BY section to a valid clsql:duration if it can

Package

clsql-helper.

Source

iterate-clauses.lisp.

Methods
Method: %coerce-to-step (step)
Generic Reader: %history-select-fn (object)
Generic Writer: (setf %history-select-fn) (object)
Package

clsql-helper.

Methods
Reader Method: %history-select-fn ((recency-mixin recency-mixin))
Writer Method: (setf %history-select-fn) ((recency-mixin recency-mixin))

a function that returns history data about an object the
first returned value MUST be the most recent time the object was saved in the database

Source

recency.lisp.

Target Slot

%history-select-fn.

Generic Reader: already-saved (condition)
Generic Writer: (setf already-saved) (condition)
Package

clsql-helper.

Methods
Reader Method: already-saved ((condition merge-conflict))
Writer Method: (setf already-saved) ((condition merge-conflict))
Source

merge.lisp.

Target Slot

already-saved.

Generic Function: coerce-to-db-string-representation (s)

Convert an object into an unquoted string that the database understands

mostly used to do the coercion in db-string

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: coerce-to-db-string-representation (s)
Generic Reader: command (object)
Package

clsql-helper.

Methods
Reader Method: command ((migration migration))

automatically generated reader method

Source

migrations.lisp.

Target Slot

command.

Generic Reader: conflicts (condition)
Generic Writer: (setf conflicts) (condition)
Package

clsql-helper.

Methods
Reader Method: conflicts ((condition merge-conflicts))
Writer Method: (setf conflicts) ((condition merge-conflicts))
Source

merge.lisp.

Target Slot

conflicts.

Generic Function: db-object-key-slots (o)

returns the primarky key-slots of the given object

Package

clsql-helper.

Source

clsql.lisp.

Methods
Method: db-object-key-slots (o)
Generic Reader: from (condition)
Generic Writer: (setf from) (condition)
Package

clsql-helper.

Methods
Reader Method: from ((condition merging-values))
Writer Method: (setf from) ((condition merging-values))
Source

merge.lisp.

Target Slot

from.

Generic Function: get-history-info (o)
Package

clsql-helper.

Source

recency.lisp.

Methods
Method: get-history-info ((o recency-mixin))
Generic Reader: hash (object)
Package

clsql-helper.

Methods
Reader Method: hash ((migration migration))

automatically generated reader method

Source

migrations.lisp.

Target Slot

hash.

Generic Reader: history-info (condition)
Generic Writer: (setf history-info) (condition)
Package

clsql-helper.

Methods
Reader Method: history-info ((condition recency-error))
Writer Method: (setf history-info) ((condition recency-error))
Source

recency.lisp.

Target Slot

history-info.

Generic Reader: instance (condition)
Generic Writer: (setf instance) (condition)
Package

clsql-helper.

Methods
Reader Method: instance ((condition recency-error))
Writer Method: (setf instance) ((condition recency-error))
Source

recency.lisp.

Target Slot

instance.

Generic Reader: message (condition)
Generic Writer: (setf message) (condition)
Package

clsql-helper.

Methods
Reader Method: message ((condition type-coercion-error))
Writer Method: (setf message) ((condition type-coercion-error))
Source

clsql.lisp.

Target Slot

message.

Reader Method: message ((condition save-failed))
Writer Method: (setf message) ((condition save-failed))
Source

clsql.lisp.

Target Slot

message.

Generic Function: migrate (thing &key force)

perform the migration, returns the number of statments executed

Package

clsql-helper.

Source

migrations.lisp.

Methods
Method: migrate (o &key force)
Method: migrate ((o migration) &key force)
Generic Reader: migration-done-p (object)
Package

clsql-helper.

Methods
Reader Method: migration-done-p ((migration migration))

automatically generated reader method

Source

migrations.lisp.

Target Slot

migration-done-p.

Generic Reader: names->conn (object)
Generic Writer: (setf names->conn) (object)
Package

clsql-helper.

Methods
Reader Method: names->conn ((connection-database connection-database))
Writer Method: (setf names->conn) ((connection-database connection-database))

A mapping of names to active connections

Source

connections.lisp.

Target Slot

names->conn.

Generic Reader: names->spec (object)
Generic Writer: (setf names->spec) (object)
Package

clsql-helper.

Methods
Reader Method: names->spec ((connection-database connection-database))
Writer Method: (setf names->spec) ((connection-database connection-database))

A mapping of names to connection specs

Source

connections.lisp.

Target Slot

names->spec.

Generic Reader: new-value (object)
Package

clsql-helper.

Methods
Reader Method: new-value ((dirty-slot dirty-slot))

automatically generated reader method

Source

dirty.lisp.

Target Slot

new-value.

Generic Writer: (setf new-value) (object)
Package

clsql-helper.

Methods
Writer Method: (setf new-value) ((dirty-slot dirty-slot))

automatically generated writer method

Source

dirty.lisp.

Target Slot

new-value.

Generic Reader: obj (condition)
Generic Writer: (setf obj) (condition)
Package

clsql-helper.

Methods
Reader Method: obj ((condition db-object-has-no-keys))
Writer Method: (setf obj) ((condition db-object-has-no-keys))
Source

clsql.lisp.

Target Slot

obj.

Generic Function: object-diff-equals (v1 v2)
Package

clsql-helper.

Methods
Method: object-diff-equals (v1 v2)
Source

merge.lisp.

Generic Function: object-diff-list (o1 o2 &key ignored-slot-names compare)
Package

clsql-helper.

Methods
Method: object-diff-list (o1 o2 &key ignored-slot-names compare)
Source

merge.lisp.

Generic Reader: old-value (object)
Package

clsql-helper.

Methods
Reader Method: old-value ((condition merge-conflict))
Source

merge.lisp.

Target Slot

old-value.

Reader Method: old-value ((dirty-slot dirty-slot))

automatically generated reader method

Source

dirty.lisp.

Target Slot

old-value.

Generic Writer: (setf old-value) (object)
Package

clsql-helper.

Methods
Writer Method: (setf old-value) ((condition merge-conflict))
Source

merge.lisp.

Target Slot

old-value.

Writer Method: (setf old-value) ((dirty-slot dirty-slot))

automatically generated writer method

Source

dirty.lisp.

Target Slot

old-value.

Generic Reader: pending-value (condition)
Generic Writer: (setf pending-value) (condition)
Package

clsql-helper.

Methods
Reader Method: pending-value ((condition merge-conflict))
Writer Method: (setf pending-value) ((condition merge-conflict))
Source

merge.lisp.

Target Slot

pending-value.

Generic Function: relaxed-parse-float (str &key type)

trys to read a value we hope to be a floating point number returns nil on failure

The goal is to allow reading strings with spaces commas and dollar signs in them correctly

Package

clsql-helper.

Source

utils.lisp.

Methods
Method: relaxed-parse-float (str &key type)
Generic Reader: saved-value (condition)
Generic Writer: (setf saved-value) (condition)
Package

clsql-helper.

Methods
Reader Method: saved-value ((condition merge-conflict))
Writer Method: (setf saved-value) ((condition merge-conflict))
Source

merge.lisp.

Target Slot

saved-value.

Generic Reader: slot (condition)
Generic Writer: (setf slot) (condition)
Package

clsql-helper.

Methods
Reader Method: slot ((condition merge-conflict))
Writer Method: (setf slot) ((condition merge-conflict))
Source

merge.lisp.

Target Slot

slot.

Reader Method: slot ((condition merging-values))
Writer Method: (setf slot) ((condition merging-values))
Source

merge.lisp.

Target Slot

slot.

Generic Reader: slot-name (object)
Package

clsql-helper.

Methods
Reader Method: slot-name ((dirty-slot dirty-slot))

automatically generated reader method

Source

dirty.lisp.

Target Slot

slot-name.

Generic Writer: (setf slot-name) (object)
Package

clsql-helper.

Methods
Writer Method: (setf slot-name) ((dirty-slot dirty-slot))

automatically generated writer method

Source

dirty.lisp.

Target Slot

slot-name.

Generic Reader: target (condition)
Generic Writer: (setf target) (condition)
Package

clsql-helper.

Methods
Reader Method: target ((condition merging-values))
Writer Method: (setf target) ((condition merging-values))
Source

merge.lisp.

Target Slot

target.

Generic Function: to-migrations (thing)

Recursively turn the input into a list of migrations to be performed

Package

clsql-helper.

Source

migrations.lisp.

Methods
Method: to-migrations (thing)
Generic Reader: to-type (condition)
Generic Writer: (setf to-type) (condition)
Package

clsql-helper.

Methods
Reader Method: to-type ((condition type-coercion-error))
Writer Method: (setf to-type) ((condition type-coercion-error))
Source

clsql.lisp.

Target Slot

to-type.

Generic Reader: val (condition)
Generic Writer: (setf val) (condition)
Package

clsql-helper.

Methods
Reader Method: val ((condition type-coercion-error))
Writer Method: (setf val) ((condition type-coercion-error))
Source

clsql.lisp.

Target Slot

val.

Generic Function: validate-recency (o &key history-info %retrieved-at)
Package

clsql-helper.

Source

recency.lisp.

Methods
Method: validate-recency ((o recency-mixin) &key history-info %retrieved-at)
Generic Reader: value (condition)
Generic Writer: (setf value) (condition)
Package

clsql-helper.

Methods
Reader Method: value ((condition merging-values))
Writer Method: (setf value) ((condition merging-values))
Source

merge.lisp.

Target Slot

value.


5.2.5 Standalone methods

Method: choose-database-for-instance ((obj db-object) &optional database)

Always prefer the passed in database or the dynamic database eg: never use the view-database slot on the object because that causes thread safety issues

Package

clsql-sys.

Source

db-object.lisp.

Method: get-slot-values-from-view :after ((o dirty-db-slots-mixin) slotdefs vals)

This setfs slot values from the database values during select, so it makes sense to reset after ward

Package

clsql-sys.

Source

dirty.lisp.

Method: update-slot-from-db-value :around ((o dirty-db-slots-mixin) slot value)

disable dirty slot recording if the value is from the database

Package

clsql-sys.

Source

dirty.lisp.

Method: view-classes-and-storable-slots ((object dirty-db-slots-mixin) &key to-database-p)
Package

clsql-sys.

Source

dirty.lisp.


5.2.6 Conditions

Condition: commit
Package

clsql-helper.

Source

connections.lisp.

Direct superclasses

condition.

Condition: db-object-has-no-keys
Package

clsql-helper.

Source

clsql.lisp.

Direct superclasses

warning.

Direct methods
Direct slots
Slot: obj
Initform

(quote nil)

Initargs

:obj

Readers

obj.

Writers

(setf obj).

Condition: rollback
Package

clsql-helper.

Source

connections.lisp.

Direct superclasses

condition.


5.2.7 Classes

Class: connection-database
Package

clsql-helper.

Source

connections.lisp.

Direct methods
Direct slots
Slot: names->spec

A mapping of names to connection specs

Initargs

:names->spec

Readers

names->spec.

Writers

(setf names->spec).

Slot: names->conn

A mapping of names to active connections

Initargs

:names->conn

Readers

names->conn.

Writers

(setf names->conn).

Class: dirty-slot
Package

clsql-helper.

Source

dirty.lisp.

Direct methods
Direct slots
Slot: slot-name
Initargs

:slot-name

Readers

slot-name.

Writers

(setf slot-name).

Slot: old-value
Initargs

:old-value

Readers

old-value.

Writers

(setf old-value).

Slot: new-value
Initargs

:new-value

Readers

new-value.

Writers

(setf new-value).

Class: migration
Package

clsql-helper.

Source

migrations.lisp.

Direct methods
Direct slots
Slot: command
Initargs

:command

Readers

command.

Writers

This slot is read-only.

Slot: migration-done-p
Initargs

:migration-done-p

Readers

migration-done-p.

Writers

This slot is read-only.

Slot: hash
Initargs

:hash

Readers

hash.

Writers

This slot is read-only.

Class: mssql-db-view
Package

clsql-helper.

Source

db-object.lisp.

Direct superclasses

db-object.

Direct methods

update-record-from-slots.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%after-update-recency-check: Private ordinary functions
%before-update-recency-check: Private ordinary functions
%call-perhaps-logged: Private ordinary functions
%clsql-subclauses: Private ordinary functions
%coerce-rows: Private ordinary functions
%coerce-to-step: Private generic functions
%coerce-to-step: Private generic functions
%command-if-needed: Private ordinary functions
%date-test-fn-finder: Private ordinary functions
%date-test-form: Private ordinary functions
%default-migrations: Private ordinary functions
%dirty-before: Private ordinary functions
%history-select-fn: Private generic functions
%history-select-fn: Private generic functions
%log-fn-perhaps: Private ordinary functions
%migration-done-p: Private ordinary functions
%retrieved-at: Public generic functions
%retrieved-at: Public generic functions
%sql-hash: Private ordinary functions

(
(setf %history-select-fn): Private generic functions
(setf %history-select-fn): Private generic functions
(setf %retrieved-at): Public generic functions
(setf %retrieved-at): Public generic functions
(setf already-saved): Private generic functions
(setf already-saved): Private generic functions
(setf conflicts): Private generic functions
(setf conflicts): Private generic functions
(setf dirty-slots): Public generic functions
(setf dirty-slots): Public generic functions
(setf dirty-test): Public generic functions
(setf dirty-test): Public generic functions
(setf from): Private generic functions
(setf from): Private generic functions
(setf history-info): Private generic functions
(setf history-info): Private generic functions
(setf instance): Private generic functions
(setf instance): Private generic functions
(setf message): Private generic functions
(setf message): Private generic functions
(setf message): Private generic functions
(setf names->conn): Private generic functions
(setf names->conn): Private generic functions
(setf names->spec): Private generic functions
(setf names->spec): Private generic functions
(setf new-value): Private generic functions
(setf new-value): Private generic functions
(setf obj): Private generic functions
(setf obj): Private generic functions
(setf old-value): Private generic functions
(setf old-value): Private generic functions
(setf old-value): Private generic functions
(setf pending-value): Private generic functions
(setf pending-value): Private generic functions
(setf saved-value): Private generic functions
(setf saved-value): Private generic functions
(setf slot): Private generic functions
(setf slot): Private generic functions
(setf slot): Private generic functions
(setf slot-name): Private generic functions
(setf slot-name): Private generic functions
(setf slot-value-using-class): Public standalone methods
(setf slot-value-using-class): Public standalone methods
(setf target): Private generic functions
(setf target): Private generic functions
(setf to-type): Private generic functions
(setf to-type): Private generic functions
(setf val): Private generic functions
(setf val): Private generic functions
(setf value): Private generic functions
(setf value): Private generic functions

A
add-connection-spec: Public ordinary functions
after-day-of-month: Public ordinary functions
already-saved: Private generic functions
already-saved: Private generic functions

B
before-day-of-month: Public ordinary functions
by-col: Public generic functions
by-col: Public generic functions
by-id: Public generic functions
by-id: Public generic functions

C
choose-database-for-instance: Private standalone methods
clause-for-from-date-1: Private ordinary functions
clause-for-from-date-thru-5: Private ordinary functions
clause-for-from-date-to-3: Private ordinary functions
clause-for-from-datetime-2: Private ordinary functions
clause-for-from-datetime-thru-6: Private ordinary functions
clause-for-from-datetime-to-4: Private ordinary functions
clsql-and: Public ordinary functions
clsql-ands: Public ordinary functions
clsql-column-name: Public ordinary functions
clsql-date/times->utime: Public ordinary functions
clsql-datetime-equal: Public ordinary functions
clsql-exp: Public ordinary functions
clsql-get-val: Public ordinary functions
clsql-or: Public ordinary functions
clsql-ors: Public ordinary functions
coerce-connection-spec: Private ordinary functions
coerce-to-db-string-representation: Private generic functions
coerce-to-db-string-representation: Private generic functions
coerce-value-to-db-type: Public generic functions
coerce-value-to-db-type: Public generic functions
column-name-string: Public ordinary functions
command: Private generic functions
command: Private generic functions
conflicts: Private generic functions
conflicts: Private generic functions
convert-to-clsql-date: Public generic functions
convert-to-clsql-date: Public generic functions
convert-to-clsql-date!: Public macros
convert-to-clsql-datetime: Public generic functions
convert-to-clsql-datetime: Public generic functions
convert-to-clsql-datetime!: Public macros
copy-instance: Public generic functions
copy-instance: Public generic functions
current-sql-date: Public ordinary functions
current-sql-time: Public ordinary functions
current-timestamp: Public ordinary functions
current-timestamp-sql: Private ordinary functions

D
date-add: Public ordinary functions
date-day: Public generic functions
date-day: Public generic functions
date-diff: Public ordinary functions
date-month: Public generic functions
date-month: Public generic functions
date-year: Public generic functions
date-year: Public generic functions
day-after: Public ordinary functions
day-before: Public ordinary functions
days-in-month: Public ordinary functions
db-eql: Public generic functions
db-eql: Public generic functions
db-exec: Public ordinary functions
db-null: Public ordinary functions
db-null!: Public macros
db-object-key-slots: Private generic functions
db-object-key-slots: Private generic functions
db-objs: Public ordinary functions
db-objs-select: Public ordinary functions
db-query: Public ordinary functions
db-query-plists: Public ordinary functions
db-scalar: Public ordinary functions
db-select: Public ordinary functions
db-select-first: Public ordinary functions
db-select-scalar: Public ordinary functions
db-string: Public ordinary functions
db-type-from-lisp-type: Public ordinary functions
default-log-fn: Private ordinary functions
defmethod-when-possible: Private macros
dirty-slots: Public generic functions
dirty-slots: Public generic functions
dirty-test: Public generic functions
dirty-test: Public generic functions
dt<: Public ordinary functions
dt<=: Public ordinary functions
dt>: Public ordinary functions
dt>=: Public ordinary functions

E
ensure-migration-table: Private ordinary functions
error-db-obj-has-no-keys: Private ordinary functions

F
fill-identifier!: Public generic functions
fill-identifier!: Public generic functions
fill-identifier!: Public generic functions
filter-select-list: Public standalone methods
find-active-connection-name: Public ordinary functions
find-any-active-connection-name: Public ordinary functions
find-any-connection: Public ordinary functions
find-connection: Public ordinary functions
find-dirty-test: Public ordinary functions
first-of-next-month: Public ordinary functions
first-of-the-month: Public ordinary functions
first-of-the-month?: Public ordinary functions
format-value-for-database: Public ordinary functions
from: Private generic functions
from: Private generic functions
Function, %after-update-recency-check: Private ordinary functions
Function, %before-update-recency-check: Private ordinary functions
Function, %call-perhaps-logged: Private ordinary functions
Function, %clsql-subclauses: Private ordinary functions
Function, %coerce-rows: Private ordinary functions
Function, %command-if-needed: Private ordinary functions
Function, %date-test-fn-finder: Private ordinary functions
Function, %date-test-form: Private ordinary functions
Function, %default-migrations: Private ordinary functions
Function, %dirty-before: Private ordinary functions
Function, %log-fn-perhaps: Private ordinary functions
Function, %migration-done-p: Private ordinary functions
Function, %sql-hash: Private ordinary functions
Function, add-connection-spec: Public ordinary functions
Function, after-day-of-month: Public ordinary functions
Function, before-day-of-month: Public ordinary functions
Function, clause-for-from-date-1: Private ordinary functions
Function, clause-for-from-date-thru-5: Private ordinary functions
Function, clause-for-from-date-to-3: Private ordinary functions
Function, clause-for-from-datetime-2: Private ordinary functions
Function, clause-for-from-datetime-thru-6: Private ordinary functions
Function, clause-for-from-datetime-to-4: Private ordinary functions
Function, clsql-and: Public ordinary functions
Function, clsql-ands: Public ordinary functions
Function, clsql-column-name: Public ordinary functions
Function, clsql-date/times->utime: Public ordinary functions
Function, clsql-datetime-equal: Public ordinary functions
Function, clsql-exp: Public ordinary functions
Function, clsql-get-val: Public ordinary functions
Function, clsql-or: Public ordinary functions
Function, clsql-ors: Public ordinary functions
Function, coerce-connection-spec: Private ordinary functions
Function, column-name-string: Public ordinary functions
Function, current-sql-date: Public ordinary functions
Function, current-sql-time: Public ordinary functions
Function, current-timestamp: Public ordinary functions
Function, current-timestamp-sql: Private ordinary functions
Function, date-add: Public ordinary functions
Function, date-diff: Public ordinary functions
Function, day-after: Public ordinary functions
Function, day-before: Public ordinary functions
Function, days-in-month: Public ordinary functions
Function, db-exec: Public ordinary functions
Function, db-null: Public ordinary functions
Function, db-objs: Public ordinary functions
Function, db-objs-select: Public ordinary functions
Function, db-query: Public ordinary functions
Function, db-query-plists: Public ordinary functions
Function, db-scalar: Public ordinary functions
Function, db-select: Public ordinary functions
Function, db-select-first: Public ordinary functions
Function, db-select-scalar: Public ordinary functions
Function, db-string: Public ordinary functions
Function, db-type-from-lisp-type: Public ordinary functions
Function, default-log-fn: Private ordinary functions
Function, dt<: Public ordinary functions
Function, dt<=: Public ordinary functions
Function, dt>: Public ordinary functions
Function, dt>=: Public ordinary functions
Function, ensure-migration-table: Private ordinary functions
Function, error-db-obj-has-no-keys: Private ordinary functions
Function, find-active-connection-name: Public ordinary functions
Function, find-any-active-connection-name: Public ordinary functions
Function, find-any-connection: Public ordinary functions
Function, find-connection: Public ordinary functions
Function, find-dirty-test: Public ordinary functions
Function, first-of-next-month: Public ordinary functions
Function, first-of-the-month: Public ordinary functions
Function, first-of-the-month?: Public ordinary functions
Function, format-value-for-database: Public ordinary functions
Function, get-connection-spec: Public ordinary functions
Function, has-db-data-to-store?: Public ordinary functions
Function, join-slot?: Public ordinary functions
Function, last-month: Public ordinary functions
Function, last-of-the-month: Public ordinary functions
Function, last-of-the-month?: Public ordinary functions
Function, list-of-db-strings: Public ordinary functions
Function, log-database-command-fn: Private ordinary functions
Function, make-dirty-slot: Private ordinary functions
Function, make-instance-plist: Public ordinary functions
Function, make-instances: Public ordinary functions
Function, make-instances-setting-access: Public ordinary functions
Function, make-instances-setting-accessors: Public ordinary functions
Function, make-instances-setting-slot-values: Private ordinary functions
Function, maybe-call: Private ordinary functions
Function, md5-string: Private ordinary functions
Function, month-day-string: Public ordinary functions
Function, month-string: Public ordinary functions
Function, most-recent-history-date: Private ordinary functions
Function, new-connection-database: Public ordinary functions
Function, next-month: Public ordinary functions
Function, pretty-print-sql: Public ordinary functions
Function, primary-key-column-names: Public ordinary functions
Function, primary-key-slot: Public ordinary functions
Function, primary-key-slot-names: Public ordinary functions
Function, primary-key-slots: Public ordinary functions
Function, primary-key-value: Public ordinary functions
Function, primary-key-where-clauses: Public ordinary functions
Function, print-nullable-date: Public ordinary functions
Function, print-nullable-datetime: Public ordinary functions
Function, print-timestamp: Public ordinary functions
Function, remove-connection-spec: Public ordinary functions
Function, reset-dirty: Private ordinary functions
Function, same-database-connection?: Private ordinary functions
Function, slot-db-stored?: Public ordinary functions
Function, string-to-boolean: Private ordinary functions
Function, table-name-exp: Public ordinary functions
Function, table-name-string: Public ordinary functions
Function, trim-and-nullify: Private ordinary functions
Function, trim-whitespace: Private ordinary functions
Function, type-coercion-error: Public ordinary functions
Function, warn-db-obj-has-no-keys: Private ordinary functions
Function, with-a-database-context: Public ordinary functions
Function, with-a-transaction-context: Public ordinary functions
Function, with-database-context: Public ordinary functions
Function, with-database-function: Public ordinary functions
Function, with-transaction-context: Public ordinary functions

G
Generic Function, %coerce-to-step: Private generic functions
Generic Function, %history-select-fn: Private generic functions
Generic Function, %retrieved-at: Public generic functions
Generic Function, (setf %history-select-fn): Private generic functions
Generic Function, (setf %retrieved-at): Public generic functions
Generic Function, (setf already-saved): Private generic functions
Generic Function, (setf conflicts): Private generic functions
Generic Function, (setf dirty-slots): Public generic functions
Generic Function, (setf dirty-test): Public generic functions
Generic Function, (setf from): Private generic functions
Generic Function, (setf history-info): Private generic functions
Generic Function, (setf instance): Private generic functions
Generic Function, (setf message): Private generic functions
Generic Function, (setf names->conn): Private generic functions
Generic Function, (setf names->spec): Private generic functions
Generic Function, (setf new-value): Private generic functions
Generic Function, (setf obj): Private generic functions
Generic Function, (setf old-value): Private generic functions
Generic Function, (setf pending-value): Private generic functions
Generic Function, (setf saved-value): Private generic functions
Generic Function, (setf slot): Private generic functions
Generic Function, (setf slot-name): Private generic functions
Generic Function, (setf target): Private generic functions
Generic Function, (setf to-type): Private generic functions
Generic Function, (setf val): Private generic functions
Generic Function, (setf value): Private generic functions
Generic Function, already-saved: Private generic functions
Generic Function, by-col: Public generic functions
Generic Function, by-id: Public generic functions
Generic Function, coerce-to-db-string-representation: Private generic functions
Generic Function, coerce-value-to-db-type: Public generic functions
Generic Function, command: Private generic functions
Generic Function, conflicts: Private generic functions
Generic Function, convert-to-clsql-date: Public generic functions
Generic Function, convert-to-clsql-datetime: Public generic functions
Generic Function, copy-instance: Public generic functions
Generic Function, date-day: Public generic functions
Generic Function, date-month: Public generic functions
Generic Function, date-year: Public generic functions
Generic Function, db-eql: Public generic functions
Generic Function, db-object-key-slots: Private generic functions
Generic Function, dirty-slots: Public generic functions
Generic Function, dirty-test: Public generic functions
Generic Function, fill-identifier!: Public generic functions
Generic Function, from: Private generic functions
Generic Function, get-history-info: Private generic functions
Generic Function, hash: Private generic functions
Generic Function, history-info: Private generic functions
Generic Function, identity-slot?: Public generic functions
Generic Function, instance: Private generic functions
Generic Function, iso8601-datestamp: Public generic functions
Generic Function, iso8601-timestamp: Public generic functions
Generic Function, merge-changes: Public generic functions
Generic Function, message: Private generic functions
Generic Function, migrate: Private generic functions
Generic Function, migration-done-p: Private generic functions
Generic Function, migrations: Public generic functions
Generic Function, names->conn: Private generic functions
Generic Function, names->spec: Private generic functions
Generic Function, new-object-p: Public generic functions
Generic Function, new-value: Private generic functions
Generic Function, next-identifier: Public generic functions
Generic Function, next-identifier-sql: Public generic functions
Generic Function, obj: Private generic functions
Generic Function, object-diff-equals: Private generic functions
Generic Function, object-diff-list: Private generic functions
Generic Function, old-value: Private generic functions
Generic Function, pending-value: Private generic functions
Generic Function, relaxed-parse-float: Private generic functions
Generic Function, save!: Public generic functions
Generic Function, saved-value: Private generic functions
Generic Function, slot: Private generic functions
Generic Function, slot-dirty?: Public generic functions
Generic Function, slot-name: Private generic functions
Generic Function, target: Private generic functions
Generic Function, to-migrations: Private generic functions
Generic Function, to-type: Private generic functions
Generic Function, val: Private generic functions
Generic Function, validate-recency: Private generic functions
Generic Function, value: Private generic functions
get-connection-spec: Public ordinary functions
get-history-info: Private generic functions
get-history-info: Private generic functions
get-slot-values-from-view: Private standalone methods

H
has-db-data-to-store?: Public ordinary functions
hash: Private generic functions
hash: Private generic functions
history-info: Private generic functions
history-info: Private generic functions

I
identity-slot?: Public generic functions
identity-slot?: Public generic functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
instance: Private generic functions
instance: Private generic functions
iso8601-datestamp: Public generic functions
iso8601-datestamp: Public generic functions
iso8601-timestamp: Public generic functions
iso8601-timestamp: Public generic functions

J
join-slot?: Public ordinary functions

L
last-month: Public ordinary functions
last-of-the-month: Public ordinary functions
last-of-the-month?: Public ordinary functions
list-of-db-strings: Public ordinary functions
log-database-command: Public macros
log-database-command-fn: Private ordinary functions

M
Macro, convert-to-clsql-date!: Public macros
Macro, convert-to-clsql-datetime!: Public macros
Macro, db-null!: Public macros
Macro, defmethod-when-possible: Private macros
Macro, log-database-command: Public macros
Macro, with-a-database: Public macros
Macro, with-a-transaction: Public macros
Macro, with-command-logging: Public macros
Macro, with-command-logging-to-string: Public macros
Macro, with-database: Public macros
make-dirty-slot: Private ordinary functions
make-instance-plist: Public ordinary functions
make-instances: Public ordinary functions
make-instances-setting-access: Public ordinary functions
make-instances-setting-accessors: Public ordinary functions
make-instances-setting-slot-values: Private ordinary functions
maybe-call: Private ordinary functions
md5-string: Private ordinary functions
merge-changes: Public generic functions
merge-changes: Public generic functions
message: Private generic functions
message: Private generic functions
message: Private generic functions
Method, %coerce-to-step: Private generic functions
Method, %history-select-fn: Private generic functions
Method, %retrieved-at: Public generic functions
Method, (setf %history-select-fn): Private generic functions
Method, (setf %retrieved-at): Public generic functions
Method, (setf already-saved): Private generic functions
Method, (setf conflicts): Private generic functions
Method, (setf dirty-slots): Public generic functions
Method, (setf dirty-test): Public generic functions
Method, (setf from): Private generic functions
Method, (setf history-info): Private generic functions
Method, (setf instance): Private generic functions
Method, (setf message): Private generic functions
Method, (setf message): Private generic functions
Method, (setf names->conn): Private generic functions
Method, (setf names->spec): Private generic functions
Method, (setf new-value): Private generic functions
Method, (setf obj): Private generic functions
Method, (setf old-value): Private generic functions
Method, (setf old-value): Private generic functions
Method, (setf pending-value): Private generic functions
Method, (setf saved-value): Private generic functions
Method, (setf slot): Private generic functions
Method, (setf slot): Private generic functions
Method, (setf slot-name): Private generic functions
Method, (setf slot-value-using-class): Public standalone methods
Method, (setf slot-value-using-class): Public standalone methods
Method, (setf target): Private generic functions
Method, (setf to-type): Private generic functions
Method, (setf val): Private generic functions
Method, (setf value): Private generic functions
Method, already-saved: Private generic functions
Method, by-col: Public generic functions
Method, by-id: Public generic functions
Method, choose-database-for-instance: Private standalone methods
Method, coerce-to-db-string-representation: Private generic functions
Method, coerce-value-to-db-type: Public generic functions
Method, command: Private generic functions
Method, conflicts: Private generic functions
Method, convert-to-clsql-date: Public generic functions
Method, convert-to-clsql-datetime: Public generic functions
Method, copy-instance: Public generic functions
Method, date-day: Public generic functions
Method, date-month: Public generic functions
Method, date-year: Public generic functions
Method, db-eql: Public generic functions
Method, db-object-key-slots: Private generic functions
Method, dirty-slots: Public generic functions
Method, dirty-test: Public generic functions
Method, fill-identifier!: Public generic functions
Method, fill-identifier!: Public generic functions
Method, filter-select-list: Public standalone methods
Method, from: Private generic functions
Method, get-history-info: Private generic functions
Method, get-slot-values-from-view: Private standalone methods
Method, hash: Private generic functions
Method, history-info: Private generic functions
Method, identity-slot?: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, instance: Private generic functions
Method, iso8601-datestamp: Public generic functions
Method, iso8601-timestamp: Public generic functions
Method, merge-changes: Public generic functions
Method, message: Private generic functions
Method, message: Private generic functions
Method, migrate: Private generic functions
Method, migrate: Private generic functions
Method, migration-done-p: Private generic functions
Method, migrations: Public generic functions
Method, names->conn: Private generic functions
Method, names->spec: Private generic functions
Method, new-object-p: Public generic functions
Method, new-value: Private generic functions
Method, next-identifier: Public generic functions
Method, next-identifier-sql: Public generic functions
Method, next-identifier-sql: Public generic functions
Method, next-identifier-sql: Public generic functions
Method, obj: Private generic functions
Method, object-diff-equals: Private generic functions
Method, object-diff-list: Private generic functions
Method, old-value: Private generic functions
Method, old-value: Private generic functions
Method, pending-value: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, relaxed-parse-float: Private generic functions
Method, save!: Public generic functions
Method, save!: Public generic functions
Method, save!: Public generic functions
Method, saved-value: Private generic functions
Method, slot: Private generic functions
Method, slot: Private generic functions
Method, slot-dirty?: Public generic functions
Method, slot-name: Private generic functions
Method, target: Private generic functions
Method, to-migrations: Private generic functions
Method, to-type: Private generic functions
Method, update-instance-from-records: Public standalone methods
Method, update-record-from-slots: Public standalone methods
Method, update-record-from-slots: Public standalone methods
Method, update-record-from-slots: Public standalone methods
Method, update-record-from-slots: Public standalone methods
Method, update-records-from-instance: Public standalone methods
Method, update-records-from-instance: Public standalone methods
Method, update-records-from-instance: Public standalone methods
Method, update-slot-from-db-value: Private standalone methods
Method, val: Private generic functions
Method, validate-recency: Private generic functions
Method, value: Private generic functions
Method, view-classes-and-storable-slots: Private standalone methods
migrate: Private generic functions
migrate: Private generic functions
migrate: Private generic functions
migration-done-p: Private generic functions
migration-done-p: Private generic functions
migrations: Public generic functions
migrations: Public generic functions
month-day-string: Public ordinary functions
month-string: Public ordinary functions
most-recent-history-date: Private ordinary functions

N
names->conn: Private generic functions
names->conn: Private generic functions
names->spec: Private generic functions
names->spec: Private generic functions
new-connection-database: Public ordinary functions
new-object-p: Public generic functions
new-object-p: Public generic functions
new-value: Private generic functions
new-value: Private generic functions
next-identifier: Public generic functions
next-identifier: Public generic functions
next-identifier-sql: Public generic functions
next-identifier-sql: Public generic functions
next-identifier-sql: Public generic functions
next-identifier-sql: Public generic functions
next-month: Public ordinary functions

O
obj: Private generic functions
obj: Private generic functions
object-diff-equals: Private generic functions
object-diff-equals: Private generic functions
object-diff-list: Private generic functions
object-diff-list: Private generic functions
old-value: Private generic functions
old-value: Private generic functions
old-value: Private generic functions

P
pending-value: Private generic functions
pending-value: Private generic functions
pretty-print-sql: Public ordinary functions
primary-key-column-names: Public ordinary functions
primary-key-slot: Public ordinary functions
primary-key-slot-names: Public ordinary functions
primary-key-slots: Public ordinary functions
primary-key-value: Public ordinary functions
primary-key-where-clauses: Public ordinary functions
print-nullable-date: Public ordinary functions
print-nullable-datetime: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-timestamp: Public ordinary functions

R
relaxed-parse-float: Private generic functions
relaxed-parse-float: Private generic functions
remove-connection-spec: Public ordinary functions
reset-dirty: Private ordinary functions

S
same-database-connection?: Private ordinary functions
save!: Public generic functions
save!: Public generic functions
save!: Public generic functions
save!: Public generic functions
saved-value: Private generic functions
saved-value: Private generic functions
slot: Private generic functions
slot: Private generic functions
slot: Private generic functions
slot-db-stored?: Public ordinary functions
slot-dirty?: Public generic functions
slot-dirty?: Public generic functions
slot-name: Private generic functions
slot-name: Private generic functions
string-to-boolean: Private ordinary functions

T
table-name-exp: Public ordinary functions
table-name-string: Public ordinary functions
target: Private generic functions
target: Private generic functions
to-migrations: Private generic functions
to-migrations: Private generic functions
to-type: Private generic functions
to-type: Private generic functions
trim-and-nullify: Private ordinary functions
trim-whitespace: Private ordinary functions
type-coercion-error: Public ordinary functions

U
update-instance-from-records: Public standalone methods
update-record-from-slots: Public standalone methods
update-record-from-slots: Public standalone methods
update-record-from-slots: Public standalone methods
update-record-from-slots: Public standalone methods
update-records-from-instance: Public standalone methods
update-records-from-instance: Public standalone methods
update-records-from-instance: Public standalone methods
update-slot-from-db-value: Private standalone methods

V
val: Private generic functions
val: Private generic functions
validate-recency: Private generic functions
validate-recency: Private generic functions
value: Private generic functions
value: Private generic functions
view-classes-and-storable-slots: Private standalone methods

W
warn-db-obj-has-no-keys: Private ordinary functions
with-a-database: Public macros
with-a-database-context: Public ordinary functions
with-a-transaction: Public macros
with-a-transaction-context: Public ordinary functions
with-command-logging: Public macros
with-command-logging-to-string: Public macros
with-database: Public macros
with-database-context: Public ordinary functions
with-database-function: Public ordinary functions
with-transaction-context: Public ordinary functions


A.3 Variables

Jump to:   %   *   +  
A   C   D   F   H   I   M   N   O   P   S   T   V  
Index Entry  Section

%
%history-select-fn: Public classes
%retrieved-at: Public classes

*
*clsql-codebase-loaded*: Private special variables
*command-log-stream*: Public special variables
*connection-database*: Public special variables
*connection-settings*: Public special variables
*default-log-fn*: Private special variables
*default-object-diff-ignore-list*: Private special variables
*inner-transaction-error*: Private special variables
*iso8601-date-separator*: Private special variables
*iso8601-date-time-separator*: Private special variables
*iso8601-microseconds*: Private special variables
*iso8601-time-separator*: Private special variables
*iso8601-timezone*: Private special variables
*migration-table-name*: Public special variables
*record-this-dirty-slot*: Private special variables
*thread-local-transaction-catch-tag*: Private special variables

+
+a-day+: Public special variables
+a-minute+: Public special variables
+a-month+: Public special variables
+a-negative-day+: Public special variables
+a-negative-hour+: Public special variables
+a-negative-minute+: Public special variables
+a-negative-month+: Public special variables
+a-negative-second+: Public special variables
+a-negative-year+: Public special variables
+a-second+: Public special variables
+a-year+: Public special variables
+an-hour+: Public special variables
+common-white-space-trimbag+: Private special variables
+date-sep+: Private special variables
+date-time-regex+: Private special variables
+iso-8601-ish-regex+: Private special variables
+iso-8601-ish-regex-string+: Private special variables

A
already-saved: Public conditions

C
command: Private classes
conflicts: Public conditions

D
dirty-slots: Public classes
dirty-test: Public classes

F
from: Public conditions

H
hash: Private classes
history-info: Public conditions

I
instance: Public conditions

M
message: Public conditions
message: Public conditions
migration-done-p: Private classes

N
names->conn: Private classes
names->spec: Private classes
new-value: Private classes

O
obj: Private conditions
old-value: Public conditions
old-value: Private classes

P
pending-value: Public conditions

S
saved-value: Public conditions
slot: Public conditions
slot: Public conditions
Slot, %history-select-fn: Public classes
Slot, %retrieved-at: Public classes
Slot, already-saved: Public conditions
Slot, command: Private classes
Slot, conflicts: Public conditions
Slot, dirty-slots: Public classes
Slot, dirty-test: Public classes
Slot, from: Public conditions
Slot, hash: Private classes
Slot, history-info: Public conditions
Slot, instance: Public conditions
Slot, message: Public conditions
Slot, message: Public conditions
Slot, migration-done-p: Private classes
Slot, names->conn: Private classes
Slot, names->spec: Private classes
Slot, new-value: Private classes
Slot, obj: Private conditions
Slot, old-value: Public conditions
Slot, old-value: Private classes
Slot, pending-value: Public conditions
Slot, saved-value: Public conditions
Slot, slot: Public conditions
Slot, slot: Public conditions
Slot, slot-name: Private classes
Slot, target: Public conditions
Slot, to-type: Public conditions
Slot, val: Public conditions
Slot, value: Public conditions
slot-name: Private classes
Special Variable, *clsql-codebase-loaded*: Private special variables
Special Variable, *command-log-stream*: Public special variables
Special Variable, *connection-database*: Public special variables
Special Variable, *connection-settings*: Public special variables
Special Variable, *default-log-fn*: Private special variables
Special Variable, *default-object-diff-ignore-list*: Private special variables
Special Variable, *inner-transaction-error*: Private special variables
Special Variable, *iso8601-date-separator*: Private special variables
Special Variable, *iso8601-date-time-separator*: Private special variables
Special Variable, *iso8601-microseconds*: Private special variables
Special Variable, *iso8601-time-separator*: Private special variables
Special Variable, *iso8601-timezone*: Private special variables
Special Variable, *migration-table-name*: Public special variables
Special Variable, *record-this-dirty-slot*: Private special variables
Special Variable, *thread-local-transaction-catch-tag*: Private special variables
Special Variable, +a-day+: Public special variables
Special Variable, +a-minute+: Public special variables
Special Variable, +a-month+: Public special variables
Special Variable, +a-negative-day+: Public special variables
Special Variable, +a-negative-hour+: Public special variables
Special Variable, +a-negative-minute+: Public special variables
Special Variable, +a-negative-month+: Public special variables
Special Variable, +a-negative-second+: Public special variables
Special Variable, +a-negative-year+: Public special variables
Special Variable, +a-second+: Public special variables
Special Variable, +a-year+: Public special variables
Special Variable, +an-hour+: Public special variables
Special Variable, +common-white-space-trimbag+: Private special variables
Special Variable, +date-sep+: Private special variables
Special Variable, +date-time-regex+: Private special variables
Special Variable, +iso-8601-ish-regex+: Private special variables
Special Variable, +iso-8601-ish-regex-string+: Private special variables

T
target: Public conditions
to-type: Public conditions

V
val: Public conditions
value: Public conditions


A.4 Data types

Jump to:   C   D   F   I   M   P   R   S   T   U  
Index Entry  Section

C
Class, connection-database: Private classes
Class, db-object: Public classes
Class, dirty-db-slots-mixin: Public classes
Class, dirty-slot: Private classes
Class, migration: Private classes
Class, mssql-db-object: Public classes
Class, mssql-db-view: Private classes
Class, pg-db-object: Public classes
Class, recency-mixin: Public classes
Class, sqlite3-db-object: Public classes
clsql-helper: The clsql-helper system
clsql-helper: The clsql-helper package
clsql-helper.asd: The clsql-helper/clsql-helper․asd file
clsql-helper.system: The clsql-helper․system package
clsql.lisp: The clsql-helper/clsql․lisp file
commit: Private conditions
Condition, commit: Private conditions
Condition, db-object-has-no-keys: Private conditions
Condition, merge-conflict: Public conditions
Condition, merge-conflicts: Public conditions
Condition, merging-values: Public conditions
Condition, recency-error: Public conditions
Condition, rollback: Private conditions
Condition, save-failed: Public conditions
Condition, type-coercion-error: Public conditions
connection-database: Private classes
connections.lisp: The clsql-helper/connections․lisp file

D
date.lisp: The clsql-helper/date․lisp file
db-object: Public classes
db-object-has-no-keys: Private conditions
db-object.lisp: The clsql-helper/db-object․lisp file
dirty-db-slots-mixin: Public classes
dirty-slot: Private classes
dirty.lisp: The clsql-helper/dirty․lisp file

F
File, clsql-helper.asd: The clsql-helper/clsql-helper․asd file
File, clsql.lisp: The clsql-helper/clsql․lisp file
File, connections.lisp: The clsql-helper/connections․lisp file
File, date.lisp: The clsql-helper/date․lisp file
File, db-object.lisp: The clsql-helper/db-object․lisp file
File, dirty.lisp: The clsql-helper/dirty․lisp file
File, iterate-clauses.lisp: The clsql-helper/iterate-clauses․lisp file
File, merge.lisp: The clsql-helper/merge․lisp file
File, migrations.lisp: The clsql-helper/migrations․lisp file
File, package.lisp: The clsql-helper/package․lisp file
File, recency.lisp: The clsql-helper/recency․lisp file
File, utils.lisp: The clsql-helper/utils․lisp file

I
iterate-clauses.lisp: The clsql-helper/iterate-clauses․lisp file

M
merge-conflict: Public conditions
merge-conflicts: Public conditions
merge.lisp: The clsql-helper/merge․lisp file
merging-values: Public conditions
migration: Private classes
migrations.lisp: The clsql-helper/migrations․lisp file
mssql-db-object: Public classes
mssql-db-view: Private classes

P
Package, clsql-helper: The clsql-helper package
Package, clsql-helper.system: The clsql-helper․system package
package.lisp: The clsql-helper/package․lisp file
pg-db-object: Public classes

R
recency-error: Public conditions
recency-mixin: Public classes
recency.lisp: The clsql-helper/recency․lisp file
rollback: Private conditions

S
save-failed: Public conditions
sqlite3-db-object: Public classes
System, clsql-helper: The clsql-helper system

T
type-coercion-error: Public conditions

U
utils.lisp: The clsql-helper/utils․lisp file