Вы правы; строки в основном пуле никогда не будут GC'd.
Однако большинство строк не интернированы. Строковые литералы интернированы, а строки, переданные в String.intern()
, интернированы, но все остальные строки не интернированы и могут быть GC'd в норме.
Я подозреваю, что вы не можете вернуть набор результатов из функции. В функции вам нужно объявить переменную и заполнить ее
Select count(idFriendship) INTO @1
from friendship
Where users.iduser=friendship.iduser1;
return @1;
, вы должны иметь возможность использовать функцию в некотором SQL, поэтому разрешено возвращать только одно значение
https: //dev.mysql.com/doc/refman/8.0/en/create-function-udf.html