dev/core#183 Use standard temporary table name format when creating temporary utf8mb4...
authorSeamus Lee <seamuslee001@gmail.com>
Sun, 17 Nov 2019 19:45:43 +0000 (06:45 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Sun, 17 Nov 2019 19:45:43 +0000 (06:45 +1100)
CRM/Utils/Check/Component/Env.php

index f46ca4df28660402c39d3f7742a9165b5075e8ac..72b327bc2b90847286813f1a3adea190c2bd2a3c 100644 (file)
@@ -891,8 +891,9 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
     }
 
     // Use mysqli_query() to avoid logging an error message.
-    if (mysqli_query(CRM_Core_DAO::getConnection()->connection, 'CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(255))) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC ENGINE=INNODB')) {
-      CRM_Core_DAO::executeQuery('DROP TEMPORARY TABLE civicrm_utf8mb4_test');
+    $mb4testTableName = CRM_Utils_SQL_TempTable::build()->setCategory('utf8mb4test')->getName();
+    if (mysqli_query(CRM_Core_DAO::getConnection()->connection, 'CREATE TEMPORARY TABLE ' . $mb4testTableName . ' (id VARCHAR(255), PRIMARY KEY(id(255))) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC ENGINE=INNODB')) {
+      CRM_Core_DAO::executeQuery('DROP TEMPORARY TABLE ' . $mb4testTableName);
     }
     else {
       $messages[] = new CRM_Utils_Check_Message(