#!/usr/bin/perl -w

use strict;
use DBI;
use POSIX qw(floor);
use MIME::Base64 qw(encode_base64);

main();

sub main {
    my ($dbh, $ins, $blob);

    srand(1);
    
    $blob = '';
    for (my $i = 0; $i < 10000; $i++) {
        $blob .= chr(floor(rand(256)));
    }

    $blob = encode_base64($blob);

    $dbh = DBI->connect('dbi:Pg:host=localhost;dbname=grow', 'jwb', '', {AutoCommit => 0, RaiseError => 1});
    $ins = $dbh->prepare(q{
        INSERT INTO grow (body) VALUES (?)
    });
    
    while(1) {
        eval {
            $ins->execute($blob);
            $dbh->commit();
        };
        if ($@) {
            $dbh->rollback();
        }
    }
    
    $dbh->commit(); 
    $dbh->disconnect();
}

1;
