/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: in_co_daffodil_db_jdbc_DaffodilDBDriver.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.database.capabilities;
import com.uwyn.rife.database.DbConnection;
import com.uwyn.rife.database.DbPreparedStatement;
import com.uwyn.rife.database.DbResultSet;
import com.uwyn.rife.database.DbResultSetHandler;
import com.uwyn.rife.database.exceptions.DatabaseException;
import com.uwyn.rife.database.queries.Query;
public class in_co_daffodil_db_jdbc_DaffodilDBDriver extends AbstractCapabilitiesCompensator
{
private LimitOffsetCompensator mLimitOffsetCompensator = new LimitOffsetCompensator();
public DbPreparedStatement getCapablePreparedStatement(Query query, DbResultSetHandler handler, DbConnection connection)
throws DatabaseException
{
query.setExcludeUnsupportedCapabilities(true);
// either create a new prepared statement or get it from the handler
DbPreparedStatement statement = null;
if (null == handler)
{
statement = connection.getPreparedStatement(query);
}
else
{
statement = handler.getPreparedStatement(query, connection);
}
mLimitOffsetCompensator.handleCapablePreparedStatement(statement);
return statement;
}
public DbResultSet getCapableResultSet(DbPreparedStatement statement)
throws DatabaseException
{
mLimitOffsetCompensator.handleCapableResultSet(statement);
return statement.getResultSet();
}
}