/*
* Copyright (C) 2003-2011 eXo Platform SAS.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see<http://www.gnu.org/licenses/>.
*/
package org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCDataContainerConfig;
import java.sql.Connection;
import java.sql.SQLException;
/**
* Created by The eXo Platform SAS.
*
* <br>Date:
*
* @author <a href="karpenko.sergiy@gmail.com">Karpenko Sergiy</a>
* @version $Id: PostgreSingleDbJDBCConnection.java 111 4.05.2011 serg $
*/
public class PostgreSingleDbJDBCConnection extends SingleDbJDBCConnection
{
protected static final String PATTERN_ESCAPE_STRING = "\\\\";
/**
* @param dbConnection
* JDBC connection, should be opened before
* @param readOnly
* boolean if true the dbConnection was marked as READ-ONLY.
* @param containerConfig
* Workspace Storage Container configuration
*/
public PostgreSingleDbJDBCConnection(Connection dbConnection, boolean readOnly, JDBCDataContainerConfig containerConfig)
throws SQLException
{
super(dbConnection, readOnly, containerConfig);
}
/**
* {@inheritDoc}
*/
@Override
protected void prepareQueries() throws SQLException
{
super.prepareQueries();
if (containerConfig.useSequenceForOrderNumber)
{
FIND_LAST_ORDER_NUMBER = "SELECT " + JCR_ITEM_NEXT_VAL + "('" + JCR_ITEM_SEQ + "', ?, ?) as nextVal";
}
}
protected String getLikeExpressionEscape()
{
// must be .. LIKE 'prop\\_name' ESCAPE '\\\\'
return PATTERN_ESCAPE_STRING;
}
}