clsql.git
11 years agoVersion 6.4 release debian-6.4.0-1 v6.4.0
Kevin M. Rosenberg [Wed, 19 Dec 2012 17:08:37 +0000 (10:08 -0700)]
Version 6.4 release

11 years agoImproved documentation of normalized classes and changelog entry
Russ Tyndall [Sat, 24 Nov 2012 17:39:01 +0000 (12:39 -0500)]
Improved documentation of normalized classes and changelog entry

11 years ago(SEMANTIC CHANGE) update-objects-joins now simpler and more predicatble
Russ Tyndall [Tue, 20 Nov 2012 22:19:55 +0000 (17:19 -0500)]
(SEMANTIC CHANGE) update-objects-joins now simpler and more predicatble

The previous default was to update only :deferred slots but the
docstring *said* it was doing :immediate slots.

The new default is to do :immediate slots which was the specification,
and provides some consistency with the rest of the system which
defaults to only operating on :immediate slots.

New behavior for SLOTS parameter:
 * :immediate (DEFAULT) - refresh join slots created with :retrieval
   :immediate
 * :deferred - refresh join slots created with :retrieval :deferred
 * :all,t - refresh all join slots regardless of :retrieval
 * list of symbols - which explicit slots to refresh
 * a single symobl - what slot to refresh

 * :immediate - refresh join slots created with :retrieval :immediate
   (the default)
 * :deferred - refresh join slots created with :retrieval :deferred
 * :all,t - refresh all join slots regardless of :retrieval
 * list of symbols - which explicit slots to refresh
 * a single symobl - what slot to refresh

Readability improvements:
 * split into a couple functions instead of one giant one.
 * standardize on loop instead of many different iteration constructs

11 years agoremoved generate-selection-list in favor of a make-select-list
Russ Tyndall [Tue, 20 Nov 2012 20:55:05 +0000 (15:55 -0500)]
removed generate-selection-list in favor of a make-select-list
function and object

 * structures this data and simplifies interactions with it
 * speeds up build-objects (better than pre-refactor levels)
   by caching this data rather than recalculating each iteration

11 years agoRefactored find-all and build-object to be more readable, shorter and
Russ Tyndall [Wed, 21 Nov 2012 18:11:44 +0000 (13:11 -0500)]
Refactored find-all and build-object to be more readable, shorter and
less buggy

 * handles not double referencing inner-join tables now
 * better able to find table references and better at not duplicating
 * removed order-by and distinct from the select-list rather passing
   them as :order-by and :distinct

11 years agoRefactoring join-qualifier for readability
Nathan Bird [Wed, 5 Dec 2012 20:13:46 +0000 (15:13 -0500)]
Refactoring join-qualifier for readability

11 years agoSimplify slotdefs-for-slots-with-class by using existing function.
Nathan Bird [Wed, 5 Dec 2012 18:37:49 +0000 (13:37 -0500)]
Simplify slotdefs-for-slots-with-class by using existing function.

11 years agodocstrings and small rewrite of chain-primary-keys to be iterative instead of recursive
Russ Tyndall [Tue, 20 Nov 2012 22:19:02 +0000 (17:19 -0500)]
docstrings and small rewrite of chain-primary-keys to be iterative instead of recursive

11 years agoadded docstrings and some join-slot-info accessor helper functions
Russ Tyndall [Tue, 20 Nov 2012 20:54:23 +0000 (15:54 -0500)]
added docstrings and some join-slot-info accessor helper functions

11 years agoreworked fault-join-slot & fault-join-normalized-slot to do less work
Russ Tyndall [Mon, 19 Nov 2012 22:00:27 +0000 (17:00 -0500)]
reworked fault-join-slot & fault-join-normalized-slot to do less work

slot-value-using class got a bit cleaner along the way.

11 years agointroduced slot-def kind predicates (eg: join-slot-p key-slot-p)
Russ Tyndall [Tue, 20 Nov 2012 18:59:08 +0000 (13:59 -0500)]
introduced slot-def kind predicates (eg: join-slot-p key-slot-p)

11 years agomade the datetest table have a key column so that update-records-from-* works again
Russ Tyndall [Mon, 19 Nov 2012 21:55:24 +0000 (16:55 -0500)]
made the datetest table have a key column so that update-records-from-* works again

11 years agomade direct and effective slot-definitions contain the same db-info hash
Russ Tyndall [Mon, 19 Nov 2012 21:54:53 +0000 (16:54 -0500)]
made direct and effective slot-definitions contain the same db-info hash

11 years agorefactor update-records-from-* functions to utilize a single codepath
Russ Tyndall [Wed, 14 Nov 2012 21:23:45 +0000 (16:23 -0500)]
refactor update-records-from-* functions to utilize a single codepath
rather than reimplementing things differently in each

 * major clean up of normalized classes code - not many tests for
   this so if its being used by you please check carefully
 * should be a single update code path that each of the other methods
   feed into
 * less different iteration forms, I found almost all the iteration
   constructs in the language being used, opted to try an standardize
   on loop since it was already being used and tends to produce more
   efficient code
 * objects instead of unstructured lists
 * smaller, hopefully easier to understand functions

11 years agoadded dates/times to the parameter value coersion and pulled this into
Russ Tyndall [Tue, 30 Oct 2012 15:55:28 +0000 (11:55 -0400)]
added dates/times to the parameter value coersion and pulled this into
a new generic prepare-sql-parameter

11 years agoignore some unused variables, two less style warnings
Ryan Davis [Thu, 13 Sep 2012 17:27:13 +0000 (13:27 -0400)]
ignore some unused variables, two less style warnings

11 years agoAutomated commit for upstream build of version 6.3.0 debian-6.3.0-1 v6.3.0
Kevin M. Rosenberg [Tue, 4 Sep 2012 23:12:40 +0000 (17:12 -0600)]
Automated commit for upstream build of version 6.3.0

11 years agoRelease 6.3
Kevin M. Rosenberg [Tue, 4 Sep 2012 23:07:49 +0000 (17:07 -0600)]
Release 6.3

11 years agomerged current-test-results and LATEST-TEST-RESULTS into a single file in the root
Russ Tyndall [Tue, 4 Sep 2012 19:36:13 +0000 (15:36 -0400)]
merged current-test-results and LATEST-TEST-RESULTS into a single file in the root

11 years agoAdded a current-test-results.txt file to keep track of the current state of the test...
Russ Tyndall [Tue, 4 Sep 2012 19:20:23 +0000 (15:20 -0400)]
Added a current-test-results.txt file to keep track of the current state of the test suite

11 years agoTry to respect the casing of symbols where it seems intentional (ie:
Russ Tyndall [Tue, 4 Sep 2012 17:29:49 +0000 (13:29 -0400)]
Try to respect the casing of symbols where it seems intentional (ie:
is not default).

This should fix a failing test case, and I think behaves more
understandibly. If you specify a casing '|Foo Bar| let us treat that a
string "Foo Bar" and output it escaped

11 years agoensure the sqlite database name is a string (and not a pathname)
Ryan Davis [Thu, 30 Aug 2012 20:18:53 +0000 (16:18 -0400)]
ensure the sqlite database name is a string (and not a pathname)

11 years agouse &body instead of &rest to aid emacs indentation
Ryan Davis [Tue, 28 Aug 2012 18:36:09 +0000 (14:36 -0400)]
use &body instead of &rest to aid emacs indentation

11 years agoallow pathnames as well as strings in sqlite3 connection specs
Ryan Davis [Tue, 28 Aug 2012 18:13:40 +0000 (14:13 -0400)]
allow pathnames as well as strings in sqlite3 connection specs

11 years agoChange log entry for shadowing postgresql-notification
Russ Tyndall [Fri, 17 Aug 2012 15:44:30 +0000 (11:44 -0400)]
Change log entry for shadowing postgresql-notification

11 years agoshadow postgresql-notification for compatibility with new cl-postgres (Thanks Zach)
Russ Tyndall [Fri, 17 Aug 2012 15:41:13 +0000 (11:41 -0400)]
shadow postgresql-notification for compatibility with new cl-postgres (Thanks Zach)

11 years agoMerge branch 'master' of git.acceleration.net:/var/git/clsql
Ryan Davis [Tue, 31 Jul 2012 13:52:49 +0000 (09:52 -0400)]
Merge branch 'master' of git.acceleration.net:/var/git/clsql

11 years agocomment fix and added a TODO, some connection pooling scenarios
Ryan Davis [Thu, 26 Jul 2012 20:59:52 +0000 (16:59 -0400)]
comment fix and added a TODO, some connection pooling scenarios
can lose autocommit configuration

11 years agocomment fix and added a TODO, some connection pooling scenarios
Ryan Davis [Thu, 26 Jul 2012 20:59:52 +0000 (16:59 -0400)]
comment fix and added a TODO, some connection pooling scenarios
can lose autocommit configuration

11 years agofixed a bug where the order by was being destructively modified,
Russ Tyndall [Mon, 9 Jul 2012 21:11:54 +0000 (17:11 -0400)]
fixed a bug where the order by was being destructively modified,
causing odd caching issues when the selected object was not statically
known (eg unreferenced tables could show up in the query if they were
cached by a previous call through this function.  I replaced this code
with a non-destructive variant which should solve this.

Thanks to Philipp Marek for the bug report

11 years agodequote database-identifiers and autoincrement-sequence
Russ Tyndall [Mon, 25 Jun 2012 15:09:44 +0000 (11:09 -0400)]
dequote database-identifiers and autoincrement-sequence

 * we can handle symbols, so we can probably handle quoted symbols
 * slot-definition initargs seem to some in unevaluated, so lets handle
   people doing the obvious thing and puting a quote in front of their symbols

11 years agoChanged compute-effective-slot-definition to correctly copy the
Russ Tyndall [Fri, 22 Jun 2012 15:14:47 +0000 (11:14 -0400)]
Changed compute-effective-slot-definition to correctly copy the
autoincrement-sequence slot to the ESD previously it was being skipped
(seemingly by accident).

Thanks to flip214 on #lisp for the bug report

11 years agouse with-output-to-string instead of progv
Ryan Davis [Tue, 15 May 2012 20:13:15 +0000 (16:13 -0400)]
use with-output-to-string instead of progv

11 years agoAdding a section to the README about contributing.
Nathan Bird [Wed, 9 May 2012 14:51:47 +0000 (10:51 -0400)]
Adding a section to the README about contributing.

11 years agoMerge branch 'master' of ssh://git.b9.com/home/gitpub/clsql
Kevin M. Rosenberg [Thu, 26 Apr 2012 16:17:56 +0000 (10:17 -0600)]
Merge branch 'master' of ssh://git.b9.com/home/gitpub/clsql

11 years agoVersion 6.2 release
Kevin M. Rosenberg [Thu, 26 Apr 2012 15:14:50 +0000 (09:14 -0600)]
Version 6.2 release

11 years agoUpdating version number in asd to reflect recent development.
Nathan Bird [Thu, 26 Apr 2012 14:46:56 +0000 (10:46 -0400)]
Updating version number in asd to reflect recent development.

11 years agoadded (*in-subselect* t) bindings around rendering out update/insert values
Russ Tyndall [Wed, 25 Apr 2012 16:24:30 +0000 (12:24 -0400)]
added (*in-subselect* t) bindings around rendering out update/insert values

11 years agoAdding some (incomplete) information about the current state of thread-safety.
Nathan Bird [Wed, 25 Apr 2012 15:25:31 +0000 (11:25 -0400)]
Adding some (incomplete) information about the current state of thread-safety.

11 years agoMysql > CREATE TABLE: use 'engine' keyword instead of 'type'.
Nathan Bird [Tue, 24 Apr 2012 15:49:08 +0000 (11:49 -0400)]
Mysql > CREATE TABLE: use 'engine' keyword instead of 'type'.

11 years agoRevert "If running on a threaded lisp try loading libmysqlclient_r"
Nathan Bird [Tue, 24 Apr 2012 14:57:42 +0000 (10:57 -0400)]
Revert "If running on a threaded lisp try loading libmysqlclient_r"

This reverts commit 7127589ca079f4f4279be601ebd272b7488906b4.

While I think this might be right, I've not gotten a chance to test
this at all. Aside from that, on my system (ubuntu 12.04 x86_64) both
versions symlink to the same shared object.

12 years agoBug in sequence names was reported by Jan Tolenaar.
Russ Tyndall [Wed, 28 Mar 2012 18:11:22 +0000 (14:11 -0400)]
Bug in sequence names was reported by Jan Tolenaar.

We changed the naming scheme inadvertently.  Added a flag
*old-sequence-names* to force use of the old naming scheme.  Hopefully
this will not break for anyone relying on the new naming scheme

12 years agomerging changelog
Ryan Davis [Tue, 27 Mar 2012 20:21:39 +0000 (16:21 -0400)]
merging changelog

12 years agoupdated changelog
Ryan Davis [Tue, 27 Mar 2012 20:18:23 +0000 (16:18 -0400)]
updated changelog

12 years agoconvered orphan sql-ident-table test function to use RT and run with
Ryan Davis [Tue, 27 Mar 2012 20:06:27 +0000 (16:06 -0400)]
convered orphan sql-ident-table test function to use RT and run with
the rest of the syntax tests (and fail)

Had to fix some package references, and uses backquote to splice
together the a decent deftest form without being overly verbose. Also
used clsql:sql instead of calling output-sql directly.

Currently fails by not preserving case when using a symbol like '|foo|
as the table name, we're getting "FOO" not "foo".

12 years agoadd 3 new syntax tests for subqueries in SELECT, UPDATE,
Ryan Davis [Tue, 27 Mar 2012 19:42:39 +0000 (15:42 -0400)]
add 3 new syntax tests for subqueries in SELECT, UPDATE,
and DELETE statements.

Had to use clsql-sys unexported symbols for sql-delete
and sql-update because clsql:sql-operation does not support
either.

12 years agoadded change log entry for the last two patches
Russ Tyndall [Mon, 26 Mar 2012 21:03:47 +0000 (17:03 -0400)]
added change log entry for the last two patches

12 years agouse output-sql-where-clause when rendering update statements
Ryan Davis [Mon, 26 Mar 2012 19:57:24 +0000 (15:57 -0400)]
use output-sql-where-clause when rendering update statements

12 years agofix SQL syntax errors when using subqueries in WHERE clauses of DELETE or UPDATE...
Ryan Davis [Mon, 26 Mar 2012 19:52:13 +0000 (15:52 -0400)]
fix SQL syntax errors when using subqueries in WHERE clauses of DELETE or UPDATE statements.

A similar issue was fixed for SELECTs in b06efa82, this patch pulls WHERE clause printing
into a seperate function called by the different output-sql methods.

12 years agoupdate clsql-odbc docs to explain the :connection-string connection argument.
Ryan Davis [Fri, 23 Mar 2012 18:54:20 +0000 (14:54 -0400)]
update clsql-odbc docs to explain the :connection-string connection argument.

12 years agofix typos in the ChangeLog
Ryan Davis [Fri, 23 Mar 2012 18:53:51 +0000 (14:53 -0400)]
fix typos in the ChangeLog

12 years agoIf running on a threaded lisp try loading libmysqlclient_r
Nathan Bird [Wed, 22 Feb 2012 21:59:23 +0000 (16:59 -0500)]
If running on a threaded lisp try loading libmysqlclient_r

http://dev.mysql.com/doc/refman/5.1/en/threaded-clients.html

12 years agoRemoving odbc::%cstring-into-vector -- unused and unreliable.
Nathan Bird [Fri, 6 Jan 2012 21:39:09 +0000 (16:39 -0500)]
Removing odbc::%cstring-into-vector -- unused and unreliable.

The idea of the function was to copy out of c string memory into a
lisp string a byte at a time, converting to lisp characters as we go.

However:
 * this doesn't work with multibyte charsets
 * the underlying deref-array funcall would sometimes pull the entire
   array into lisp to then get at the single element-- for each element.
 * set elements in the lisp array using schar but there's no guarantee
   that the lisp array is a simple-string. Newer SBCL's err on this.

12 years agoRewrote ODBC's read-data-in-chunks to handle multibyte characters.
Nathan Bird [Fri, 6 Jan 2012 21:36:22 +0000 (16:36 -0500)]
Rewrote ODBC's read-data-in-chunks to handle multibyte characters.

This function is called on large (greater than +max-precision+) fields
and was previously converting to lisp characters one at time with no
regard for encoding.  The new method uses 2x more memory as it uses an
extra copy of the string (in pieces) but at least it returns correct
data.

Added a test case that shows the problem (now fixed).

12 years agoHandle sql decimal type identically to sql numeric type--read into a double.
Nathan Bird [Thu, 5 Jan 2012 22:33:40 +0000 (17:33 -0500)]
Handle sql decimal type identically to sql numeric type--read into a double.

12 years agoFixed bug reported by JTK related to the not-null sql-expression
Russ Tyndall [Tue, 13 Dec 2011 14:13:25 +0000 (09:13 -0500)]
Fixed bug reported by JTK related to the not-null sql-expression
especially as used in conjunction with the is operator

Made null called with more than one argument throw an exception
instead of silently discarding all arguments past the first

12 years agoFixup ODBC :connection-string codepath.
Nathan Bird [Wed, 4 Jan 2012 20:37:15 +0000 (15:37 -0500)]
Fixup ODBC :connection-string codepath.

In the call to odbc's SQLDriverConnect default the WindowHandle
argument to a null ptr so that connecting with :connection-string will
work in the default case of SQL_DRIVER_NOPROMPT.

I.e. you can now do things like: (clsql:connect '("DsnName" "UserName"
"" :connection-string
"DRIVER={FreeTDS};SERVER=...;DATABASE=...;UID=...;PWD=...;PORT=1433;TDS_Version=8.0;APP=clsql"
:database-type :odbc))

I believe the DsnName and Username at that point are only used when
printing the connection information.

When connecting with ODBC :connection-string argument default the
window-handle (for popping up a prompt) to the null ptr in the case
that one hasn't been passed in.

The default is to tell the driver library not to prompt so it doesn't
really need a window handle, it just needs it to be a null ptr rather
than nil.

12 years agoFix typo in recent 6.1.0
Kevin M. Rosenberg [Wed, 21 Dec 2011 02:59:33 +0000 (19:59 -0700)]
Fix typo in recent 6.1.0

12 years agoOracle foreign encoding fix debian-6.1.0-1 v6.1.0
Kevin M. Rosenberg [Mon, 19 Dec 2011 17:14:55 +0000 (10:14 -0700)]
Oracle foreign encoding fix
2011-12-20  Kevin Rosenberg <kevin@rosenberg.net>
* db-oracle/oracle.lisp: Change length function to
uffi:foreign-string-length to handle foreign encodings.

12 years agoExport the new symbol: *time-format*.
Nathan Bird [Thu, 1 Dec 2011 21:55:25 +0000 (16:55 -0500)]
Export the new symbol: *time-format*.

12 years agoIn ODBC backend, avoid going through the common lisp universal time
Russ Tyndall [Mon, 28 Nov 2011 22:44:20 +0000 (17:44 -0500)]
In ODBC backend, avoid going through the common lisp universal time
type (because it lacks support for historic dates) when doing date
conversions.  Instead use CLSQL date/time types.

*time-conversion-function* renamed to *time-format*

Patch from: Francisco Vides Fernandez

12 years agoMerge branch 'master' of http://git.b9.com/clsql
Russ Tyndall [Mon, 28 Nov 2011 22:13:51 +0000 (17:13 -0500)]
Merge branch 'master' of http://git.b9.com/clsql

12 years agoadded some more documentation on command-object
Ryan Davis [Tue, 15 Nov 2011 15:54:24 +0000 (10:54 -0500)]
added some more documentation on command-object

12 years agoadded nvarchar to the possible sql-to-c-types for ODBC backend
Russ Tyndall [Tue, 18 Oct 2011 21:21:49 +0000 (17:21 -0400)]
added nvarchar to the possible sql-to-c-types for ODBC backend

12 years agoAutomated commit for upstream build of version 6.0.1 debian-6.0.1-1 v6.0.1
Kevin M. Rosenberg [Wed, 21 Sep 2011 16:58:27 +0000 (10:58 -0600)]
Automated commit for upstream build of version 6.0.1

12 years agoadded changelog entry describing previous bug fix
Russ Tyndall [Mon, 12 Sep 2011 17:48:12 +0000 (13:48 -0400)]
added changelog entry describing previous bug fix

12 years agofixed a bugs in list-attribute(s|-types) in fddl that I introduced
Russ Tyndall [Mon, 12 Sep 2011 15:13:27 +0000 (11:13 -0400)]
fixed a bugs in list-attribute(s|-types) in fddl that I introduced
with %database-identifier stuff (essentially I need unquoted column
names but was passing around quoted ones).  Pass around
%database-identifiers instead and only get the un/escaped version as
you are about to stick it in a query.

12 years agoAutomated commit for upstream build of version 6.0.0 debian-6.0.0-1 v6.0.0
Kevin M. Rosenberg [Wed, 3 Aug 2011 14:49:41 +0000 (08:49 -0600)]
Automated commit for upstream build of version 6.0.0

12 years agoCLSQL 6.0.0 release
Kevin M. Rosenberg [Wed, 3 Aug 2011 14:48:55 +0000 (08:48 -0600)]
CLSQL 6.0.0 release

12 years agouse file-enable in tests to make it harder to get the syntax enable/disabling wrong
Russ Tyndall [Tue, 2 Aug 2011 17:29:24 +0000 (13:29 -0400)]
use file-enable in tests to make it harder to get the syntax enable/disabling wrong

12 years agoadded changelog entry for the merged patch stack
Russ Tyndall [Thu, 28 Jul 2011 17:22:42 +0000 (13:22 -0400)]
added changelog entry for the merged patch stack

12 years agoMerge branch 'accel-2'
Russ Tyndall [Wed, 27 Jul 2011 20:14:20 +0000 (16:14 -0400)]
Merge branch 'accel-2'

12 years agowrite out postgresql-socket-3 parameter values to the recording stream (when we write...
Russ Tyndall [Mon, 25 Jul 2011 19:46:52 +0000 (15:46 -0400)]
write out postgresql-socket-3 parameter values to the recording stream (when we write out command object expressions)

12 years agoVersion 5.4.0 release debian-5.4.0-1 v5.4.0
Kevin M. Rosenberg [Sat, 16 Jul 2011 15:19:56 +0000 (09:19 -0600)]
Version 5.4.0 release

12 years agofixed type-dec on substitute-string-for-char so that nil arg value returns nil as...
Russ Tyndall [Thu, 7 Jul 2011 18:41:17 +0000 (14:41 -0400)]
fixed type-dec on substitute-string-for-char so that nil arg value returns nil as previously

12 years agoAdding to utils make-weak-hash-table for use in caches.
Nathan Bird [Mon, 4 Jul 2011 19:40:44 +0000 (15:40 -0400)]
Adding to utils make-weak-hash-table for use in caches.

Currently used for
 * *output-hash*: caching generated SQL strings
 * oodml records cache

12 years agorequiring ownership isn't integral and causes it to fail
Nathan Bird [Fri, 1 Jul 2011 19:40:17 +0000 (15:40 -0400)]
requiring ownership isn't integral and causes it to fail

12 years agoAnother test that depends on auto-increment
Nathan Bird [Fri, 1 Jul 2011 19:39:52 +0000 (15:39 -0400)]
Another test that depends on auto-increment

12 years agorefactor the way oodml find-all and select deal with their keyword args.
Nathan Bird [Fri, 1 Jul 2011 18:39:34 +0000 (14:39 -0400)]
refactor the way oodml find-all and select deal with their keyword args.

 * introduce filter-plist for filtering key-value pairs out of a plist.
 * switch some (apply #'some-fun (append args (list :key val)))
            to (apply #'some-fun :key val args)
       where we know the key isn't in the args list

12 years agoA few type declarations
Nathan Bird [Fri, 1 Jul 2011 18:16:25 +0000 (14:16 -0400)]
A few type declarations

12 years agoadded output-caching tests to ensure that the output cache works correctly and can...
Russ Tyndall [Fri, 1 Jul 2011 18:41:36 +0000 (14:41 -0400)]
added output-caching tests to ensure that the output cache works correctly and can be disabled

12 years agoignore emacs #foo.lisp# autosave files
Nathan Bird [Thu, 30 Jun 2011 21:09:46 +0000 (17:09 -0400)]
ignore emacs #foo.lisp# autosave files

12 years agoAdding todo
Nathan Bird [Wed, 29 Jun 2011 18:47:51 +0000 (14:47 -0400)]
Adding todo

12 years agoMaking :basic/bigtext/2 a stronger test
Nathan Bird [Wed, 29 Jun 2011 18:32:51 +0000 (14:32 -0400)]
Making :basic/bigtext/2 a stronger test

12 years agowhitespace for readability
Nathan Bird [Wed, 29 Jun 2011 18:27:49 +0000 (14:27 -0400)]
whitespace for readability

12 years agoA pass over the connection pool trying to make sure the locked scopes are as narrow...
Nathan Bird [Thu, 30 Jun 2011 20:45:05 +0000 (16:45 -0400)]
A pass over the connection pool trying to make sure the locked scopes are as narrow as possible.

12 years agoSuite of new tests for connection pool operations.
Ryan Davis [Mon, 27 Jun 2011 19:04:20 +0000 (15:04 -0400)]
Suite of new tests for connection pool operations.

Also introduced dummy backend to aide running tests not about database backends.

12 years agoadds another testing path that is run without any open database connection, meant...
Ryan Davis [Mon, 27 Jun 2011 18:16:34 +0000 (14:16 -0400)]
adds another testing path that is run without any open database connection, meant to test internals.

Internal-only test suites need to be added to INTERNAL-SUITES (a peer to DEFAULT-SUITES).  Internal-suites are not run against db backends.

12 years agoFixup read-data-in-chunks a bit to use helper functions and whitespace
Nathan Bird [Wed, 29 Jun 2011 19:00:41 +0000 (15:00 -0400)]
Fixup read-data-in-chunks a bit to use helper functions and whitespace

12 years agoBUG FIX update-records-from-instance threw errors if pkey-slot was unbound
Russ Tyndall [Sun, 19 Jun 2011 17:25:58 +0000 (13:25 -0400)]
BUG FIX update-records-from-instance threw errors if pkey-slot was unbound

12 years agoBUGFIX: when read-data-in-chunks had an off-by-1 error when dealing with strings...
Nathan Bird [Wed, 29 Jun 2011 18:56:57 +0000 (14:56 -0400)]
BUGFIX: when read-data-in-chunks had an off-by-1 error when dealing with strings of length (1+ +max-precision+).

12 years agoOptimize odbc::%cstring-to-vector on sbcl if cffi isn't loaded.
Russ Tyndall [Fri, 17 Jun 2011 21:53:45 +0000 (17:53 -0400)]
Optimize odbc::%cstring-to-vector on sbcl if cffi isn't loaded.

It now uses sb-sys:sap-ref-8 instead of sb-alien:deref (via
uffi:deref-array) based on what we found CFFI using.

This makes the ODBC backend a couple orders of magnitude faster when
talking strings to MSSQL.

TODO: figure out how to make this change in UFFI or sb-alien so that
more places can benefit from this speed improvement

12 years agoadd %get-int to handle type-coersion to int and use it in generic-postgres
Russ Tyndall [Sun, 12 Jun 2011 16:19:12 +0000 (12:19 -0400)]
add %get-int to handle type-coersion to int and use it in generic-postgres
and throughout tests to simplify integer coersion, and allow
postgresql-socket3 to pass tests. (postgresql-socket3 always returns the
correct type, rather than sometimes returning strings)

12 years agostopped lisp symbols as values from being able to inject sql (SECURITY BUG)
Russ Tyndall [Wed, 22 Jun 2011 14:43:02 +0000 (10:43 -0400)]
stopped lisp symbols as values from being able to inject sql (SECURITY BUG)

Fixed some more places where we should have been using escaped-database-identifier

12 years agochanged generate-sql-reference to read [foo bar] and [foo.bar] as the same attribute...
Russ Tyndall [Sun, 12 Jun 2011 15:58:39 +0000 (11:58 -0400)]
changed generate-sql-reference to read [foo bar] and [foo.bar] as the same attribute expression

12 years agofixed some bugs with sql-expression caching and made it possible to
Russ Tyndall [Thu, 30 Jun 2011 19:40:25 +0000 (15:40 -0400)]
fixed some bugs with sql-expression caching and made it possible to
disable this system

12 years agoMajor rewrite of table/column name output escaping system wide.
Russ Tyndall [Mon, 24 Aug 2009 21:14:09 +0000 (17:14 -0400)]
Major rewrite of table/column name output escaping system wide.

Centralized logic in database-identifier that returns
database-identifier objects.  These allow us to coerce to a canonical
output name and have both its escaped and unescaped version available.
Previously the logic for converting from various sql-expressions,
symbols and strings into names that will be sent to the database, was
done all over the place and with different logic in each location

  prev:5282676789105fe52990b29ec991209dcfa84aa6
       6d643c3749b77b6e6207871f0cf40f135094f457
       6bf69ed2c616ea75e5402bd95853adee5551743b

12 years agomade odbc read (from c) decimals and numerics as doubles instead of
Russ Tyndall [Thu, 9 Jun 2011 18:27:53 +0000 (14:27 -0400)]
made odbc read (from c) decimals and numerics as doubles instead of
strings

TODO: Read these numbers in as rationals instead of floats

12 years agoallow update-record-from-slots to accept slot names or slot
Russ Tyndall [Thu, 9 Jun 2011 18:04:47 +0000 (14:04 -0400)]
allow update-record-from-slots to accept slot names or slot
definitions (by improving slotdef-for-slot-with-class)

12 years agofixed :from clauses to not throw errors when presented with a string or string expression
Russ Tyndall [Thu, 24 Feb 2011 18:39:02 +0000 (13:39 -0500)]
fixed :from clauses to not throw errors when presented with a string or string expression