Holger Schauer [Thu, 3 Mar 2011 10:24:10 +0000 (11:24 +0100)]
ds-artists: new test dataset ds-artists. clsql-tests.asd: add new filee ds-artists. test-oodml: Add two simple tests in tests-oodml for autoincrement behaviour.
Kevin M. Rosenberg [Wed, 30 Mar 2011 00:13:52 +0000 (18:13 -0600)]
Fix for newer SBCL version
* sql/metaclasses.lisp: Apply one-line patch to fix
for newer SBCL (thanks to Nikodemus Siivola)
Kevin Rosenberg [Sun, 7 Nov 2010 16:48:18 +0000 (09:48 -0700)]
New release 5.2.0
* Version 5.2.0
* db-odbc/odbc-api.lisp: Change from SBCL-specific
to UFFI version of octets-to-strings. Reported by
Daniel Brunner <daniel@dbrunner.de>
* sql/oodml.lisp: Apply patch from Rupert Swarbrick
<rswarbrick@gmail.com>: Fix behaviour with auto-inc
primary keys.
* sql/expressions.lisp, tests/test-syntax.lisp: Apply
patch from Russ Tyndall to quote identifiers with space
or special character.
Rupert Swarbrick [Sat, 25 Sep 2010 15:42:03 +0000 (16:42 +0100)]
Fix behaviour with auto-inc primary keys.
This patch sets the slot value of the field containing the primary key
to the one that the database gave it. Before, it wasn't saved so then
changes to other slots didn't update the database (since the query
ended up looking something like "UPDATE blah WHEN id = 'NULL' ...",
which obviously doesn't work).
Kevin Rosenberg [Tue, 21 Sep 2010 03:57:24 +0000 (21:57 -0600)]
Update version number
Kevin M. Rosenberg [Tue, 21 Sep 2010 03:53:04 +0000 (21:53 -0600)]
Pass encoding argument to pooled connections
Kevin Rosenberg [Mon, 16 Aug 2010 22:34:07 +0000 (16:34 -0600)]
Commit patch for ODBC unicode improvements
Kevin Rosenberg [Mon, 16 Aug 2010 17:34:49 +0000 (11:34 -0600)]
Automated commit for debian release 5.1.2-1
Kevin Rosenberg [Mon, 16 Aug 2010 17:34:29 +0000 (11:34 -0600)]
Commit patch for invocation uffi:convert-from-foreign-=string
Kevin Rosenberg [Sat, 15 May 2010 21:20:56 +0000 (15:20 -0600)]
Modify operation-done-p for new ASDF
Kevin Rosenberg [Tue, 20 Apr 2010 18:37:49 +0000 (12:37 -0600)]
Depend on UFFI version 2.x
Kevin Rosenberg [Fri, 16 Apr 2010 06:46:02 +0000 (00:46 -0600)]
Version 5.0.6
Kevin Rosenberg [Fri, 16 Apr 2010 06:13:42 +0000 (00:13 -0600)]
Patches from Walter C. Pelissero on clsql mail list
- db-postgresql.lisp, sql/fddl.lisp: Fix typos
- sql/metaclasses.lisp: Work around type-check-function being set
during defclass expansion in SBCL
- uffi/clsql-uffi.lisp: In call to uffi:convert-from-foreign-string,
Set null-terminated-p to T when length not specified.
Kevin Rosenberg [Sun, 21 Mar 2010 07:12:10 +0000 (01:12 -0600)]
Automated commit for upstream build of version 5.0.5
Kevin Rosenberg [Sun, 21 Mar 2010 07:11:44 +0000 (01:11 -0600)]
Version 5.0.5 release
Kevin Rosenberg [Sun, 21 Mar 2010 07:03:59 +0000 (01:03 -0600)]
Fix DO-QUERY to actually return the last value of body
Nathan Bird [Wed, 3 Mar 2010 21:43:44 +0000 (16:43 -0500)]
This function now takes an encoding argument, pass what we have along
Nathan Bird [Wed, 3 Mar 2010 21:43:23 +0000 (16:43 -0500)]
Restoring &optional lambda-list flag that looks to have been dropped on accident in
fe6d36c1
Nathan Bird [Wed, 3 Mar 2010 19:46:22 +0000 (14:46 -0500)]
Check for *db-pool-max-free-connections* being nil, if so don't enforce a max.
Nathan Bird [Wed, 3 Mar 2010 17:26:24 +0000 (12:26 -0500)]
New builds of the documentation
Nathan Bird [Wed, 3 Mar 2010 17:26:05 +0000 (12:26 -0500)]
Adding new doc section on db-pool-max-free-connections, improving other doc pages on connecting and disconnecting.
Nathan Bird [Tue, 2 Mar 2010 23:24:32 +0000 (18:24 -0500)]
Merge branch 'master' into development
(appears to be spurious, should be the same as
406feeb749bb475bec8077a2716a5b6089bd9072)
Nathan Bird [Tue, 2 Mar 2010 23:19:02 +0000 (18:19 -0500)]
Merge branch 'connection-pool-fix'
Nathan Bird [Tue, 2 Mar 2010 22:31:53 +0000 (17:31 -0500)]
Updating ChangeLog
Nathan Bird [Tue, 2 Mar 2010 22:18:56 +0000 (17:18 -0500)]
README: adding info about build targets
Nathan Bird [Tue, 2 Mar 2010 22:16:36 +0000 (17:16 -0500)]
whitespace-cleanup
Nathan Bird [Tue, 2 Mar 2010 22:02:33 +0000 (17:02 -0500)]
Fixing docbook xml schema errors in the documentation.
Nathan Bird [Tue, 2 Mar 2010 21:57:17 +0000 (16:57 -0500)]
Finishing doc for file-enable-sql-reader-syntax, adding warnings to docs on other enable methods, tip at the top of the syntax page.
Nathan Bird [Tue, 2 Mar 2010 17:11:21 +0000 (12:11 -0500)]
Starting a README for how to build the doc
Nathan Bird [Tue, 2 Mar 2010 17:11:06 +0000 (12:11 -0500)]
Building doc: recognize ubuntu as being a stand in for debian.
Nathan Bird [Mon, 1 Mar 2010 22:26:19 +0000 (17:26 -0500)]
First draft at doc for file-enable-sql-reader-syntax
Nathan Bird [Thu, 15 Jan 2009 16:19:09 +0000 (11:19 -0500)]
If updating an instance from the database and we found the row in the
database then set the view-database slot. This indicates that this
instance now reflects an object in that DB. Underneath
get-slot-values-from-view (the next function) we depend on the slot
being present.
Nathan Bird [Mon, 1 Mar 2010 20:17:55 +0000 (15:17 -0500)]
Adding an oodml read-sql-value case for double-float
Nathan Bird [Mon, 20 Jul 2009 20:18:12 +0000 (16:18 -0400)]
Guard against already converted values in read-sql-value
Sometimes select has already done the conversion to native lisp format,
we then don't need to do anything here, but was causing an error as
read-from-string on a value that isn't a string isn't allowed.
Nathan Bird [Mon, 20 Apr 2009 14:15:25 +0000 (10:15 -0400)]
new syntax macro (FILE-ENABLE-SQL-READER-SYNTAX)
Turns on the SQL reader syntax for the rest of the file.
The CL spec says that when finished loading a file the original
*readtable* is restored. clhs COMPILE-FILE
This is because we kept having problems with the read syntax
not being disabled. When clsql goes to enable the syntax it first
checks that it hasn't already done so. Clsql believed it had, but
the lisp had correctly disabled it and so we are left without the
syntax being enabled.
Nathan Bird [Mon, 1 Mar 2010 19:08:41 +0000 (14:08 -0500)]
Adding some TODO notes about potential race conditions.
Nathan Bird [Mon, 5 Jan 2009 19:18:42 +0000 (14:18 -0500)]
Modified pool.lisp:acquire-from-conn-pool to perform connection
validity checks on all returned connections. Pooled connections can
become invalid whenever the pipe goes down, (such as db reboot).
Where possible use a reset command against the DB, otherwise we
do a simple 'SELECT 1;' on the connection and catch any errors
that occur, disconnecting the connection if it is no longer valid.
Several databases have reset commands that also reset connection
variables back to their database defaults leading to more consistent
behavior from a new connection.
* mssql - sp_reset_connection
* postgres - "RESET ALL"
Also introduced clsql-sys:*db-pool-max-free-connections* which
is a heuristic threshold for when to disconnect a connection
rather than returning it to the pool.
Kevin Rosenberg [Tue, 2 Mar 2010 03:32:13 +0000 (20:32 -0700)]
Remove spurious enumeration
Kevin Rosenberg [Tue, 2 Mar 2010 03:32:13 +0000 (20:32 -0700)]
Remove spurious enumeration
Kevin Rosenberg [Wed, 17 Feb 2010 17:55:57 +0000 (10:55 -0700)]
Automated commit for upstream build of version 5.0.4
Kevin Rosenberg [Wed, 17 Feb 2010 17:55:08 +0000 (10:55 -0700)]
Version 5.0.4
Kevin Rosenberg [Tue, 16 Feb 2010 16:07:32 +0000 (09:07 -0700)]
MySQL options parameter fix and documentation
* db-mysql/mysql-api.lisp: Fix mysql_options UFFI parameter list
* doc/ref-connect.xml: Document the MySQL options parameter as
part of the connection-spec.
Kevin Rosenberg [Mon, 15 Feb 2010 21:05:03 +0000 (14:05 -0700)]
Check parse of MySQL options
Kevin Rosenberg [Mon, 15 Feb 2010 20:21:11 +0000 (13:21 -0700)]
Fix minor makefile errors
Kevin Rosenberg [Mon, 15 Feb 2010 20:12:42 +0000 (13:12 -0700)]
Added support for MySQL options
Support sending options to MySQL using mysql_options, which occurs between
the API calls of mysql_init and mysql_real_connect.
Kevin Rosenberg [Thu, 11 Feb 2010 23:03:48 +0000 (16:03 -0700)]
Version 5.0.3: Full foreign string internationalization support
Kevin Rosenberg [Thu, 11 Feb 2010 20:59:31 +0000 (13:59 -0700)]
Further internationalization.
Change UFFI:CONVERT-RAW-FIELD and UFFI:CONVERT-FROM-FOREIGN-STRINGS
invocations to use the foreign character set encoding of the
database object.
Nathan Bird [Thu, 11 Feb 2010 19:39:48 +0000 (14:39 -0500)]
Changelog update: mssql 'date support.
Nathan Bird [Thu, 11 Feb 2010 19:26:04 +0000 (14:26 -0500)]
Merge branch 'development'
Kevin Rosenberg [Thu, 11 Feb 2010 17:00:26 +0000 (10:00 -0700)]
Support Snow Leopard by generating universal (x86_64,i386) dylib bundles)
Nathan Bird [Wed, 10 Feb 2010 22:08:46 +0000 (17:08 -0500)]
Removing owner reference in test :ooddl/big/1; it's not about ownership
Nathan Bird [Wed, 10 Feb 2010 22:08:02 +0000 (17:08 -0500)]
On MSSQL < 2008 there is no timestamp (the default type for 'date), we use datetime which is present on all versions of sqlserver.
Nathan Bird [Wed, 10 Feb 2010 22:06:04 +0000 (17:06 -0500)]
Updating uffi:foreign-encoded-string-octets->uffi:foreign-encoded-octet-count to keep up with changes there.
Kevin Rosenberg [Mon, 8 Feb 2010 23:51:23 +0000 (16:51 -0700)]
Version 5.0.2: Add missing slot accessor, make defgenerics match defmethod
Kevin Rosenberg [Mon, 8 Feb 2010 05:36:26 +0000 (22:36 -0700)]
Version 5.0.1: Add encoding slot to database object
Kevin Rosenberg [Sun, 7 Feb 2010 09:52:55 +0000 (02:52 -0700)]
Automated commit for debian release 5.0.0-1
Kevin Rosenberg [Sun, 7 Feb 2010 09:52:35 +0000 (02:52 -0700)]
Automated commit for upstream build of version 5.0.0
Kevin Rosenberg [Sun, 7 Feb 2010 09:50:17 +0000 (02:50 -0700)]
Version 5.0.0: International character sets support
First release of CLSQL to formally and consistently support non-ASCII
strings with encoding of external formats for SQL strings.
UFFI version 1.8.1 is higher is required.
This change may introduce some differences in string handling for
people who are using non-ASCII encoded characters. Thus, because of
the risk of BACKWARD INCOMPATIBILITY, the major version number was
incremented with this release.
Kevin Rosenberg [Sun, 7 Feb 2010 03:22:27 +0000 (20:22 -0700)]
Add changes for internationalized strings missed on last commit.
Kevin Rosenberg [Sun, 7 Feb 2010 03:16:33 +0000 (20:16 -0700)]
Support UFFI's new internationalized string capabilities.
Kevin Rosenberg [Sat, 6 Feb 2010 17:32:48 +0000 (10:32 -0700)]
Ensure reasonable lisp type for slot in compute-lisp-type-from-specified-type
Kevin Rosenberg [Sat, 6 Feb 2010 16:21:58 +0000 (09:21 -0700)]
Ensure that *print-circle* is nil for comparing output of FORMAT.
Kevin Rosenberg [Sat, 6 Feb 2010 09:25:29 +0000 (02:25 -0700)]
Add Mac OS X dylib files to .gitignore
Kevin Rosenberg [Sat, 6 Feb 2010 09:17:01 +0000 (02:17 -0700)]
Remove CVS $Id$ keyword
Kevin Rosenberg [Sat, 6 Feb 2010 07:59:07 +0000 (00:59 -0700)]
Fix symbol case for case-sensitive Allegro
Kevin Rosenberg [Sat, 6 Feb 2010 07:46:43 +0000 (00:46 -0700)]
Ensure that uffi system is loaded before reading defsystem
Kevin Rosenberg [Sat, 6 Feb 2010 07:28:12 +0000 (00:28 -0700)]
Turn off benign console messages when testing on Postgres
Kevin Rosenberg [Sat, 6 Feb 2010 05:37:12 +0000 (22:37 -0700)]
Fix some case issues for case-sensitive, modern-mode Allegro
Kevin Rosenberg [Fri, 5 Feb 2010 22:27:37 +0000 (15:27 -0700)]
Load and use test-i18n.lisp when uffi:no-i18n is not present in cl:*features*
Kevin Rosenberg [Fri, 5 Feb 2010 17:31:22 +0000 (10:31 -0700)]
Add OpenMCL support for #\no-break_space
Kevin Rosenberg [Fri, 5 Feb 2010 17:19:59 +0000 (10:19 -0700)]
Comment that CMUCL errors when reading #\no-break_space
Kevin Rosenberg [Fri, 5 Feb 2010 17:08:10 +0000 (10:08 -0700)]
Conditionalize read of #\no-break_space for non-unicode SBCL and non-ics Allegro.
Nathan Bird [Thu, 4 Feb 2010 14:44:00 +0000 (09:44 -0500)]
Move i18n tests to separate file until we have a better system of dealing with them.
Also added some comments to properly documenting them as multi-byte tests and describe
their properties a bit better.
Kevin Rosenberg [Thu, 4 Feb 2010 05:02:21 +0000 (22:02 -0700)]
Remove spurious character
Kevin Rosenberg [Thu, 4 Feb 2010 02:07:43 +0000 (19:07 -0700)]
Use lower case symbols for compatibility with "modern"-mode AllegroCL
Nathan Bird [Wed, 3 Feb 2010 22:01:47 +0000 (17:01 -0500)]
2 tests for sending non multibyte characters to the database and back. Not sure how to handle this on unicode.
Nathan Bird [Wed, 3 Feb 2010 21:09:02 +0000 (16:09 -0500)]
Adding some tests for sending large strings to and from the database.
Kevin Rosenberg [Wed, 3 Feb 2010 19:22:46 +0000 (12:22 -0700)]
Add *test-report-width* variable. Word-wrap skipped tests reason field.
Kevin Rosenberg [Wed, 3 Feb 2010 17:32:27 +0000 (10:32 -0700)]
Allow skipped test name field width to be as narrow as possible
Nathan Bird [Wed, 3 Feb 2010 15:48:33 +0000 (10:48 -0500)]
Adding a test that is just micro-seconds for sqlserver, marking usec ones as skip.
Nathan Bird [Wed, 3 Feb 2010 15:07:17 +0000 (10:07 -0500)]
Time printing bugfixes- Use a #\T to separate date and time per iso standard.
Thanks to Harald Hanche-Olsen for the report
http://lists.b9.com/pipermail/clsql/2010-February/001836.html
Kevin Rosenberg [Wed, 3 Feb 2010 09:19:02 +0000 (02:19 -0700)]
Ensure report column is wide enough for longest test name
Kevin Rosenberg [Wed, 3 Feb 2010 00:34:01 +0000 (17:34 -0700)]
Shorten skipped test reasons
Nathan Bird [Tue, 2 Feb 2010 20:52:47 +0000 (15:52 -0500)]
In ODBC time conversion take into account the fraction if we have it.
Russ Tyndall [Tue, 2 Feb 2010 20:53:58 +0000 (15:53 -0500)]
rewrite asserts in pg time tests into standard rt parlance
Nathan Bird [Tue, 2 Feb 2010 20:10:05 +0000 (15:10 -0500)]
Adding a bunch of straight parse-timestring tests.
Russ Tyndall [Tue, 2 Feb 2010 19:45:29 +0000 (14:45 -0500)]
Fixed bugs in iso-timestring regarding printing microseconds
iso-timestring used to output
YYYY-MM-DD HH:MM:SS,,UUUUUU
What was invalid in this format was the two commas and because 3 usec
would be output as xx,,3 instead of xx,,000003.
It now outputs
YYYY-MM-DD HH:MM:SS.UUUUUU
Also we only print the amount of fractional seconds necessary.
Different databases support different precisions so this is
intended to ensure that we dont print with a greater
(ie: unparsable) precision than we read from the DB
EG 1.123400 sec prints as 1.1234
and 1.0 sec prints as 1
iso-timestring new implementation tested to be ~2x less memory at
the same speed
Nathan Bird [Tue, 2 Feb 2010 16:26:27 +0000 (11:26 -0500)]
Use fddl on cross-platform test to try to work for more databases. remove limit from queries that don't need them.
Nathan Bird [Tue, 2 Feb 2010 15:09:06 +0000 (10:09 -0500)]
Time test tweaks, mostly readability.
Nathan Bird [Mon, 1 Feb 2010 21:33:02 +0000 (16:33 -0500)]
Tests for time printing and retrieving
These tests will create a table and verify that the date inserted is
the date retrieved and that when we update the database the value we
retrieve is the same as the one we inserted.
Some backends support timezones and some do not, also some support
usecs and some dont.
Things the following tests try to prove correct
* Reading and writing usec and usec-less times
* reading and writing timezones (Z=utc) when appropriate (eg: postgresql-socket)
* reading and writing localtimes when appropriate (eg: ODBC)
* reading and writing through both the oodml and fdml layers
All these tests fail right now. All tests may not be correct yet.
Russ Tyndall [Sat, 23 Jan 2010 20:42:07 +0000 (15:42 -0500)]
made run-tests take a :suites arg
Also compute-tests-for-backend and do-tests-for-backend, take a :suites arg
where you can specify the *rt-* variable "suites" you wish to run
defaulting to all of them
Nathan Bird [Mon, 1 Feb 2010 20:12:12 +0000 (15:12 -0500)]
Marking :connection/query-command as mysql only for now. It is low priority and causes chained failures on other backends.
Russ Tyndall [Tue, 26 Jan 2010 19:42:17 +0000 (14:42 -0500)]
added a test for setting floats to nil and back (was failing in postgresql at some previously)
Nathan Bird [Mon, 1 Feb 2010 19:26:50 +0000 (14:26 -0500)]
Reduce code duplication in mysql backend.
database-query and database-query-result-set call
database-execute-command which does the mysql_real_query and raises an
error if there is a problem.
Nathan Bird [Tue, 19 Jan 2010 18:59:52 +0000 (13:59 -0500)]
Mysql shouldn't segfault in database-query when running a command with no resultset.
From docs at http://dev.mysql.com/doc/refman/5.0/en/mysql-real-query.html and
http://dev.mysql.com/doc/refman/5.0/en/mysql-field-count.html after performing the query
and attempting to get a result set, the RS ptr should be checked for null and
if it is check mysql_errno to see if there actually was an error, or just no result.
This patch makes database-query return NIL if there was no resultset.
Nathan Bird [Tue, 19 Jan 2010 20:28:01 +0000 (15:28 -0500)]
Adding new connection tests that are the simplest query/command against a database connection.
Dropping test :fdml/execute-command/1 everything is tested elsewhere.
table-exists-p - :fddl/table/2
execute-command - :connection/execute-command
Nathan Bird [Sat, 23 Jan 2010 20:52:48 +0000 (15:52 -0500)]
Updating logic for odbc database-list-{tables,views} to use owner and skip system tables.
SqlServer 2005 moved around their namespaces, and added more. Adding
those to the hardcoded skip lists.
Since ODBC doesn't expose the owner we use that parameter to filter
on schema since that's what tends to be exposed. Some DBs like mssql
2000 conflate the two so at least there it works nicely.
TODO: revisit owner/schema logic.
From 2000->2005 sqlserver they separated owner from schema and so
this will probably need to be revisited further-- not sure how
given the ODBC nature.
Kevin Rosenberg [Fri, 29 Jan 2010 23:53:33 +0000 (16:53 -0700)]
merge from master
Kevin Rosenberg [Fri, 29 Jan 2010 23:49:12 +0000 (16:49 -0700)]
Version 4.3.3 release
Kevin Rosenberg [Fri, 29 Jan 2010 22:00:59 +0000 (15:00 -0700)]
New file clsql-cffi.asd