diff --git a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java index 7d1b7b75ec9..8d69d4d5585 100644 --- a/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java +++ b/framework/db/src/main/java/com/cloud/utils/db/GenericDaoBase.java @@ -41,6 +41,7 @@ import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TimeZone; import java.util.UUID; @@ -1293,7 +1294,8 @@ public abstract class GenericDaoBase extends Compone fromIndex += onClause.length(); } - str.delete(str.length() - 4, str.length()); + int diff = str.toString().trim().toLowerCase(Locale.ROOT).endsWith("where") ? 6 : 4; + str.delete(str.length() - diff, str.length()); for (JoinBuilder> join : joins) { if (join.getT().getJoins() != null) {