01: /*
02: * Copyright 2001-2007 Geert Bevin <gbevin[remove] at uwyn dot com>
03: * Distributed under the terms of either:
04: * - the common development and distribution license (CDDL), v1.0; or
05: * - the GNU Lesser General Public License, v2.1 or later
06: * $Id: org_apache_derby_jdbc_EmbeddedDriver.java 3634 2007-01-08 21:42:24Z gbevin $
07: */
08: package com.uwyn.rife.database.capabilities;
09:
10: import com.uwyn.rife.database.DbConnection;
11: import com.uwyn.rife.database.DbPreparedStatement;
12: import com.uwyn.rife.database.DbResultSet;
13: import com.uwyn.rife.database.DbResultSetHandler;
14: import com.uwyn.rife.database.exceptions.DatabaseException;
15: import com.uwyn.rife.database.queries.Query;
16:
17: public class org_apache_derby_jdbc_EmbeddedDriver extends
18: AbstractCapabilitiesCompensator {
19: private LimitOffsetCompensator mLimitOffsetCompensator = new LimitOffsetCompensator();
20:
21: public DbPreparedStatement getCapablePreparedStatement(Query query,
22: DbResultSetHandler handler, DbConnection connection)
23: throws DatabaseException {
24: query.setExcludeUnsupportedCapabilities(true);
25:
26: // either create a new prepared statement or get it from the handler
27: DbPreparedStatement statement = null;
28: if (null == handler) {
29: statement = connection.getPreparedStatement(query);
30: } else {
31: statement = handler.getPreparedStatement(query, connection);
32: }
33:
34: mLimitOffsetCompensator
35: .handleCapablePreparedStatement(statement);
36:
37: return statement;
38: }
39:
40: public DbResultSet getCapableResultSet(DbPreparedStatement statement)
41: throws DatabaseException {
42: mLimitOffsetCompensator.handleCapableResultSet(statement);
43:
44: return statement.getResultSet();
45: }
46: }
|