Passing large numbers of arguments within a &rest variable is not
very portable Common Lisp because of
call-arguments-limit.
For performance reasons, users may want many bind parameters to take
advantage of so-called extended inserts, e.g.:
INSERT INTO tbl_name (a,b,c) VALUES(?,?,?),(?,?,?),(?,?,?),(?,?,?),...
When this is the case, cl-dbi is artificially coupling how many &rest
parameters can be passed with how many extended inserts a DB can
support thus potentially artificially limiting an application's
performance. Further, it becomes more difficult to write portable code
because of this implementation detail.
Passing large numbers of arguments within a
&rest
variable is not very portable Common Lisp because of call-arguments-limit.For performance reasons, users may want many bind parameters to take advantage of so-called extended inserts, e.g.:
INSERT INTO tbl_name (a,b,c) VALUES(?,?,?),(?,?,?),(?,?,?),(?,?,?),...
When this is the case, cl-dbi is artificially coupling how many
&rest
parameters can be passed with how many extended inserts a DB can support thus potentially artificially limiting an application's performance. Further, it becomes more difficult to write portable code because of this implementation detail.fixes #60