Author: turnstep
Date: Thu Dec 17 07:17:47 2009
New Revision: 13669
Modified:
DBD-Pg/trunk/Changes
DBD-Pg/trunk/t/06bytea.t
Log:
Put in a test for high-bit characters in bytea handling.
Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes (original)
+++ DBD-Pg/trunk/Changes Thu Dec 17 07:17:47 2009
@@ -1,5 +1,7 @@
('GSM' is Greg Sabino Mullane, greg-738XdyZ4GzZWk0Htik3J/[email protected])
+ - Put in a test for high-bit characters in bytea handling.
+ [Bryce Nesbitt] (see also CPAN bug #39390)
- Better SQLSTATE code on connection failure (CPAN bug #52863)
[Chris Travers with help from Andrew Gierth]
Modified: DBD-Pg/trunk/t/06bytea.t
==============================================================================
--- DBD-Pg/trunk/t/06bytea.t (original)
+++ DBD-Pg/trunk/t/06bytea.t Thu Dec 17 07:17:47 2009
@@ -17,7 +17,7 @@
if (! defined $dbh) {
plan skip_all => 'Connection to database failed, cannot continue testing';
}
-plan tests => 7;
+plan tests => 11;
isnt ($dbh, undef, 'Connect to database for bytea testing');
@@ -40,6 +40,14 @@
$t='bytea (second) insert test with string containing a single quote';
ok ($sth->execute(402, '\''), $t);
+my ($binary_in, $binary_out);
+$t='store binary data in BYTEA column';
+for(my $i=0; $i<256; $i++) { $binary_out .= chr($i); }
+$sth->{pg_server_prepare} = 0;
+ok ($sth->execute(403, $binary_out), $t);
+$sth->{pg_server_prepare} = 1;
+ok ($sth->execute(404, $binary_out), $t);
+
$t='Received correct text from BYTEA column with backslashes';
$sth = $dbh->prepare(q{SELECT bytetest FROM dbd_pg_test WHERE id=?});
$sth->execute(400);
@@ -51,6 +59,14 @@
$byte = $sth->fetchall_arrayref()->[0][0];
is ($byte, '\'', $t);
+$t='Ensure proper handling of high bit characters';
+$sth->execute(403);
+($binary_in) = $sth->fetchrow_array();
+ok( $binary_in eq $binary_out, $t );
+$sth->execute(404);
+($binary_in) = $sth->fetchrow_array();
+ok( $binary_in eq $binary_out, $t );
+
$t='quote properly handles bytea strings';
my $string = "abc\123\\def\0ghi";
my $result = $dbh->quote($string, { pg_type => PG_BYTEA });
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.