Bug #21369 Server side prepare causes unsupported buffer type errors
Submitted: 31 Jul 2006 19:00 Modified: 2 Jan 2007 22:39
Reporter: Jonathan Lundquist Email Updates:
Status: Duplicate Impact on me:
None 
Category:Connectors: DBD::mysql ( Perl ) Severity:S2 (Serious)
Version:3.0006_1 OS:Linux (Linux 2.6.8)
Assigned to: CPU Architecture:Any

[31 Jul 2006 19:00] Jonathan Lundquist
Description:
I my environment server side prepares cause unsupported buffer type error

root@hermes:/tmp# perl test.pl
  Perl            : 5.008008    (i486-linux-gnu-thread-multi)
  OS              : linux       (2.6.16.4)
  DBI             : 1.51
  DBD::mysql      : 3.0006_1
  DBD::Sponge     : 11.10
  DBD::Proxy      : 0.2004
  DBD::Pg         : 1.41
  DBD::ODBC       : 1.13
  DBD::File       : 0.33
  DBD::ExampleP   : 11.12
  DBD::DBM        : 0.03
DBD::mysql::st execute failed: Using unsupported buffer type: 0  (parameter: 1) at test.pl line 6.
Using unsupported buffer type: 0  (parameter: 1) at test.pl line 6.

How to repeat:
Test table:
+-------+------+
| a     | b    |
+-------+------+
| 10000 |    1 |
| 10001 |    0 |
+-------+------+

test.pl:
#!/usr/local/bin/perl
use DBI();
DBI->installed_versions;
my $dbh = DBI->connect('dbi:mysql:database=test;host=somehost;mysql_multi_results=1;mysql_multi_statements=1', 'user', 'password', {RaiseError=>0}) or die 'failed to connect';
my $sth = $dbh->prepare("select * from test where a = ?;") or die $dbh->errstr;
$sth->execute(10000) or die $sth->errstr;
[31 Jul 2006 21:02] MySQL Verification Team
Thank you for the bug report. I am getting different error message:

miguel@hegel:~/dbs/5.0> perl test.pl 
  Perl            : 5.008007    (i586-linux-thread-multi)
  OS              : linux       (2.6.12)
  DBI             : 1.51
  DBD::mysql      : 3.0006_1
  DBD::Sponge     : 11.10
  DBD::Proxy      : 0.2004
  DBD::File       : 0.33
  DBD::ExampleP   : 11.12
  DBD::DBM        : 0.03
FREE ERROR BIND!FREE ERROR FBIND!

Against which server you are running and which server lib version you
compiled against.

Thanks in advance.
[31 Jul 2006 22:11] Jonathan Lundquist
I'm running server version 5.0.22-3 from debian package mysql-server-5.0, and client library is version 5.0.22-3 of debian package libmysqlclient15off.
[3 Aug 2006 11:58] Valeriy Kravchuk
I've got the same bug as Miguel:

openxs@suse:~/dbs/5.0> perl 21369.pl
  Perl            : 5.008006    (i586-linux-thread-multi)
  OS              : linux       (2.6.9)
  DBI             : 1.47
  DBD::mysql      : 3.0006_1
  DBD::Sponge     : 11.10
  DBD::Proxy      : install_driver(Proxy) failed: Can't locate RPC/PlClient.pm i
n @INC
  DBD::File       : 0.32
  DBD::ExampleP   : 11.12
  DBD::DBM        : 0.02
FREE ERROR BIND!FREE ERROR FBIND!openxs@suse:~/dbs/5.0>

with 5.0.25-BK on SuSE 9.3. It looks like a bug, anyway.
[26 Sep 2006 18:38] Joel Nelson
FYI - I have run into the same problem under windows.  I tried changing several pieces until I got it to work. Changing the instance/version of Mysql made no difference. Changing the instance of perl did. I'm not sure the difference is in perl itself as perl 5.8.8/DBD::mysql 3.0004_1 does NOT work but perl 5.8.7/DBD::mysql 3.0002 DOES work. So it might just be DBD::mysql? DBI was the save version in both cases (v1.5).
[19 Oct 2006 15:01] Andrew Baumhauer
Looks like to problem exists in 3.0008_1 as well:

  Perl            : 5.008008    (x86_64-linux-thread-multi)
  OS              : linux       (2.6.9-34.elsmp)
  DBI             : 1.52
  DBD::mysql      : 3.0008_1
  DBD::XBase      : 0.241
  DBD::Sponge     : 11.10
  DBD::SQLite2    : 0.33
  DBD::SQLite     : 1.12
  DBD::Proxy      : not installed
  DBD::Pg         : 1.49
  DBD::File       : 0.35
  DBD::ExampleP   : 11.12
  DBD::DBM        : 0.03
  DBD::CSV        : 0.22
  DBD::AnyData    : 0.08
[2 Jan 2007 22:39] Jim Winstead
This is a duplicate of Bug #20559.