[Patches] [PATCH] Bug 7188: C4::Context::db_scheme2dbi does case-insensitive grep

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Mon Nov 7 00:25:03 NZDT 2011


From: Paul Poulain <paul.poulain at biblibre.com>
Date: Sat, 17 Sep 2011 00:58:41 +0200
Subject: [PATCH] Bug 7188: C4::Context::db_scheme2dbi does case-insensitive grep

Checking NYTProf in C4::Context, it appears that the /i flag is highly time-consumming
As we don't support anything outside from mysql, returning directly mysql directly

If in a future version PostgresSQL works, then we will have to update this sub. But if an ORM is introduced, this code will be removed completly anyway

Testing note:
Drops execution time of the line from 300ms to 20 microseconds (in my testing).
---
 C4/Context.pm |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/C4/Context.pm b/C4/Context.pm
index 85d1c18..68ed85a 100644
--- a/C4/Context.pm
+++ b/C4/Context.pm
@@ -237,12 +237,13 @@ sub read_config_file {		# Pass argument naming config file to read
 # 
 sub db_scheme2dbi {
     my $name = shift;
-
+    # for instance, we support only mysql, so don't care checking
+    return "mysql";
     for ($name) {
 # FIXME - Should have other databases. 
-        if (/mysql/i) { return("mysql"); }
+        if (/mysql/) { return("mysql"); }
         if (/Postgres|Pg|PostgresSQL/) { return("Pg"); }
-        if (/oracle/i) { return("Oracle"); }
+        if (/oracle/) { return("Oracle"); }
     }
     return undef;         # Just in case
 }
-- 
1.7.2.5


More information about the Patches mailing list