Provided by: libdbix-bulkloader-mysql-perl_1.006-2_all 

NAME
DBIx::BulkLoader::Mysql - Perl extension for mysql bulk loading
SYNOPSIS
use DBIx::BulkLoader::Mysql;
# non repeating portion of the insert statement
my $insert='insert into bulk_insert (col_a,col_b,col_c) values ';
# repeating portion of the insert statement
my $placeholders='(?,?,?)';
# how many rows to buffer until insert is called
my $bulk_insert_count=5;
# db connection
my $dbh=DBI->connect(db connection info here);
my $placeholder_count=3;
my ($bulk,$error)=DBIx::BulkLoader::Mysql->new(
dbh=>$dbh
,sql_insert=>$insert
,placeholders=>$placeholders
);
die $error unless $bulk;
for( 1 .. 50 ) {
$bulk->insert(qw(a b c));
}
# inserted 50 rows at once
$bulk->insert(qw(l l x));
# inserted 0 rows
$bulk->insert(qw(l l x));
# inserted 0 rows
$bulk->flush;
# inserted 2 rows 1 at a time
DESCRIPTION
Simple buffering bulk loader interface for mysql.
EXPORT
None.
OO Methods
This section covers the OO methods for this package.
• my ($bulk,$error)=DBIx::BulkLoader::Mysql->new(%hash);
Package constructor.
$bulk is undef on error
$error explains why $bulk is undef
Constructor options
dbh=>$dbh
Sets the DBH object
sql_insert=>$insert
Contains the body of the sql statement minus the
placeholder segment.
placeholders=>$placeholders
Placeholder segment of the sql statement
placeholder_count=>3
Optional argument
If you get strange insert counts or dbi bails
set this option manually
bulk_insert_count=>50
Optional argument
Sets the number of rows to buffer for insert.
prepare_args=>{}
Optional argument
Arguments to be passed to $dbh->prepare
See DBD::mysql
• $bulk->flush;
Empties the placeholder buffer
• $bulk->insert($x,$y,$z);
Inserts the placeholder arguments onto the buffer stack. This does not cause an insert, unless the
total number of rows is the same as the constructor call "bulk_insert_count=>50".
• my $columns=$bulk->get_placeholder_count;
Gets the total number of column placeholders.
• my $buffer_size=$bulk->get_buffer_size;
Gets the total size of the array used for insert.
• my $sql_single=$bulk->single_sql;
Gets the raw sql statement used for single row inserts.
• my $bulk_sql=$bulk->bulk_sql;
Gets the raw sql statement used for bulk row inserts.
• my $single_sth=$bulk->get_prepared_single_sth;
Gets the prepared statement handle for single row inserts.
• my $bulk_sth=$bulk->get_prepared_bulk_sth;
Gets the prepared statement handle for bulk row inserts.
• my @buffer=$bulk->get_buffered_data;
Returns a list containing the current buffered data
SEE ALSO
DBI, DBD::mysql
Source Forge Project
If you find this software usefil please donate to the Source Forge Project.
DBIx BulkLoader Mysql <https://sourceforge.net/projects/dbix-bulkloader/>
AUTHOR
Michael Shipper
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Michael Shipper
This library is free software; you can redistribute it and/or modify it under the same terms as Perl
itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.
perl v5.36.0 2023-02-14 DBIx::BulkLoader::Mysql(3pm)