Skip Menu |
 

This queue is for tickets about the DBD-mysql CPAN distribution.

Report information
The Basics
Id: 26156
Status: rejected
Priority: 0/
Queue: DBD-mysql

People
Owner: Nobody in particular
Requestors: dan.horne [...] redbone.co.nz
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 4.001
Fixed in: (no value)



Subject: Primary key info incorrect
Download (untitled) / with headers
text/plain 2.4k
The database handle methods primary_key_info and primary_key seem to return more columns than just the primary key (perhaps foreign keys as well). Test Perl script: #!/usr/local/bin/perl use DBD::mysql; use Data::Dumper; my $dsn = 'dbi:mysql:flock2_build'; my $dbh = DBI->connect($dsn, 'root', '') || die DBI::errstr; my $sth = $dbh->primary_key_info(undef, undef, 'groups'); print Dumper($sth->fetchall_arrayref); I tried against a table with the following definition: CREATE TABLE `groups` ( `group_id` int(11) NOT NULL auto_increment COMMENT 'Unique identifier', `usernumber` int(11) NOT NULL COMMENT 'the owner of the group', `group_status_code` varchar(10) NOT NULL COMMENT 'the status of the group (who can access it)', `network_id` int(11) default NULL COMMENT 'university that the group belongs to', `group_name` varchar(255) default NULL COMMENT 'The name of the group', `description` text COMMENT 'description of the group', PRIMARY KEY (`group_id`), KEY `group_name_n1` (`group_name`,`network_id`), KEY `group_university_fk` (`network_id`), KEY `group_user_owner_fk` (`usernumber`), KEY `group_status_fk` (`group_status_code`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `groups` ADD CONSTRAINT `group_status_fk` FOREIGN KEY (`group_status_code`) REFERENCES `group_status` (`group_status_code`), ADD CONSTRAINT `group_university_fk` FOREIGN KEY (`network_id`) REFERENCES `network` (`network_id`), ADD CONSTRAINT `group_user_owner_fk` FOREIGN KEY (`usernumber`) REFERENCES `user_authentication` (`usernumber`); And dumping the primary_key_info returns: $VAR1 = [ [ undef, undef, 'groups', 'group_name', '1', 'group_name_n1' ], [ undef, undef, 'groups', 'group_id', '1', 'PRIMARY' ], [ undef, undef, 'groups', 'group_status_code', '1', 'group_status_fk' ], [ undef, undef, 'groups', 'usernumber', '1', 'group_user_owner_fk' ], [ undef, undef, 'groups', 'network_id', '1', 'group_university_fk' ] Tested with DBD::mysql 4.003, MySQL 5.0.22 on Windows and DBD::mysql 4.001, MySQL 5.0.15 on Linux
From: dan.horne [...] redbone.co.nz
Ah, this is fixed in 4.004
Already fixed in 4.004.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.