summaryrefslogtreecommitdiffstats
path: root/lib/SqlFormatter.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SqlFormatter.php')
-rw-r--r--lib/SqlFormatter.php19
1 files changed, 4 insertions, 15 deletions
diff --git a/lib/SqlFormatter.php b/lib/SqlFormatter.php
index 0efd8db..d921333 100644
--- a/lib/SqlFormatter.php
+++ b/lib/SqlFormatter.php
@@ -178,8 +178,10 @@ class SqlFormatter
{
if (self::$init) return;
- // Sort reserved word list from longest word to shortest
- usort(self::$reserved, array('SqlFormatter', 'sortLength'));
+ // Sort reserved word list from longest word to shortest, 3x faster than usort
+ $reservedMap = array_combine(self::$reserved, array_map('strlen', self::$reserved));
+ arsort($reservedMap);
+ self::$reserved = array_keys($reservedMap);
// Set up regular expressions
self::$regex_boundaries = '('.implode('|',array_map(array('SqlFormatter', 'quote_regex'),self::$boundaries)).')';
@@ -1031,19 +1033,6 @@ class SqlFormatter
}
/**
- * Helper function for sorting the list of reserved words by length
- *
- * @param String $a The first string
- * @param String $b The second string
- *
- * @return int The comparison of the string lengths
- */
- private static function sortLength($a, $b)
- {
- return strlen($b) - strlen($a);
- }
-
- /**
* Helper function for building regular expressions for reserved words and boundary characters
*
* @param String $a The string to be quoted