Up Prev Next
From: Michael Peppler <mpeppler at peppler dot org>
Subject: Bulk insert/load API access from DBI
Date: Jul 6 2004 9:37AM
[ also posted to dbi-dev for comments there ]
I've been asked to investigate the feasibility of adding access to
Sybase's bulk-load API in DBD::Sybase. This is an API that allows you to
load table rows in a minimally logged manner, and is of course much
faster than normal INSERT statements.
I have this API available in Sybase::CTlib, and there are a number of users
who mix DBI and Sybase::CTlib to get the necessary functionality.
I can implement this as a bunch of private DBD::Sybase calls,
but after thinking about this a little I thought that it might be
possible to integrate this to the prepare()/execute()/commit() sequence.
Maybe something like:
$sth = $dbh->prepare("BULK INSERT -- attributes to be
@row = split('\|'); # or whatever...
Obviously the driver (or DBI) would have to recognize the BULK INSERT
statement and switch to the bulk load API. That's similar to what I do
now with the "EXEC ..." statement that generates RPC calls instead of
SQL language commands to the server.
Does this make sense?
Michael Peppler Data Migrations, Inc.
Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short
or long term contract positions - http://www.peppler.org/resume.html