branch develop updated (1f588a7 -> 058caf7)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git from 1f588a7 fixes #6960 [Réponse] Impossible d'ajouter les pièces jointes des éléments dont l'objet a un saut de ligne new 058caf7 decomposition de la requete de recherche d'archives (problèmes de lenteur en prod) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 058caf79895785865a6d1a1d5d1f76d2078e012d Author: Kevin Morin <morin@codelutin.com> Date: Fri Apr 17 10:37:46 2015 +0200 decomposition de la requete de recherche d'archives (problèmes de lenteur en prod) Summary of changes: .../persistence/entities/EmailTopiaDao.java | 31 +++++++++++++++++----- 1 file changed, 25 insertions(+), 6 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 058caf79895785865a6d1a1d5d1f76d2078e012d Author: Kevin Morin <morin@codelutin.com> Date: Fri Apr 17 10:37:46 2015 +0200 decomposition de la requete de recherche d'archives (problèmes de lenteur en prod) --- .../persistence/entities/EmailTopiaDao.java | 31 +++++++++++++++++----- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java index 7c85424..c3efeff 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java @@ -484,20 +484,39 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { StringBuilder query = new StringBuilder(); Map<String, Object> args = new HashMap<>(); - query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + " in (:folders)"); + Set<Email> result = new HashSet<>(); + + query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + " in (:folders)"); args.put("folders", folders); query.append(" AND E." + Email.PROPERTY_DEMAND_STATUS + " = :archiveStatus"); args.put("archiveStatus", DemandStatus.ARCHIVED); - query.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); - query.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + "))"); - query.append(" OR lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + // kmorin 20150417 impossible de savoir pourquoi, mais sqlserver n'aime pas cette requete... + // si on la fait en 2 fois ca passe + +// query.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); +// query.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + "))"); +// query.append(" OR lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + ")"); +// args.put(SearchFilter.PROPERTY_COMMAND_NB, "%" + commandQuotationNumber + "%"); + + StringBuilder query1 = new StringBuilder(query); + query1.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); + query1.append(" AND lower(RR." + RangeRow.PROPERTY_COMMAND_NUMBER + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + "))"); + args.put(SearchFilter.PROPERTY_COMMAND_NB, "%" + commandQuotationNumber + "%"); - query.append(")"); + query1.append(")"); - return findAll(query.toString(), args); + result.addAll(this.<Email>findAll(query1.toString(), args)); + + StringBuilder query2 = new StringBuilder(query); + query2.append(" AND (lower(E." + Email.PROPERTY_COMPANY_REFERENCE + ") LIKE lower(:" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + query2.append(")"); + + result.addAll(this.<Email>findAll(query2.toString(), args)); + + return result; } /** -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm