From 403c93db3b4d36c5e651d69cfe45a67e63704267 Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Mon, 2 Apr 2012 19:24:38 -0600 Subject: [PATCH] Handle Key_name or key_name in NibbleIterator::_get_index_cardinality(). --- lib/NibbleIterator.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/NibbleIterator.pm b/lib/NibbleIterator.pm index 5a80899f..e2e976bf 100644 --- a/lib/NibbleIterator.pm +++ b/lib/NibbleIterator.pm @@ -549,8 +549,11 @@ sub _get_index_cardinality { . "WHERE Key_name = '$index'"; PTDEBUG && _d($sql); my $cardinality = 1; - # XXX This will fail for the new Cxn which does not set NAME_lc by default. - my $rows = $cxn->dbh()->selectall_hashref($sql, 'key_name'); + my $dbh = $cxn->dbh(); + my $key_name = $dbh && ($dbh->{FetchHashKeyName} || '') eq 'NAME_lc' + ? 'key_name' + : 'Key_name'; + my $rows = $dbh->selectall_hashref($sql, $key_name); foreach my $row ( values %$rows ) { $cardinality *= $row->{cardinality} if $row->{cardinality}; }