Przeglądaj źródła

fixed isInstance function - too long name for mariadb

Piotr Labudda 8 lat temu
rodzic
commit
4e9e281920
1 zmienionych plików z 3 dodań i 2 usunięć
  1. 3 2
      SE/se-lib/Route/Storage/AclReinstall.php

+ 3 - 2
SE/se-lib/Route/Storage/AclReinstall.php

@@ -46,7 +46,8 @@ class Route_Storage_AclReinstall extends RouteBase {
 						$dbName = DB::getPDO()->getDatabaseName();
 						$sqlFunBody = ACL::generateIsInstanceFunctionBody($namespace, $item);
 						DBG::nicePrint($sqlFunBody, "\$sqlFunBody");
-						DB::getPDO()->execSql(" DROP FUNCTION IF EXISTS `{$dbName}`.`isInstance_{$namespace}` ");
+						$idInstance = ACL::getInstanceId($namespace);
+						DB::getPDO()->execSql(" DROP FUNCTION IF EXISTS `{$dbName}`.`isInstance_{$idInstance}` ");
 						// CREATE
 						//     [DEFINER = { user | CURRENT_USER }]
 						//     FUNCTION sp_name ([func_parameter[,...]])
@@ -54,7 +55,7 @@ class Route_Storage_AclReinstall extends RouteBase {
 						//     [characteristic ...] routine_body
 						DB::getPDO()->execSql("
 							CREATE DEFINER=`root`@`localhost`
-							FUNCTION `{$dbName}`.`isInstance_{$namespace}` ( pk INT(11) )
+							FUNCTION `{$dbName}`.`isInstance_{$idInstance}` ( pk INT(11) )
 							RETURNS TINYINT(1)
 							{$sqlFunBody}
 						");