unico 2004/07/08 08:24:41 Modified: src/stores/org/apache/slide/store/impl/rdbms RDBMSComparableResourcesPool.java Log: access statics in a static way; fix bug in criteria compilation Revision Changes Path 1.3 +22 -10 jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/RDBMSComparableResourcesPool.java Index: RDBMSComparableResourcesPool.java =================================================================== RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/RDBMSComparableResourcesPool.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RDBMSComparableResourcesPool.java 5 Jul 2004 10:55:21 -0000 1.2 +++ RDBMSComparableResourcesPool.java 8 Jul 2004 15:24:41 -0000 1.3 @@ -145,7 +145,7 @@ try { connection.close(); } catch (SQLException e) { - _store.getLogger().log(e, _store.LOG_CHANNEL, Logger.WARNING); + _store.getLogger().log(e, AbstractRDBMSStore.LOG_CHANNEL, Logger.WARNING); } } } @@ -161,7 +161,7 @@ ArrayList uris = new ArrayList(); try { final String sql = compileSQL(); - System.out.println("\nexecute: " + sql + "\n"); +// System.out.println("\nexecute: " + sql + "\n"); statement = connection.prepareStatement(sql); result = statement.executeQuery(); while (result.next()) { @@ -190,7 +190,7 @@ result.close(); } catch (SQLException e) { - _store.getLogger().log(e, _store.LOG_CHANNEL, Logger.WARNING); + _store.getLogger().log(e, AbstractRDBMSStore.LOG_CHANNEL, Logger.WARNING); } } if (statement != null) { @@ -198,7 +198,7 @@ statement.close(); } catch (SQLException e) { - _store.getLogger().log(e, _store.LOG_CHANNEL, Logger.WARNING); + _store.getLogger().log(e, AbstractRDBMSStore.LOG_CHANNEL, Logger.WARNING); } } } @@ -228,7 +228,7 @@ " from " + compileJoins() + " where " + compileScope(uri); final String criteria = compileCriteria(); - query = (criteria != null) ? query + " AND " + criteria : query; + query = (criteria != null && criteria.length() > 0) ? query + " AND " + criteria : query; // query += compileOrderBy(); // query += compileLimit(); return query; @@ -288,7 +288,13 @@ final String namespace = property.getNamespace(); final String selectKey = namespace + name; if (!_context.selects().containsKey(selectKey)) { - result += " AND (sp" + index + ".PROPERTY_NAME = '" + name + + if (result == null) { + result = ""; + } + else { + result += " AND "; + } + result += " (sp" + index + ".PROPERTY_NAME = '" + name + "' AND sp" + index + ".PROPERTY_NAMESPACE = '" + namespace + "') "; index++; } @@ -299,7 +305,7 @@ private String compileJoins() { String joins = "((OBJECT o " + "inner join URI u on u.URI_ID = o.URI_ID) " + - "inner join version_history vh on vh.URI_ID = u.URI_ID) "; + "inner join VERSION_HISTORY vh on vh.URI_ID = u.URI_ID) "; Iterator iter = _context.joins().iterator(); while (iter.hasNext()) { joins = "(" + joins + " " + iter.next() + ") "; @@ -312,6 +318,12 @@ if (!_context.selects().containsKey(selectKey)) { joins = "(" + joins + " inner join PROPERTIES sp" + index + " on sp" + index + ".VERSION_ID = vh.VERSION_ID)"; +// joins = "(" + joins + " left join " + +// "(SELECT VERSION_ID, PROPERTY_VALUE " + +// "FROM PROPERTIES WHERE VERSION_ID = vh.VERSION_ID " + +// "AND PROPERTY_NAME = '" + property.getName() + "' " + +// "AND PROPERTY_NAMESPACE= '" + property.getNamespace() + "') " + +// "AS sp" + index + " ON sp" + index + ".VERSION_ID = vh.VERSION_ID)"; index++; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]