An sql-user-error is an error inside Lisp.
An sql-database-error is an error inside the database interface that Lisp uses.
The following are subclasses of sql-database-error:
An error with the data given. It signifies an error that must be fixed for the code to work.
Signifies an error that is a result of other users using the same database. It means the code can work without change, once the other users stop using the database.
An error with the connection to the RDBMS.
The following are subclasses of sql-connection-error:
A timeout with some operation.
An error which means that the connection is no longer usable.
Note: In general, the documentation for the various supported databases make it difficult to decide which error code should be made into which of the above condition class, and we probably get many of these wrong. If you find errors that seem to be signalled with the wrong condition class, please report them to Lisp Support, including the full printout of the condition, and we will fix it.