[exo-jcr-commits] exo-jcr SVN: r5937 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: core/lock and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Mar 22 05:48:40 EDT 2012
Author: tolusha
Date: 2012-03-22 05:48:39 -0400 (Thu, 22 Mar 2012)
New Revision: 5937
Removed:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java
Log:
EXOJCR-1754: testing on DB, fix for DB2
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java 2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQuery.java 2012-03-22 09:48:39 UTC (rev 5937)
@@ -18,9 +18,6 @@
*/
package org.exoplatform.services.jcr.impl.checker;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
/**
* @author <a href="mailto:aplotnikov at exoplatform.com">Andrey Plotnikov</a>
@@ -78,19 +75,4 @@
{
return repair;
}
-
- /**
- * Creates a PreparedStatement object for sending parameterized SQL statements to the database.
- *
- * @param connection
- * connection to workspace storage
- * @return
- * a new default PreparedStatement object containing the pre-compiled SQL statement
- * @throws SQLException
- * if a database access error occurs or this method is called on a closed connection
- */
- public PreparedStatement prepareStatement(Connection connection) throws SQLException
- {
- return connection.prepareStatement(statement);
- }
}
Deleted: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java 2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/checker/InspectionQueryFilteredMultivaluedProperties.java 2012-03-22 09:48:39 UTC (rev 5937)
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2012 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.services.jcr.impl.checker;
-
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-
-/**
- * @author <a href="mailto:aplotnikov at exoplatform.com">Andrey Plotnikov</a>
- * @version $Id: InspectionQueryFilteredMultivaluedProperties.java 34360 16.02.2012 andrew.plotnikov $
- */
-public class InspectionQueryFilteredMultivaluedProperties extends InspectionQuery
-{
-
- /**
- * {@inheritDoc}
- */
- public InspectionQueryFilteredMultivaluedProperties(String statement, String[] fieldNames, String headerMessage,
- InconsistencyRepair repair)
- {
- super(statement, fieldNames, headerMessage, repair);
- }
-
- /**
- * {@inheritDoc}
- */
- public PreparedStatement prepareStatement(Connection connection) throws SQLException
- {
- PreparedStatement preparedStatement = super.prepareStatement(connection);
- preparedStatement.setBoolean(1, false);
-
- return preparedStatement;
- }
-
-}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java 2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/AbstractLockTableHandler.java 2012-03-22 09:48:39 UTC (rev 5937)
@@ -71,7 +71,7 @@
{
InspectionQuery query = getSelectQuery();
- preparedStatement = query.prepareStatement(jdbcConnection);
+ preparedStatement = jdbcConnection.prepareStatement(query.getStatement());
resultSet = preparedStatement.executeQuery();
while (resultSet.next())
@@ -103,7 +103,7 @@
{
InspectionQuery query = getDeleteQuery(nodeId);
- preparedStatement = query.prepareStatement(jdbcConnection);
+ preparedStatement = jdbcConnection.prepareStatement(query.getStatement());
preparedStatement.executeUpdate();
}
finally
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java 2012-03-22 09:21:04 UTC (rev 5936)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainerChecker.java 2012-03-22 09:48:39 UTC (rev 5937)
@@ -31,7 +31,6 @@
import org.exoplatform.services.jcr.impl.checker.DummyRepair;
import org.exoplatform.services.jcr.impl.checker.EarlierVersionsRemover;
import org.exoplatform.services.jcr.impl.checker.InspectionQuery;
-import org.exoplatform.services.jcr.impl.checker.InspectionQueryFilteredMultivaluedProperties;
import org.exoplatform.services.jcr.impl.checker.InspectionReport;
import org.exoplatform.services.jcr.impl.checker.NodeRemover;
import org.exoplatform.services.jcr.impl.checker.PropertyRemover;
@@ -122,7 +121,7 @@
try
{
jdbcConnection = jdbcDataContainer.getConnectionFactory().getJdbcConnection();
- preparedStatement = lockInspectionQuery.prepareStatement(jdbcConnection);
+ preparedStatement = jdbcConnection.prepareStatement(lockInspectionQuery.getStatement());
resultSet = preparedStatement.executeQuery();
Set<String> lockedInJCRITEM = new HashSet<String>();
@@ -236,7 +235,7 @@
ResultSet resultSet = null;
try
{
- st = query.prepareStatement(jdbcConn);
+ st = jdbcConn.prepareStatement(query.getStatement());
resultSet = st.executeQuery();
if (resultSet.next())
@@ -300,7 +299,7 @@
try
{
connection = jdbcDataContainer.getConnectionFactory().getJdbcConnection();
- st = vsInspectionQuery.prepareStatement(connection);
+ st = connection.prepareStatement(vsInspectionQuery.getStatement());
resultSet = st.executeQuery();
if (resultSet.next())
@@ -505,13 +504,29 @@
DBConstants.COLUMN_ID, DBConstants.COLUMN_PARENTID, DBConstants.COLUMN_NAME, DBConstants.COLUMN_CLASS},
"Items that do not have parent nodes", new RootAsParentAssigner(jdbcDataContainer.getConnectionFactory())));
- itemsInspectionQuery.add(new InspectionQueryFilteredMultivaluedProperties(singleDatabase ? "select * from "
- + itemTable + " P where P.CONTAINER_NAME='" + jdbcDataContainer.containerConfig.containerName
- + "' and P.I_CLASS=2" + " and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable
- + " V where V.PROPERTY_ID=P.ID)" : "select * from " + itemTable
- + " P where P.I_CLASS=2 and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V "
- + "where V.PROPERTY_ID=P.ID)", new String[]{DBConstants.COLUMN_ID, DBConstants.COLUMN_PARENTID,
- DBConstants.COLUMN_NAME},
+ String statement =
+ singleDatabase ? "select * from " + itemTable + " P where P.CONTAINER_NAME='"
+ + jdbcDataContainer.containerConfig.containerName + "' and P.I_CLASS=2"
+ + " and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V where V.PROPERTY_ID=P.ID)"
+ : "select * from " + itemTable
+ + " P where P.I_CLASS=2 and P.P_MULTIVALUED=? and NOT EXISTS( select * from " + valueTable + " V "
+ + "where V.PROPERTY_ID=P.ID)";
+
+ if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_PGSQL))
+ {
+ statement = statement.replace("?", "'f'");
+ }
+ else if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_HSQLDB))
+ {
+ statement = statement.replace("?", "FALSE");
+ }
+ else
+ {
+ statement = statement.replace("?", "0");
+ }
+
+ itemsInspectionQuery.add(new InspectionQuery(statement, new String[]{DBConstants.COLUMN_ID,
+ DBConstants.COLUMN_PARENTID, DBConstants.COLUMN_NAME},
"A node that has a single valued properties with nothing declared in the VALUE table.", new PropertyRemover(
jdbcDataContainer.getConnectionFactory(), nodeTypeManager)));
@@ -535,7 +550,6 @@
jdbcDataContainer.containerConfig.containerName, jdbcDataContainer.containerConfig.dbStructureType.isMultiDatabase())));
// The differences in the queries by DB dialect.
- String statement;
if (jdbcDataContainer.containerConfig.dbDialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE))
{
statement =
More information about the exo-jcr-commits
mailing list