> > 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
