Index: topia/src/java/org/codelutin/topia/persistence/PersistenceStorageJDBC.java diff -u topia/src/java/org/codelutin/topia/persistence/PersistenceStorageJDBC.java:1.10 topia/src/java/org/codelutin/topia/persistence/PersistenceStorageJDBC.java:1.11 --- topia/src/java/org/codelutin/topia/persistence/PersistenceStorageJDBC.java:1.10 Thu Aug 4 15:55:45 2005 +++ topia/src/java/org/codelutin/topia/persistence/PersistenceStorageJDBC.java Thu Aug 4 16:55:38 2005 @@ -23,10 +23,10 @@ * Created: 20 juillet 2005 15:25:06 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.10 $ + * @version $Revision: 1.11 $ * - * Last update: $Date: 2005/08/04 15:55:45 $ - * by : $Author: dessard $ + * Last update: $Date: 2005/08/04 16:55:38 $ + * by : $Author: thimel $ */ package org.codelutin.topia.persistence; @@ -151,7 +151,7 @@ SQL_DEFAULT.put(SQL_CREATE_INDEX_MANAGEMENT_ID, "CREATE INDEX index_management_id ON management (id)"); SQL_DEFAULT.put(SQL_CREATE_INDEX_MANAGEMENT_DATE, - "CREATE INDEX index_management_llongdate ON management (longdate)"); + "CREATE INDEX index_management_longdate ON management (longdate)"); SQL_DEFAULT.put(SQL_CREATE_INDEX_DATA_ID, "CREATE INDEX index_data_id ON data (id)"); SQL_DEFAULT.put(SQL_CREATE_INDEX_DATA_DATE, @@ -893,9 +893,10 @@ } finally { sta.close(); } - conn.commit(); + conn.rollback(); //On est dans un find, pas de modif !!! } finally { - conn.close(); + if (!conn.isClosed()) //Si exception il y a eu, la connection est potentiellement fermée + conn.close(); } } catch (SQLException eee) { throw new TopiaPersistenceException("Erreur durant le find transaction : " + context.getTransaction().getId(), eee); Index: topia/src/java/org/codelutin/topia/persistence/TopiaJDBCQueryHelper.java diff -u topia/src/java/org/codelutin/topia/persistence/TopiaJDBCQueryHelper.java:1.3 topia/src/java/org/codelutin/topia/persistence/TopiaJDBCQueryHelper.java:1.4 --- topia/src/java/org/codelutin/topia/persistence/TopiaJDBCQueryHelper.java:1.3 Wed Aug 3 16:17:10 2005 +++ topia/src/java/org/codelutin/topia/persistence/TopiaJDBCQueryHelper.java Thu Aug 4 16:55:38 2005 @@ -23,9 +23,9 @@ * * @author Arnaud Thimel * Copyright Code Lutin - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ * - * Mise a jour: $Date: 2005/08/03 16:17:10 $ + * Mise a jour: $Date: 2005/08/04 16:55:38 $ * par : $Author: thimel $ */ package org.codelutin.topia.persistence; @@ -53,14 +53,14 @@ static private Logger log = Logger.getLogger("org.codelutin.topia.persistence.TopiaJDBCQueryHelper"); - public static final String AND = " AND"; - public static final String IN_START = " (id,longdate) IN ("; + public static final String AND = " AND "; + public static final String IN_START = "(id,longdate) IN ("; public static final String IN_AND_SELECT = "SELECT id, longdate FROM data WHERE "; public static final String LEAD_SELECT = "SELECT DISTINCT id FROM data WHERE "; public static final String END_BEFORE_TYPE = "SELECT id, min(longdate) FROM management WHERE (id,longdate) IN (SELECT id, max(longdate) FROM management WHERE class='"; - public static final String END_MIDDLE_TYPE = "' AND (longdate=? OR (longdate>0 AND longdate<=?)) AND id NOT IN (SELECT id FROM management WHERE (longdate=? OR (longdate>0 AND longdate<=?)) AND isDeleted=true) GROUP BY id UNION SELECT id, longdate FROM management WHERE class='"; - public static final String END_AFTER_TYPE = "' AND longdate=? AND isDeleted=false) GROUP BY id)"; + public static final String END_MIDDLE_TYPE = "' AND (longdate in (?) OR (longdate>0 AND longdate<=?)) AND id NOT IN (SELECT id FROM management WHERE (longdate in (?) OR (longdate>0 AND longdate<=?)) AND isDeleted=true) GROUP BY id UNION SELECT id, longdate FROM management WHERE class='"; + public static final String END_AFTER_TYPE = "' AND longdate in (?) AND isDeleted=false) GROUP BY id)"; // public static final String LEAD_SELECT = "SELECT * FROM data WHERE "; // public static final String END_BEFORE_TYPE = "SELECT id, min(longdate) FROM management WHERE (id,longdate) IN (SELECT id, max(longdate) FROM management WHERE class='";