Hi,
this is a known bug and should be already fixed with version 7.5.00.31a
available at:
http://search.cpan.org/~maxdb/DBD-MaxDB-7.5.00.31a/

BTW: Where did you get DBD::MaxDB version 7.5.00.32 from? It isn't
available until now.

Regards,
Marco 

> -----Original Message-----
> From: Robert Sedlacek [mailto:[EMAIL PROTECTED] 
> Sent: Dienstag, 13. September 2005 17:07
> To: MaxDB Mailinglist
> Subject: Trailing NullByte Issue with DBD::MaxDB
> 
> Hello!
> 
> We just found an issue regarding MaxDB and LONG BYTE fields. While
> trying to put some binary data into one of our tables, we ran into the
> problem that MaxDB seems to add a trailing \x00 to every entry.
> 
> I included a script at the bottom ( for table creation look after
> __END__ ) that demonstrates this behaviour. When I run it, I get
> 
>   Inserted: 8bytes, 31 32 33 34 61 62 63 64
>   Selected: 9bytes, 31 32 33 34 61 62 63 64 00
> 
> The first line represents the inserted data, the second one the data
> that got selected out of the data. The numbers at the end are the hex
> representation of the given data. You see that there's a trailing \x00
> too much. Anyone got an idea about this?
> 
> Our Versions:
> DBD::MaxDB - 7.5.00.32
> DBI        - 1.48
> MaxDB      - Kernel 7.5.0 Build 030-121-100-791
> 
> 
> Thanks & Greetings,
> Robert
> 
> 
> 
> --- The Demonstration ---
> #!/usr/bin/perl
> 
> use strict;
> use DBI;
> use DBD::MaxDB;
> 
> my $data = '1234abcd';
> 
> my $c = DBI->connect( 'dbi:MaxDB:PROD', 'GSM', 'SMS' );
> $c->{LongReadLen} = 50_000_000;
> 
> $c->do( 'DELETE FROM T1' );
> $c->do( 'INSERT INTO T1 ( ID, DTA ) VALUES ( 1, ? )', undef, $data );
> 
> my $s = $c->prepare( 'SELECT DTA FROM T1' );
> $s->execute;
> my $row = $s->fetchrow_hashref();
> 
> print 'Inserted: ', length( $data ), 'bytes, ', hexify( $data ), "\n";
> print 'Selected: ', length( $row->{DTA} ),'bytes, ', hexify( $row-
> >{DTA} ), "\n";
> 
> sub hexify {
>         return join( ' ',
>                 map { sprintf '%02x', ord( $_ ) } split //, shift
>         );
> }
> 
> __END__
> 
> CREATE TABLE T1 (
>         ID INT NOT NULL,
>         DTA LONG BYTE
> )
> 
> 
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to