Hi all,
I'm included a piece of a discussion that was had on the Perl DBI
mailing list a while back. A new feature was added that enable
applications to pass off arrays of placeholder values for each
placeholder in a prepared SQL statement instead of only a single value
for each placeholder.
This meant a significant speed-up for things like large INSERT
statements.
My question is does Postgres have the necessary abilities to handle
this feature?
Thanks ahead of time,
jas.
> > Thanks Andrew,
> >
> > The question isn't whether the current DBD::Pg supports the behavior,
> > it doesn't, the issue is whether the Postgres C API has an ability to
> > do these array-based inserts.
> >
> > I would definately have to modify DBD::Pg's C code to support this.
> >
> > I was just wondering from Dean and Jeff what kind of C API methods did
> > they need to use to get it working for ODBC.
>
> It's all part of the ODBC spec/API.
>
> Jeff
>
Or check the Oracle OCI array binding (the function names
escape me at the moment).
The deeper issue is whether the DBMS supports a bulk
operation, esp in a transactional context. E.g., Teradata
has bulk operation utilities ala SQLLoader, but
currently doesn't support bulk operations in a
regular SQL connection.
While adding an iterative
query execution into the C API code will help some,
the big boosts occur when the DBMS can gobble
up a stream of 1,000+ placeholder tuples at once
(and esp. for INSERT, dump 'em directly to disk),
as e.g. Oracle and DB2 do.
Dean