From 218d0a5afce99e9018e3abd02980bba2121e11fb Mon Sep 17 00:00:00 2001 From: camer0n Date: Tue, 6 May 2025 18:08:52 -0700 Subject: [PATCH] Issue #5490 Incorrect ALTER query created on index. Indexes added to admin_log for speed. --- e107_core/sql/core_sql.php | 3 +++ e107_handlers/db_verify_class.php | 2 +- e107_tests/tests/unit/db_verifyTest.php | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/e107_core/sql/core_sql.php b/e107_core/sql/core_sql.php index dc150732f..50e8f52c4 100755 --- a/e107_core/sql/core_sql.php +++ b/e107_core/sql/core_sql.php @@ -40,6 +40,9 @@ CREATE TABLE admin_log ( dblog_remarks text NOT NULL, PRIMARY KEY (dblog_id), KEY dblog_datestamp (dblog_datestamp) + KEY dblog_eventcode (dblog_eventcode), + KEY dblog_eventcode_title (dblog_eventcode,dblog_title), + KEY dblog_user_id (dblog_user_id) ) ENGINE=InnoDB; # -------------------------------------------------------- diff --git a/e107_handlers/db_verify_class.php b/e107_handlers/db_verify_class.php index 05e786599..432f1fcbc 100755 --- a/e107_handlers/db_verify_class.php +++ b/e107_handlers/db_verify_class.php @@ -887,7 +887,7 @@ class db_verify } else { - return "INDEX `" . $data['keyname'] . "` (" . $data['field'] . ");"; + return "INDEX `" . $data['field'] . "` (" . $data['keyname'] . ");"; } } diff --git a/e107_tests/tests/unit/db_verifyTest.php b/e107_tests/tests/unit/db_verifyTest.php index 341aa21f5..e87bb4033 100644 --- a/e107_tests/tests/unit/db_verifyTest.php +++ b/e107_tests/tests/unit/db_verifyTest.php @@ -528,6 +528,27 @@ DATA; } + $indexTests = [ + 0 => [ + 'input' => array ( 'type' => '', 'keyname' => 'dblog_eventcode', 'field' => 'dblog_eventcode', ), + 'expected' => "INDEX `dblog_eventcode` (dblog_eventcode);" + ], + 1 => [ + 'input' => array ( 'type' => '', 'keyname' => 'dblog_eventcode,dblog_title', 'field' => 'dblog_eventcode_title', ), + 'expected' => "INDEX `dblog_eventcode_title` (dblog_eventcode,dblog_title);" + ], + 2 => [ + 'input' => array ( 'type' => '', 'keyname' => 'dblog_user_id', 'field' => 'dblog_user_id', ), + 'expected' => "INDEX `dblog_user_id` (dblog_user_id);" + ] + ]; + + foreach($indexTests as $k => $data) + { + $result = $this->dbv->toMysql($data['input'], 'index'); + self::assertEquals($data['expected'], $result); + } + } /*