From b05359c3229cbded7dea9a2255b1386c311b7c75 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Tue, 31 Jul 2012 08:14:19 -0400
Subject: [PATCH] Bug 8533 - Non-numeric cardnumbers screw up autoMemberNum

---
 C4/Members.pm |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/C4/Members.pm b/C4/Members.pm
index 2e59c91..6174a44 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -899,11 +899,8 @@ sub fixup_cardnumber {
         return "V$cardnumber$rem";
      } else {
 
-     # MODIFIED BY JF: mysql4.1 allows casting as an integer, which is probably
-     # better. I'll leave the original in in case it needs to be changed for you
-     # my $sth=$dbh->prepare("select max(borrowers.cardnumber) from borrowers");
         my $sth = $dbh->prepare(
-            "select max(cast(cardnumber as signed)) from borrowers"
+            'SELECT MAX( cardnumber ) FROM borrowers WHERE cardnumber REGEXP "^-?[0-9]+$"'
         );
         $sth->execute;
         my ($result) = $sth->fetchrow;
-- 
1.7.2.5