Re: bytea corruption? - Mailing list pgsql-general

From Colin Streicher
Subject Re: bytea corruption?
Date
Msg-id 200908231020.56321.colin@obviouslymalicious.com
Whole thread Raw
In response to Re: bytea corruption?  ("Daniel Verite" <daniel@manitou-mail.org>)
Responses Re: bytea corruption?
List pgsql-general
I'm probably a little late to this discussion, but I have had issues before
with BYTEA in postgres before as well, this is what I found worked.

use Digest::MD5;
use DBI qw(:sql_types);
use DBD::Pg qw(:pg_types);

....
....

sub InsertBin($$$)
{
    my ( $dbh, $md5sum, $filename ) = @_;
    open BIN,"<$filename" || die "Unable to open";
    my $bin;
    while (<BIN>){
        $bin .= $_;
        }
    my $insertsql = qq( INSERT INTO enc_virus VALUES( ?,?,? )); #  filename -
md5sum - binary
    my $sth = $dbh->prepare($insertsql);
    $sth->bind_param(1,$filename);
    $sth->bind_param(2,$md5sum);
    $sth->bind_param(3,$bin, { pg_type => PG_BYTEA });
    $sth->execute();
    }


I hope this helps if you haven't figured it out yet


On Saturday 22 August 2009 03:48:25 pm Daniel Verite wrote:
>     Nathan Jahnke wrote:
> > thanks for your help. unfortunately i'm still getting corruption on
> > this particular data (available at
> > http://nate.quandra.org/data.bin.0.702601051229191 ) even with these
> > changes:
> >
> > # ./bytea.pl
> > Argument "DBD::Pg::PG_BYTEA" isn't numeric in subroutine entry at
> > ./bytea.pl line 18.
> > 37652cf91fb8d5e41d3a90ea3a22ea61 != ce3fc63b88993af73fb360c70b7ec965
>
> Ah, you also need to add
> use DBD::Pg;
> at the beginning of the script for DBD::Pg::PG_BYTEA to be properly
> evaluated.
>
> Best regards,

pgsql-general by date:

Previous
From: Denis BUCHER
Date:
Subject: Re: Strange "missing tables" problem
Next
From: Tom Lane
Date:
Subject: Re: Strange "missing tables" problem