/*
* Copyright 2014 - 2017 Blazebit.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.blazebit.persistence.impl.eclipselink.function;
import com.blazebit.persistence.spi.FunctionRenderContext;
import org.eclipse.persistence.config.ReferenceMode;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.descriptors.DescriptorEvent;
import org.eclipse.persistence.descriptors.DescriptorQueryManager;
import org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy;
import org.eclipse.persistence.exceptions.ConcurrencyException;
import org.eclipse.persistence.exceptions.ConversionException;
import org.eclipse.persistence.exceptions.DatabaseException;
import org.eclipse.persistence.exceptions.ExceptionHandler;
import org.eclipse.persistence.exceptions.IntegrityChecker;
import org.eclipse.persistence.exceptions.OptimisticLockException;
import org.eclipse.persistence.exceptions.ValidationException;
import org.eclipse.persistence.expressions.Expression;
import org.eclipse.persistence.expressions.ExpressionBuilder;
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.history.AsOfClause;
import org.eclipse.persistence.indirection.ValueHolderInterface;
import org.eclipse.persistence.internal.databaseaccess.Accessor;
import org.eclipse.persistence.internal.databaseaccess.BatchWritingMechanism;
import org.eclipse.persistence.internal.databaseaccess.ConnectionCustomizer;
import org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor;
import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
import org.eclipse.persistence.internal.databaseaccess.DatasourceCall;
import org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform;
import org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition;
import org.eclipse.persistence.internal.databaseaccess.Platform;
import org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter;
import org.eclipse.persistence.internal.expressions.ParameterExpression;
import org.eclipse.persistence.internal.expressions.SQLSelectStatement;
import org.eclipse.persistence.internal.helper.ConcurrencyManager;
import org.eclipse.persistence.internal.helper.ConversionManager;
import org.eclipse.persistence.internal.helper.DatabaseField;
import org.eclipse.persistence.internal.helper.DatabaseTable;
import org.eclipse.persistence.internal.helper.linkedlist.ExposedNodeLinkedList;
import org.eclipse.persistence.internal.identitymaps.CacheKey;
import org.eclipse.persistence.internal.indirection.DatabaseValueHolder;
import org.eclipse.persistence.internal.queries.JoinedAttributeManager;
import org.eclipse.persistence.internal.sequencing.Sequencing;
import org.eclipse.persistence.internal.sessions.AbstractRecord;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.internal.sessions.CommitManager;
import org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork;
import org.eclipse.persistence.internal.sessions.UnitOfWorkImpl;
import org.eclipse.persistence.internal.sessions.cdi.EntityListenerInjectionManager;
import org.eclipse.persistence.logging.SessionLog;
import org.eclipse.persistence.logging.SessionLogEntry;
import org.eclipse.persistence.mappings.ForeignReferenceMapping;
import org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping;
import org.eclipse.persistence.platform.database.DatabasePlatform;
import org.eclipse.persistence.platform.database.converters.StructConverter;
import org.eclipse.persistence.platform.database.partitioning.DataPartitioningCallback;
import org.eclipse.persistence.platform.server.ServerPlatform;
import org.eclipse.persistence.queries.AttributeGroup;
import org.eclipse.persistence.queries.Call;
import org.eclipse.persistence.queries.DataModifyQuery;
import org.eclipse.persistence.queries.DatabaseQuery;
import org.eclipse.persistence.queries.JPAQueryBuilder;
import org.eclipse.persistence.queries.ObjectBuildingQuery;
import org.eclipse.persistence.queries.ReportQuery;
import org.eclipse.persistence.queries.SQLCall;
import org.eclipse.persistence.queries.StoredProcedureCall;
import org.eclipse.persistence.queries.ValueReadQuery;
import org.eclipse.persistence.sequencing.Sequence;
import org.eclipse.persistence.sessions.CopyGroup;
import org.eclipse.persistence.sessions.DatabaseLogin;
import org.eclipse.persistence.sessions.ExternalTransactionController;
import org.eclipse.persistence.sessions.IdentityMapAccessor;
import org.eclipse.persistence.sessions.Login;
import org.eclipse.persistence.sessions.ObjectCopyingPolicy;
import org.eclipse.persistence.sessions.Project;
import org.eclipse.persistence.sessions.Session;
import org.eclipse.persistence.sessions.SessionEventManager;
import org.eclipse.persistence.sessions.SessionProfiler;
import org.eclipse.persistence.sessions.UnitOfWork;
import org.eclipse.persistence.sessions.coordination.CommandManager;
import org.eclipse.persistence.sessions.coordination.MetadataRefreshListener;
import org.eclipse.persistence.sessions.serializers.Serializer;
import org.eclipse.persistence.tools.schemaframework.FieldDefinition;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.sql.Array;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Struct;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
/**
*
* @author Christian Beikov
* @since 1.0
*/
public class EclipseLinkFunctionRenderContext implements FunctionRenderContext {
private final List<String> chunks = new ArrayList<String>();
private final int[] argumentIndices;
private final List<Expression> arguments;
private final AbstractSession session;
private final DatasourceCallMock datasourceCallMock = new DatasourceCallMock();
private int currentIndex;
private Boolean chunkFirst;
public EclipseLinkFunctionRenderContext(List<Expression> arguments, AbstractSession session) {
this.argumentIndices = new int[arguments.size()];
Arrays.fill(this.argumentIndices, -1);
this.arguments = arguments;
this.session = new SessionDecorator(session);
}
@Override
public int getArgumentsSize() {
return arguments.size();
}
@Override
public String getArgument(int index) {
StringWriter writer = new StringWriter();
ExpressionSQLPrinter expressionSQLPrinter = new ExpressionSQLPrinter(session, null, datasourceCallMock, true, new ExpressionBuilder());
expressionSQLPrinter.setWriter(writer);
arguments.get(index).printSQL(expressionSQLPrinter);
return writer.toString();
}
@Override
public void addArgument(int index) {
if (chunkFirst == null) {
chunkFirst = false;
}
argumentIndices[currentIndex++] = index;
}
@Override
public void addChunk(String chunk) {
if (chunkFirst == null) {
chunkFirst = true;
}
chunks.add(chunk);
}
public boolean isChunkFirst() {
return chunkFirst;
}
public List<String> getChunks() {
return chunks;
}
public int[] getArgumentIndices() {
int upperBoundIdx = argumentIndices.length;
for (int i = 0; i < argumentIndices.length; i++) {
if (argumentIndices[i] < 0) {
upperBoundIdx = i;
break;
}
}
return Arrays.copyOfRange(argumentIndices, 0, upperBoundIdx);
}
private static class DatasourceCallMock extends SQLCall {
static final DatasourceCallMock INSTANCE;
static {
INSTANCE = new DatasourceCallMock();
}
private DatasourceCallMock() { }
@Override
public void appendLiteral(Writer writer, Object literal) {
try {
writer.write(argumentMarker());
} catch (IOException exception) {
throw ValidationException.fileError(exception);
}
}
}
private static class SessionDecorator extends AbstractSession {
private final AbstractSession delegate;
private final DatabasePlatformDecorator platformDecorator;
private SessionDecorator(AbstractSession delegate) {
this.delegate = delegate;
this.platformDecorator = new DatabasePlatformDecorator(super.getPlatform());
}
@Override
public DatabasePlatform getPlatform() {
return platformDecorator;
}
@Override
public ClassLoader getLoader() {
return delegate.getLoader();
}
@Override
public Platform getDatasourcePlatform() {
return delegate.getDatasourcePlatform();
}
@Override
public ServerPlatform getServerPlatform() {
return delegate.getServerPlatform();
}
@Override
public Platform getPlatform(Class domainClass) {
return delegate.getPlatform(domainClass);
}
@Override
public SessionProfiler getProfiler() {
return delegate == null ? null : delegate.getProfiler();
}
@Override
public Project getProject() {
return delegate.getProject();
}
@Override
public Map getProperties() {
return delegate.getProperties();
}
@Override
public boolean hasProperties() {
return delegate.hasProperties();
}
@Override
public boolean hasTablePerTenantDescriptors() {
return delegate.hasTablePerTenantDescriptors();
}
@Override
public boolean hasTablePerTenantQueries() {
return delegate.hasTablePerTenantQueries();
}
@Override
public Object getProperty(String name) {
return delegate.getProperty(name);
}
@Override
public Map<String, List<DatabaseQuery>> getQueries() {
return delegate.getQueries();
}
@Override
public Map<String, AttributeGroup> getAttributeGroups() {
return delegate.getAttributeGroups();
}
@Override
public List<DatabaseQuery> getAllQueries() {
return delegate.getAllQueries();
}
@Override
public DatabaseQuery getQuery(String name) {
return delegate.getQuery(name);
}
@Override
public DatabaseQuery getQuery(String name, List arguments) {
return delegate.getQuery(name, arguments);
}
@Override
public DatabaseQuery getQuery(String name, Vector arguments) {
return delegate.getQuery(name, arguments);
}
@Override
public DatabaseQuery getQuery(String name, Vector arguments, boolean shouldSearchParent) {
return delegate.getQuery(name, arguments, shouldSearchParent);
}
@Override
public Sequencing getSequencing() {
return delegate.getSequencing();
}
@Override
public AbstractSession getSessionForClass(Class domainClass) {
return delegate.getSessionForClass(domainClass);
}
@Override
public AbstractSession getSessionForName(String name) throws ValidationException {
return delegate.getSessionForName(name);
}
@Override
public SessionLog getSessionLog() {
return delegate.getSessionLog();
}
@Override
public List<ClassDescriptor> getTablePerTenantDescriptors() {
return delegate.getTablePerTenantDescriptors();
}
@Override
public List<DatabaseQuery> getTablePerTenantQueries() {
return delegate.getTablePerTenantQueries();
}
@Override
public ConcurrencyManager getTransactionMutex() {
return delegate.getTransactionMutex();
}
@Override
public Object handleException(RuntimeException exception) throws RuntimeException {
return delegate.handleException(exception);
}
@Override
public boolean hasBroker() {
return delegate.hasBroker();
}
@Override
public boolean hasDescriptor(Class theClass) {
return delegate.hasDescriptor(theClass);
}
@Override
public boolean hasExceptionHandler() {
return delegate.hasExceptionHandler();
}
@Override
public boolean hasExternalTransactionController() {
return delegate.hasExternalTransactionController();
}
@Override
public Object insertObject(Object domainObject) throws DatabaseException {
return delegate.insertObject(domainObject);
}
@Override
public Object internalExecuteQuery(DatabaseQuery query, AbstractRecord databaseRow) throws DatabaseException {
return delegate.internalExecuteQuery(query, databaseRow);
}
@Override
public boolean isBroker() {
return delegate.isBroker();
}
@Override
public boolean isInBroker() {
return delegate.isInBroker();
}
@Override
public boolean isClassReadOnly(Class theClass) {
return delegate.isClassReadOnly(theClass);
}
@Override
public boolean isClassReadOnly(Class theClass, ClassDescriptor descriptor) {
return delegate.isClassReadOnly(theClass, descriptor);
}
@Override
public boolean isClientSession() {
return delegate.isClientSession();
}
@Override
public boolean isExclusiveIsolatedClientSession() {
return delegate.isExclusiveIsolatedClientSession();
}
@Override
public boolean isConnected() {
return delegate.isConnected();
}
@Override
public boolean isDatabaseSession() {
return delegate.isDatabaseSession();
}
@Override
public boolean isDistributedSession() {
return delegate.isDistributedSession();
}
@Override
public boolean isInProfile() {
return delegate.isInProfile();
}
@Override
public void setIsInProfile(boolean inProfile) {
delegate.setIsInProfile(inProfile);
}
@Override
public void setIsInBroker(boolean isInBroker) {
delegate.setIsInBroker(isInBroker);
}
@Override
public boolean isFinalizersEnabled() {
return delegate.isFinalizersEnabled();
}
@Override
public void registerFinalizer() {
delegate.registerFinalizer();
}
@Override
public boolean isHistoricalSession() {
return delegate.isHistoricalSession();
}
@Override
public void setIsFinalizersEnabled(boolean isFinalizersEnabled) {
delegate.setIsFinalizersEnabled(isFinalizersEnabled);
}
@Override
public boolean isInTransaction() {
return delegate.isInTransaction();
}
@Override
public boolean isJPAQueriesProcessed() {
return delegate.isJPAQueriesProcessed();
}
@Override
public boolean isProtectedSession() {
return delegate.isProtectedSession();
}
@Override
public boolean isRemoteSession() {
return delegate.isRemoteSession();
}
@Override
public boolean isRemoteUnitOfWork() {
return delegate.isRemoteUnitOfWork();
}
@Override
public boolean isServerSession() {
return delegate.isServerSession();
}
@Override
public boolean isSessionBroker() {
return delegate.isSessionBroker();
}
@Override
public boolean isSynchronized() {
return delegate.isSynchronized();
}
@Override
public Object getId(Object domainObject) throws ValidationException {
return delegate.getId(domainObject);
}
@Override
@Deprecated
public Vector keyFromObject(Object domainObject) throws ValidationException {
return delegate.keyFromObject(domainObject);
}
@Override
public Object keyFromObject(Object domainObject, ClassDescriptor descriptor) throws ValidationException {
return delegate.keyFromObject(domainObject, descriptor);
}
@Override
public void log(SessionLogEntry entry) {
delegate.log(entry);
}
@Override
public void logMessage(String message) {
delegate.logMessage(message);
}
@Override
public DatabaseQuery prepareDatabaseQuery(DatabaseQuery query) {
return delegate.prepareDatabaseQuery(query);
}
@Override
public Vector readAllObjects(Class domainClass) throws DatabaseException {
return delegate.readAllObjects(domainClass);
}
@Override
public Vector readAllObjects(Class domainClass, String sqlString) throws DatabaseException {
return delegate.readAllObjects(domainClass, sqlString);
}
@Override
public Vector readAllObjects(Class referenceClass, Call aCall) throws DatabaseException {
return delegate.readAllObjects(referenceClass, aCall);
}
@Override
public Vector readAllObjects(Class domainClass, Expression expression) throws DatabaseException {
return delegate.readAllObjects(domainClass, expression);
}
@Override
public Object readObject(Class domainClass) throws DatabaseException {
return delegate.readObject(domainClass);
}
@Override
public Object readObject(Class domainClass, String sqlString) throws DatabaseException {
return delegate.readObject(domainClass, sqlString);
}
@Override
public Object readObject(Class domainClass, Call aCall) throws DatabaseException {
return delegate.readObject(domainClass, aCall);
}
@Override
public Object readObject(Class domainClass, Expression expression) throws DatabaseException {
return delegate.readObject(domainClass, expression);
}
@Override
public Object readObject(Object object) throws DatabaseException {
return delegate.readObject(object);
}
@Override
public Object refreshAndLockObject(Object object) throws DatabaseException {
return delegate.refreshAndLockObject(object);
}
@Override
public Object refreshAndLockObject(Object object, short lockMode) throws DatabaseException {
return delegate.refreshAndLockObject(object, lockMode);
}
@Override
public Object refreshObject(Object object) throws DatabaseException {
return delegate.refreshObject(object);
}
@Override
public void release() {
delegate.release();
}
@Override
public void releaseUnitOfWork(UnitOfWorkImpl unitOfWork) {
delegate.releaseUnitOfWork(unitOfWork);
}
@Override
public void removeProperty(String property) {
delegate.removeProperty(property);
}
@Override
public void removeQuery(String queryName) {
delegate.removeQuery(queryName);
}
@Override
public void removeQuery(String queryName, Vector argumentTypes) {
delegate.removeQuery(queryName, argumentTypes);
}
@Override
public void setAccessor(Accessor accessor) {
delegate.setAccessor(accessor);
}
@Override
public void setBroker(AbstractSession broker) {
delegate.setBroker(broker);
}
@Override
public void setCommitManager(CommitManager commitManager) {
delegate.setCommitManager(commitManager);
}
@Override
public void setEntityListenerInjectionManager(EntityListenerInjectionManager entityListenerInjectionManager) {
delegate.setEntityListenerInjectionManager(entityListenerInjectionManager);
}
@Override
public void setEventManager(SessionEventManager eventManager) {
delegate.setEventManager(eventManager);
}
@Override
public void setExceptionHandler(ExceptionHandler exceptionHandler) {
delegate.setExceptionHandler(exceptionHandler);
}
@Override
public void setExternalTransactionController(ExternalTransactionController externalTransactionController) {
delegate.setExternalTransactionController(externalTransactionController);
}
@Override
public void setIntegrityChecker(IntegrityChecker integrityChecker) {
delegate.setIntegrityChecker(integrityChecker);
}
@Override
public void setJPAQueriesProcessed(boolean jpaQueriesProcessed) {
delegate.setJPAQueriesProcessed(jpaQueriesProcessed);
}
@Override
public void setLog(Writer log) {
delegate.setLog(log);
}
@Override
public void setLogin(DatabaseLogin login) {
delegate.setLogin(login);
}
@Override
public void setLogin(Login login) {
delegate.setLogin(login);
}
@Override
public void setDatasourceLogin(Login login) {
delegate.setDatasourceLogin(login);
}
@Override
public void setName(String name) {
delegate.setName(name);
}
@Override
public void setPessimisticLockTimeoutDefault(Integer pessimisticLockTimeoutDefault) {
delegate.setPessimisticLockTimeoutDefault(pessimisticLockTimeoutDefault);
}
@Override
public void setQueryTimeoutDefault(int queryTimeoutDefault) {
delegate.setQueryTimeoutDefault(queryTimeoutDefault);
}
@Override
public void setProfiler(SessionProfiler profiler) {
delegate.setProfiler(profiler);
}
@Override
public void setProject(Project project) {
delegate.setProject(project);
}
@Override
public void setProperties(Map<Object, Object> propertiesMap) {
delegate.setProperties(propertiesMap);
}
@Override
public void setProperty(String propertyName, Object propertyValue) {
delegate.setProperty(propertyName, propertyValue);
}
@Override
public void setQueries(Map<String, List<DatabaseQuery>> queries) {
delegate.setQueries(queries);
}
@Override
public void setSessionLog(SessionLog sessionLog) {
delegate.setSessionLog(sessionLog);
}
@Override
public void setSynchronized(boolean synched) {
delegate.setSynchronized(synched);
}
@Override
public void setWasJTSTransactionInternallyStarted(boolean wasJTSTransactionInternallyStarted) {
delegate.setWasJTSTransactionInternallyStarted(wasJTSTransactionInternallyStarted);
}
@Override
public boolean shouldLogMessages() {
return delegate.shouldLogMessages();
}
@Override
public void startOperationProfile(String operationName) {
delegate.startOperationProfile(operationName);
}
@Override
public void startOperationProfile(String operationName, DatabaseQuery query, int weight) {
delegate.startOperationProfile(operationName, query, weight);
}
@Override
public String toString() {
return delegate.toString();
}
@Override
public Object unwrapObject(Object proxy) {
return delegate.unwrapObject(proxy);
}
@Override
public Object updateObject(Object domainObject) throws DatabaseException, OptimisticLockException {
return delegate.updateObject(domainObject);
}
@Override
public void validateCache() {
delegate.validateCache();
}
@Override
public void validateQuery(DatabaseQuery query) {
delegate.validateQuery(query);
}
@Override
public boolean verifyDelete(Object domainObject) {
return delegate.verifyDelete(domainObject);
}
@Override
public boolean wasJTSTransactionInternallyStarted() {
return delegate.wasJTSTransactionInternallyStarted();
}
@Override
public Object wrapObject(Object implementation) {
return delegate.wrapObject(implementation);
}
@Override
public Object writeObject(Object domainObject) throws DatabaseException, OptimisticLockException {
return delegate.writeObject(domainObject);
}
@Override
public void writesCompleted() {
delegate.writesCompleted();
}
@Override
public void processCommand(Object command) {
delegate.processCommand(command);
}
@Override
public void processJPAQueries() {
delegate.processJPAQueries();
}
@Override
public CommandManager getCommandManager() {
return delegate.getCommandManager();
}
@Override
public void setCommandManager(CommandManager mgr) {
delegate.setCommandManager(mgr);
}
@Override
public boolean shouldPropagateChanges() {
return delegate.shouldPropagateChanges();
}
@Override
public void setShouldPropagateChanges(boolean choice) {
delegate.setShouldPropagateChanges(choice);
}
@Override
public boolean shouldLogMessages(int logLevel) {
return delegate.shouldLogMessages(logLevel);
}
@Override
public void logMessage(int logLevel, String message) {
delegate.logMessage(logLevel, message);
}
@Override
public int getLogLevel(String category) {
return delegate.getLogLevel(category);
}
@Override
public int getLogLevel() {
return delegate.getLogLevel();
}
@Override
public void setLogLevel(int level) {
delegate.setLogLevel(level);
}
@Override
public boolean shouldDisplayData() {
return delegate.shouldDisplayData();
}
@Override
public boolean shouldLog(int level, String category) {
return delegate.shouldLog(level, category);
}
@Override
public void log(int level, String category, String message) {
delegate.log(level, category, message);
}
@Override
public void log(int level, String category, String message, Object param) {
delegate.log(level, category, message, param);
}
@Override
public void log(int level, String category, String message, Object param1, Object param2) {
delegate.log(level, category, message, param1, param2);
}
@Override
public void log(int level, String category, String message, Object param1, Object param2, Object param3) {
delegate.log(level, category, message, param1, param2, param3);
}
@Override
public void log(int level, String category, String message, Object[] params) {
delegate.log(level, category, message, params);
}
@Override
public void log(int level, String category, String message, Object[] params, Accessor accessor) {
delegate.log(level, category, message, params, accessor);
}
@Override
public void log(int level, String category, String message, Object[] params, Accessor accessor, boolean shouldTranslate) {
delegate.log(level, category, message, params, accessor, shouldTranslate);
}
@Override
@Deprecated
public void log(int level, String message, Object[] params, Accessor accessor) {
delegate.log(level, message, params, accessor);
}
@Override
@Deprecated
public void log(int level, String message, Object[] params, Accessor accessor, boolean shouldTranslate) {
delegate.log(level, message, params, accessor, shouldTranslate);
}
@Override
public void logThrowable(int level, String category, Throwable throwable) {
delegate.logThrowable(level, category, throwable);
}
@Override
public void severe(String message, String category) {
delegate.severe(message, category);
}
@Override
public void warning(String message, String category) {
delegate.warning(message, category);
}
@Override
public void info(String message, String category) {
delegate.info(message, category);
}
@Override
public void config(String message, String category) {
delegate.config(message, category);
}
@Override
public void fine(String message, String category) {
delegate.fine(message, category);
}
@Override
public void finer(String message, String category) {
delegate.finer(message, category);
}
@Override
public void finest(String message, String category) {
delegate.finest(message, category);
}
@Override
public Object handleSevere(RuntimeException exception) throws RuntimeException {
return delegate.handleSevere(exception);
}
@Override
public void releaseReadConnection(Accessor connection) {
delegate.releaseReadConnection(connection);
}
@Override
public void copyDescriptorsFromProject() {
delegate.copyDescriptorsFromProject();
}
@Override
public void copyDescriptorNamedQueries(boolean allowSameQueryNameDiffArgsCopyToSession) {
delegate.copyDescriptorNamedQueries(allowSameQueryNameDiffArgsCopyToSession);
}
@Override
public void postAcquireConnection(Accessor accessor) {
delegate.postAcquireConnection(accessor);
}
@Override
public void preReleaseConnection(Accessor accessor) {
delegate.preReleaseConnection(accessor);
}
@Override
public int priviledgedExecuteNonSelectingCall(Call call) throws DatabaseException {
return delegate.priviledgedExecuteNonSelectingCall(call);
}
@Override
public Vector priviledgedExecuteSelectingCall(Call call) throws DatabaseException {
return delegate.priviledgedExecuteSelectingCall(call);
}
@Override
public boolean isExclusiveConnectionRequired() {
return delegate.isExclusiveConnectionRequired();
}
@Override
public ReferenceMode getDefaultReferenceMode() {
return delegate.getDefaultReferenceMode();
}
@Override
public void setDefaultReferenceMode(ReferenceMode defaultReferenceMode) {
delegate.setDefaultReferenceMode(defaultReferenceMode);
}
@Override
public void load(Object objectOrCollection, AttributeGroup group) {
delegate.load(objectOrCollection, group);
}
@Override
public void load(Object objectOrCollection, AttributeGroup group, ClassDescriptor referenceDescriptor, boolean fromFetchGroup) {
delegate.load(objectOrCollection, group, referenceDescriptor, fromFetchGroup);
}
@Override
public CacheKey retrieveCacheKey(Object primaryKey, ClassDescriptor concreteDescriptor, JoinedAttributeManager joinManager, ObjectBuildingQuery query) {
return delegate.retrieveCacheKey(primaryKey, concreteDescriptor, joinManager, query);
}
@Override
public PartitioningPolicy getPartitioningPolicy() {
return delegate.getPartitioningPolicy();
}
@Override
public void setPartitioningPolicy(PartitioningPolicy partitioningPolicy) {
delegate.setPartitioningPolicy(partitioningPolicy);
}
@Override
public MetadataRefreshListener getRefreshMetadataListener() {
return delegate.getRefreshMetadataListener();
}
@Override
public void setRefreshMetadataListener(MetadataRefreshListener metadatalistener) {
delegate.setRefreshMetadataListener(metadatalistener);
}
@Override
public boolean isConcurrent() {
return delegate.isConcurrent();
}
@Override
public void setIsConcurrent(boolean isConcurrent) {
delegate.setIsConcurrent(isConcurrent);
}
@Override
public void setShouldOptimizeResultSetAccess(boolean shouldOptimizeResultSetAccess) {
delegate.setShouldOptimizeResultSetAccess(shouldOptimizeResultSetAccess);
}
@Override
public boolean shouldOptimizeResultSetAccess() {
return delegate.shouldOptimizeResultSetAccess();
}
@Override
public void setTolerateInvalidJPQL(boolean b) {
delegate.setTolerateInvalidJPQL(b);
}
@Override
public boolean shouldTolerateInvalidJPQL() {
return delegate.shouldTolerateInvalidJPQL();
}
@Override
public void rollbackTransaction() throws DatabaseException, ConcurrencyException {
delegate.rollbackTransaction();
}
@Override
public Serializer getSerializer() {
return delegate.getSerializer();
}
@Override
public void setSerializer(Serializer serializer) {
delegate.setSerializer(serializer);
}
@Override
public JPAQueryBuilder getQueryBuilder() {
return delegate.getQueryBuilder();
}
@Override
public void setQueryBuilder(JPAQueryBuilder queryBuilder) {
delegate.setQueryBuilder(queryBuilder);
}
@Override
public void setLoggingOff(boolean loggingOff) {
delegate.setLoggingOff(loggingOff);
}
@Override
public boolean isLoggingOff() {
return delegate.isLoggingOff();
}
@Override
public long getNextQueryId() {
return delegate.getNextQueryId();
}
@Override
public UnitOfWorkImpl acquireNonSynchronizedUnitOfWork() {
return delegate.acquireNonSynchronizedUnitOfWork();
}
@Override
public UnitOfWorkImpl acquireNonSynchronizedUnitOfWork(ReferenceMode referenceMode) {
return delegate.acquireNonSynchronizedUnitOfWork(referenceMode);
}
@Override
public Session acquireHistoricalSession(AsOfClause clause) throws ValidationException {
return delegate.acquireHistoricalSession(clause);
}
@Override
public UnitOfWorkImpl acquireUnitOfWork() {
return delegate.acquireUnitOfWork();
}
@Override
public RepeatableWriteUnitOfWork acquireRepeatableWriteUnitOfWork(ReferenceMode referenceMode) {
return delegate.acquireRepeatableWriteUnitOfWork(referenceMode);
}
@Override
public UnitOfWorkImpl acquireUnitOfWork(ReferenceMode referenceMode) {
return delegate.acquireUnitOfWork(referenceMode);
}
@Override
public void addAlias(String alias, ClassDescriptor descriptor) {
delegate.addAlias(alias, descriptor);
}
@Override
public void addJPAQuery(DatabaseQuery query) {
delegate.addJPAQuery(query);
}
@Override
public void addJPATablePerTenantQuery(DatabaseQuery query) {
delegate.addJPATablePerTenantQuery(query);
}
@Override
public void addMultitenantContextProperty(String contextProperty) {
delegate.addMultitenantContextProperty(contextProperty);
}
@Override
public void addQuery(String name, DatabaseQuery query) {
delegate.addQuery(name, query);
}
@Override
public void addQuery(String name, DatabaseQuery query, boolean replace) {
delegate.addQuery(name, query, replace);
}
@Override
public void addStaticMetamodelClass(String modelClassName, String metamodelClassName) {
delegate.addStaticMetamodelClass(modelClassName, metamodelClassName);
}
@Override
public DatabaseException retryTransaction(Accessor accessor, DatabaseException databaseException, int retryCount, AbstractSession executionSession) {
return delegate.retryTransaction(accessor, databaseException, retryCount, executionSession);
}
@Override
public void releaseJTSConnection() {
delegate.releaseJTSConnection();
}
@Override
public boolean beginExternalTransaction() {
return delegate.beginExternalTransaction();
}
@Override
public void beginTransaction() throws DatabaseException, ConcurrencyException {
delegate.beginTransaction();
}
@Override
public void cleanUpEntityListenerInjectionManager() {
delegate.cleanUpEntityListenerInjectionManager();
}
@Override
public void clearIntegrityChecker() {
delegate.clearIntegrityChecker();
}
@Override
public void clearLastDescriptorAccessed() {
delegate.clearLastDescriptorAccessed();
}
@Override
public void clearDescriptors() {
delegate.clearDescriptors();
}
@Override
public void clearProfile() {
delegate.clearProfile();
}
@Override
public Object clone() {
return delegate.clone();
}
@Override
public boolean commitExternalTransaction() {
return delegate.commitExternalTransaction();
}
@Override
public void commitTransaction() throws DatabaseException, ConcurrencyException {
delegate.commitTransaction();
}
@Override
public boolean compareObjects(Object firstObject, Object secondObject) {
return delegate.compareObjects(firstObject, secondObject);
}
@Override
public boolean compareObjectsDontMatch(Object firstObject, Object secondObject) {
return delegate.compareObjectsDontMatch(firstObject, secondObject);
}
@Override
public boolean containsQuery(String queryName) {
return delegate.containsQuery(queryName);
}
@Override
public Object copy(Object originalObjectOrObjects) {
return delegate.copy(originalObjectOrObjects);
}
@Override
public Object copy(Object originalObjectOrObjects, AttributeGroup group) {
return delegate.copy(originalObjectOrObjects, group);
}
@Override
public Object copyInternal(Object originalObject, CopyGroup copyGroup) {
return delegate.copyInternal(originalObject, copyGroup);
}
@Override
public Object copyObject(Object original) {
return delegate.copyObject(original);
}
@Override
public Object copyObject(Object original, ObjectCopyingPolicy policy) {
return delegate.copyObject(original, policy);
}
@Override
public Vector copyReadOnlyClasses() {
return delegate.copyReadOnlyClasses();
}
@Override
public DatabaseValueHolder createCloneQueryValueHolder(ValueHolderInterface attributeValue, Object clone, AbstractRecord row, ForeignReferenceMapping mapping) {
return delegate.createCloneQueryValueHolder(attributeValue, clone, row, mapping);
}
@Override
public DatabaseValueHolder createCloneTransformationValueHolder(ValueHolderInterface attributeValue, Object original, Object clone, AbstractTransformationMapping mapping) {
return delegate.createCloneTransformationValueHolder(attributeValue, original, clone, mapping);
}
@Override
public EntityListenerInjectionManager createEntityListenerInjectionManager(Object beanManager) {
return delegate.createEntityListenerInjectionManager(beanManager);
}
@Override
public Object createProtectedInstanceFromCachedData(Object cached, Integer refreshCascade, ClassDescriptor descriptor) {
return delegate.createProtectedInstanceFromCachedData(cached, refreshCascade, descriptor);
}
@Override
public void checkAndRefreshInvalidObject(Object object, CacheKey cacheKey, ClassDescriptor descriptor) {
delegate.checkAndRefreshInvalidObject(object, cacheKey, descriptor);
}
@Override
public boolean isConsideredInvalid(Object object, CacheKey cacheKey, ClassDescriptor descriptor) {
return delegate.isConsideredInvalid(object, cacheKey, descriptor);
}
@Override
public void deferEvent(DescriptorEvent event) {
delegate.deferEvent(event);
}
@Override
public void deleteAllObjects(Collection domainObjects) throws DatabaseException, OptimisticLockException {
delegate.deleteAllObjects(domainObjects);
}
@Override
@Deprecated
public void deleteAllObjects(Vector domainObjects) throws DatabaseException, OptimisticLockException {
delegate.deleteAllObjects(domainObjects);
}
@Override
public Object deleteObject(Object domainObject) throws DatabaseException, OptimisticLockException {
return delegate.deleteObject(domainObject);
}
@Override
public boolean doesObjectExist(Object object) throws DatabaseException {
return delegate.doesObjectExist(object);
}
@Override
public void dontLogMessages() {
delegate.dontLogMessages();
}
@Override
public void endOperationProfile(String operationName) {
delegate.endOperationProfile(operationName);
}
@Override
public void endOperationProfile(String operationName, DatabaseQuery query, int weight) {
delegate.endOperationProfile(operationName, query, weight);
}
@Override
public void updateProfile(String operationName, Object value) {
delegate.updateProfile(operationName, value);
}
@Override
public void updateTablePerTenantDescriptors(String property, Object value) {
delegate.updateTablePerTenantDescriptors(property, value);
}
@Override
public void incrementProfile(String operationName) {
delegate.incrementProfile(operationName);
}
@Override
public void incrementProfile(String operationName, DatabaseQuery query) {
delegate.incrementProfile(operationName, query);
}
@Override
public void executeDeferredEvents() {
delegate.executeDeferredEvents();
}
@Override
public Object executeCall(Call call, AbstractRecord translationRow, DatabaseQuery query) throws DatabaseException {
return delegate.executeCall(call, translationRow, query);
}
@Override
public void releaseConnectionAfterCall(DatabaseQuery query) {
delegate.releaseConnectionAfterCall(query);
}
@Override
public int executeNonSelectingCall(Call call) throws DatabaseException {
return delegate.executeNonSelectingCall(call);
}
@Override
public void executeNonSelectingSQL(String sqlString) throws DatabaseException {
delegate.executeNonSelectingSQL(sqlString);
}
@Override
public Object executeQuery(String queryName) throws DatabaseException {
return delegate.executeQuery(queryName);
}
@Override
public Object executeQuery(String queryName, Class domainClass) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass);
}
@Override
public Object executeQuery(String queryName, Class domainClass, Object arg1) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass, arg1);
}
@Override
public Object executeQuery(String queryName, Class domainClass, Object arg1, Object arg2) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass, arg1, arg2);
}
@Override
public Object executeQuery(String queryName, Class domainClass, Object arg1, Object arg2, Object arg3) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass, arg1, arg2, arg3);
}
@Override
public Object executeQuery(String queryName, Class domainClass, List argumentValues) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass, argumentValues);
}
@Override
public Object executeQuery(String queryName, Class domainClass, Vector argumentValues) throws DatabaseException {
return delegate.executeQuery(queryName, domainClass, argumentValues);
}
@Override
public Object executeQuery(String queryName, Object arg1) throws DatabaseException {
return delegate.executeQuery(queryName, arg1);
}
@Override
public Object executeQuery(String queryName, Object arg1, Object arg2) throws DatabaseException {
return delegate.executeQuery(queryName, arg1, arg2);
}
@Override
public Object executeQuery(String queryName, Object arg1, Object arg2, Object arg3) throws DatabaseException {
return delegate.executeQuery(queryName, arg1, arg2, arg3);
}
@Override
public Object executeQuery(String queryName, List argumentValues) throws DatabaseException {
return delegate.executeQuery(queryName, argumentValues);
}
@Override
public Object executeQuery(String queryName, Vector argumentValues) throws DatabaseException {
return delegate.executeQuery(queryName, argumentValues);
}
@Override
public Object executeQuery(DatabaseQuery query) throws DatabaseException {
return delegate.executeQuery(query);
}
@Override
public Object executeQuery(DatabaseQuery query, List argumentValues) throws DatabaseException {
return delegate.executeQuery(query, argumentValues);
}
@Override
public Object executeQuery(DatabaseQuery query, AbstractRecord row) throws DatabaseException {
return delegate.executeQuery(query, row);
}
@Override
public Object executeQuery(DatabaseQuery query, AbstractRecord row, int retryCount) throws DatabaseException {
return delegate.executeQuery(query, row, retryCount);
}
@Override
public Object retryQuery(DatabaseQuery query, AbstractRecord row, DatabaseException databaseException, int retryCount, AbstractSession executionSession) {
return delegate.retryQuery(query, row, databaseException, retryCount, executionSession);
}
@Override
public Vector executeSelectingCall(Call call) throws DatabaseException {
return delegate.executeSelectingCall(call);
}
@Override
public Vector executeSQL(String sqlString) throws DatabaseException {
return delegate.executeSQL(sqlString);
}
@Override
public Accessor getAccessor() {
return delegate.getAccessor();
}
@Override
public Collection<Accessor> getAccessors() {
return delegate.getAccessors();
}
@Override
public Collection<Accessor> getAccessors(Call call, AbstractRecord translationRow, DatabaseQuery query) {
return delegate.getAccessors(call, translationRow, query);
}
@Override
public Object basicExecuteCall(Call call, AbstractRecord translationRow, DatabaseQuery query) throws DatabaseException {
return delegate.basicExecuteCall(call, translationRow, query);
}
@Override
public ExposedNodeLinkedList getActiveCommandThreads() {
return delegate.getActiveCommandThreads();
}
@Override
public Session getActiveSession() {
return delegate.getActiveSession();
}
@Override
public UnitOfWork getActiveUnitOfWork() {
return delegate.getActiveUnitOfWork();
}
@Override
public Map getAliasDescriptors() {
return delegate.getAliasDescriptors();
}
@Override
public AsOfClause getAsOfClause() {
return delegate.getAsOfClause();
}
@Override
public AbstractSession getBroker() {
return delegate.getBroker();
}
@Override
public AbstractSession getRootSession(DatabaseQuery query) {
return delegate.getRootSession(query);
}
@Override
public AbstractSession getParent() {
return delegate.getParent();
}
@Override
public AbstractSession getParentIdentityMapSession(DatabaseQuery query) {
return delegate.getParentIdentityMapSession(query);
}
@Override
public AbstractSession getParentIdentityMapSession(DatabaseQuery query, boolean canReturnSelf, boolean terminalOnly) {
return delegate.getParentIdentityMapSession(query, canReturnSelf, terminalOnly);
}
@Override
public AbstractSession getParentIdentityMapSession(ClassDescriptor descriptor, boolean canReturnSelf, boolean terminalOnly) {
return delegate.getParentIdentityMapSession(descriptor, canReturnSelf, terminalOnly);
}
@Override
public Integer getPessimisticLockTimeoutDefault() {
return delegate.getPessimisticLockTimeoutDefault();
}
@Override
public int getQueryTimeoutDefault() {
return delegate.getQueryTimeoutDefault();
}
@Override
public EntityListenerInjectionManager getEntityListenerInjectionManager() {
return delegate.getEntityListenerInjectionManager();
}
@Override
public AbstractSession getExecutionSession(DatabaseQuery query) {
return delegate.getExecutionSession(query);
}
@Override
public boolean hasCommitManager() {
return delegate.hasCommitManager();
}
@Override
public CommitManager getCommitManager() {
return delegate.getCommitManager();
}
@Override
public Vector getDefaultReadOnlyClasses() {
return delegate.getDefaultReadOnlyClasses();
}
@Override
public ClassDescriptor getClassDescriptor(Class theClass) {
return delegate.getClassDescriptor(theClass);
}
@Override
public ClassDescriptor getClassDescriptor(Object domainObject) {
return delegate.getClassDescriptor(domainObject);
}
@Override
public ClassDescriptor getClassDescriptorForAlias(String alias) {
return delegate.getClassDescriptorForAlias(alias);
}
@Override
public ClassDescriptor getDescriptor(Class theClass) {
return delegate.getDescriptor(theClass);
}
@Override
public ClassDescriptor getDescriptor(Object domainObject) {
return delegate.getDescriptor(domainObject);
}
@Override
public ClassDescriptor getDescriptorForAlias(String alias) {
return delegate.getDescriptorForAlias(alias);
}
@Override
public Map<Class, ClassDescriptor> getDescriptors() {
return delegate.getDescriptors();
}
@Override
public boolean hasEventManager() {
return delegate.hasEventManager();
}
@Override
public SessionEventManager getEventManager() {
return delegate.getEventManager();
}
@Override
public String getExceptionHandlerClass() {
return delegate.getExceptionHandlerClass();
}
@Override
public ExceptionHandler getExceptionHandler() {
return delegate.getExceptionHandler();
}
@Override
public ExternalTransactionController getExternalTransactionController() {
return delegate.getExternalTransactionController();
}
@Override
public IdentityMapAccessor getIdentityMapAccessor() {
return delegate.getIdentityMapAccessor();
}
@Override
public org.eclipse.persistence.internal.sessions.IdentityMapAccessor getIdentityMapAccessorInstance() {
return delegate.getIdentityMapAccessorInstance();
}
@Override
public IntegrityChecker getIntegrityChecker() {
return delegate.getIntegrityChecker();
}
@Override
public List<DatabaseQuery> getJPAQueries() {
return delegate.getJPAQueries();
}
@Override
public List<DatabaseQuery> getJPATablePerTenantQueries() {
return delegate.getJPATablePerTenantQueries();
}
@Override
public Writer getLog() {
return delegate.getLog();
}
@Override
public String getLogSessionString() {
return delegate.getLogSessionString();
}
@Override
public String getSessionTypeString() {
return delegate.getSessionTypeString();
}
@Override
public String getStaticMetamodelClass(String modelClassName) {
return delegate.getStaticMetamodelClass(modelClassName);
}
@Override
public DatabaseLogin getLogin() {
return delegate.getLogin();
}
@Override
public Login getDatasourceLogin() {
return delegate == null ? null : delegate.getDatasourceLogin();
}
@Override
public ClassDescriptor getMappedSuperclass(String className) {
return delegate.getMappedSuperclass(className);
}
@Override
public Set<String> getMultitenantContextProperties() {
return delegate.getMultitenantContextProperties();
}
@Override
public String getName() {
return delegate.getName();
}
@Override
public Number getNextSequenceNumberValue(Class domainClass) {
return delegate.getNextSequenceNumberValue(domainClass);
}
@Override
public int getNumberOfActiveUnitsOfWork() {
return delegate.getNumberOfActiveUnitsOfWork();
}
}
private static class DatabasePlatformDecorator extends DatabasePlatform {
private final DatabasePlatform delegate;
private DatabasePlatformDecorator(DatabasePlatform delegate) {
this.delegate = delegate;
}
@Override
public boolean shouldBindLiterals() {
return false;
}
@Override
public void setShouldBindLiterals(boolean shouldBindLiterals) {
delegate.setShouldBindLiterals(shouldBindLiterals);
}
@Override
public boolean isDynamicSQLRequiredForFunctions() {
return delegate.isDynamicSQLRequiredForFunctions();
}
@Override
public Object getRefValue(Ref ref, Connection connection) throws SQLException {
return delegate.getRefValue(ref, connection);
}
@Override
public Object getRefValue(Ref ref, AbstractSession executionSession, Connection connection) throws SQLException {
return delegate.getRefValue(ref, executionSession, connection);
}
@Override
public void printStoredFunctionReturnKeyWord(Writer writer) throws IOException {
delegate.printStoredFunctionReturnKeyWord(writer);
}
@Override
public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) {
delegate.printSQLSelectStatement(call, printer, statement);
}
@Override
public boolean shouldPrintLockingClauseAfterWhereClause() {
return delegate.shouldPrintLockingClauseAfterWhereClause();
}
@Override
public boolean supportsIndividualTableLocking() {
return delegate.supportsIndividualTableLocking();
}
@Override
public boolean supportsLockingQueriesWithMultipleTables() {
return delegate.supportsLockingQueriesWithMultipleTables();
}
@Override
public boolean shouldPrintAliasForUpdate() {
return delegate.shouldPrintAliasForUpdate();
}
@Override
public String buildCreateIndex(String fullTableName, String indexName, String... columnNames) {
return delegate.buildCreateIndex(fullTableName, indexName, columnNames);
}
@Override
public String buildCreateIndex(String fullTableName, String indexName, String qualifier, boolean isUnique, String... columnNames) {
return delegate.buildCreateIndex(fullTableName, indexName, qualifier, isUnique, columnNames);
}
@Override
public String buildDropIndex(String fullTableName, String indexName) {
return delegate.buildDropIndex(fullTableName, indexName);
}
@Override
public String buildDropIndex(String fullTableName, String indexName, String qualifier) {
return delegate.buildDropIndex(fullTableName, indexName, qualifier);
}
@Override
public Writer buildSequenceObjectCreationWriter(Writer writer, String fullSeqName, int increment, int start) throws IOException {
return delegate.buildSequenceObjectCreationWriter(writer, fullSeqName, increment, start);
}
@Override
public Writer buildSequenceObjectDeletionWriter(Writer writer, String fullSeqName) throws IOException {
return delegate.buildSequenceObjectDeletionWriter(writer, fullSeqName);
}
@Override
public Writer buildSequenceObjectAlterIncrementWriter(Writer writer, String fullSeqName, int increment) throws IOException {
return delegate.buildSequenceObjectAlterIncrementWriter(writer, fullSeqName, increment);
}
@Override
public boolean isAlterSequenceObjectSupported() {
return delegate.isAlterSequenceObjectSupported();
}
@Override
public boolean supportsNestingOuterJoins() {
return delegate.supportsNestingOuterJoins();
}
@Override
public boolean supportsOuterJoinsWithBrackets() {
return delegate.supportsOuterJoinsWithBrackets();
}
@Override
public void freeTemporaryObject(Object value) throws SQLException {
delegate.freeTemporaryObject(value);
}
@Override
public void initializeConnectionData(Connection connection) throws SQLException {
delegate.initializeConnectionData(connection);
}
@Override
public void writeAddColumnClause(Writer writer, AbstractSession session, TableDefinition table, FieldDefinition field) throws IOException {
delegate.writeAddColumnClause(writer, session, table, field);
}
@Override
public boolean supportsConnectionUserName() {
return delegate.supportsConnectionUserName();
}
@Override
public String getConnectionUserName() {
return delegate.getConnectionUserName();
}
@Override
public boolean getDefaultNativeSequenceToTable() {
return delegate.getDefaultNativeSequenceToTable();
}
@Override
public void setDefaultNativeSequenceToTable(boolean defaultNativeSequenceToTable) {
delegate.setDefaultNativeSequenceToTable(defaultNativeSequenceToTable);
}
@Override
public void addOperator(ExpressionOperator operator) {
throw new UnsupportedOperationException();
}
@Override
public Object clone() {
return delegate.clone();
}
@Override
public void sequencesAfterCloneCleanup() {
throw new UnsupportedOperationException();
}
@Override
public Object convertObject(Object sourceObject, Class javaClass) throws ConversionException {
return delegate.convertObject(sourceObject, javaClass);
}
@Override
public ConversionManager getConversionManager() {
return delegate.getConversionManager();
}
@Override
public void setConversionManager(ConversionManager conversionManager) {
delegate.setConversionManager(conversionManager);
}
@Override
public String getEndDelimiter() {
return delegate.getEndDelimiter();
}
@Override
public void setEndDelimiter(String endDelimiter) {
delegate.setEndDelimiter(endDelimiter);
}
@Override
public ExpressionOperator getOperator(int selector) {
return delegate.getOperator(selector);
}
@Override
public Map getPlatformOperators() {
return delegate.getPlatformOperators();
}
@Override
public ValueReadQuery getSelectSequenceQuery() {
return delegate.getSelectSequenceQuery();
}
@Override
public String getStartDelimiter() {
return delegate.getStartDelimiter();
}
@Override
public void setStartDelimiter(String startDelimiter) {
delegate.setStartDelimiter(startDelimiter);
}
@Override
public String getTableQualifier() {
return delegate.getTableQualifier();
}
@Override
public Timestamp getTimestampFromServer(AbstractSession session, String sessionName) {
return delegate.getTimestampFromServer(session, sessionName);
}
@Override
public ValueReadQuery getTimestampQuery() {
return delegate.getTimestampQuery();
}
@Override
public DataModifyQuery getUpdateSequenceQuery() {
return delegate.getUpdateSequenceQuery();
}
@Override
public void initializePlatformOperators() {
throw new UnsupportedOperationException();
}
@Override
public void initializeDefaultQueries(DescriptorQueryManager queryManager, AbstractSession session) {
delegate.initializeDefaultQueries(queryManager, session);
}
@Override
public boolean isAccess() {
return delegate.isAccess();
}
@Override
public boolean isAttunity() {
return delegate.isAttunity();
}
@Override
public boolean isCloudscape() {
return delegate.isCloudscape();
}
@Override
public boolean isDerby() {
return delegate.isDerby();
}
@Override
public boolean isDB2() {
return delegate.isDB2();
}
@Override
public boolean isHANA() {
return delegate.isHANA();
}
@Override
public boolean isH2() {
return delegate.isH2();
}
@Override
public boolean isDBase() {
return delegate.isDBase();
}
@Override
public boolean isHSQL() {
return delegate.isHSQL();
}
@Override
public boolean isInformix() {
return delegate.isInformix();
}
@Override
public boolean isMySQL() {
return delegate.isMySQL();
}
@Override
public boolean isODBC() {
return delegate.isODBC();
}
@Override
public boolean isOracle() {
return delegate.isOracle();
}
@Override
public boolean isOracle9() {
return delegate.isOracle9();
}
@Override
public boolean isPervasive() {
return delegate.isPervasive();
}
@Override
public boolean isPostgreSQL() {
return delegate.isPostgreSQL();
}
@Override
public boolean isPointBase() {
return delegate.isPointBase();
}
@Override
public boolean isSQLAnywhere() {
return delegate.isSQLAnywhere();
}
@Override
public boolean isFirebird() {
return delegate.isFirebird();
}
@Override
public boolean isSQLServer() {
return delegate.isSQLServer();
}
@Override
public boolean isSybase() {
return delegate.isSybase();
}
@Override
public boolean isSymfoware() {
return delegate.isSymfoware();
}
@Override
public boolean isTimesTen() {
return delegate.isTimesTen();
}
@Override
public boolean isTimesTen7() {
return delegate.isTimesTen7();
}
@Override
public boolean isMaxDB() {
return delegate.isMaxDB();
}
@Override
public void setSelectSequenceNumberQuery(ValueReadQuery seqQuery) {
delegate.setSelectSequenceNumberQuery(seqQuery);
}
@Override
public void setSequencePreallocationSize(int size) {
delegate.setSequencePreallocationSize(size);
}
@Override
public void setTableQualifier(String qualifier) {
delegate.setTableQualifier(qualifier);
}
@Override
public void setTimestampQuery(ValueReadQuery tsQuery) {
delegate.setTimestampQuery(tsQuery);
}
@Override
public void setUpdateSequenceQuery(DataModifyQuery updateSequenceNumberQuery) {
delegate.setUpdateSequenceQuery(updateSequenceNumberQuery);
}
@Override
public String toString() {
return delegate.toString();
}
@Override
public Vector getDataTypesConvertedFrom(Class javaClass) {
return delegate.getDataTypesConvertedFrom(javaClass);
}
@Override
public Vector getDataTypesConvertedTo(Class javaClass) {
return delegate.getDataTypesConvertedTo(javaClass);
}
@Override
public Sequence getDefaultSequence() {
return delegate.getDefaultSequence();
}
@Override
public boolean hasDefaultSequence() {
return delegate.hasDefaultSequence();
}
@Override
public void setDefaultSequence(Sequence sequence) {
delegate.setDefaultSequence(sequence);
}
@Override
public void addSequence(Sequence sequence) {
delegate.addSequence(sequence);
}
@Override
public void addSequence(Sequence sequence, boolean isSessionConnected) {
delegate.addSequence(sequence, isSessionConnected);
}
@Override
public Sequence getSequence(String seqName) {
return delegate.getSequence(seqName);
}
@Override
public Sequence removeSequence(String seqName) {
return delegate.removeSequence(seqName);
}
@Override
public void removeAllSequences() {
delegate.removeAllSequences();
}
@Override
public Map getSequences() {
return delegate.getSequences();
}
@Override
public Map getSequencesToWrite() {
return delegate.getSequencesToWrite();
}
@Override
public Sequence getDefaultSequenceToWrite() {
return delegate.getDefaultSequenceToWrite();
}
@Override
public void setSequences(Map sequences) {
delegate.setSequences(sequences);
}
@Override
public boolean usesPlatformDefaultSequence() {
return delegate.usesPlatformDefaultSequence();
}
@Override
public ConnectionCustomizer createConnectionCustomizer(Accessor accessor, AbstractSession session) {
return delegate.createConnectionCustomizer(accessor, session);
}
@Override
public boolean shouldPrepare(DatabaseQuery query) {
return delegate.shouldPrepare(query);
}
@Override
public boolean shouldSelectIncludeOrderBy() {
return delegate.shouldSelectIncludeOrderBy();
}
@Override
public boolean shouldSelectDistinctIncludeOrderBy() {
return delegate.shouldSelectDistinctIncludeOrderBy();
}
@Override
public boolean shouldNativeSequenceUseTransaction() {
return delegate.shouldNativeSequenceUseTransaction();
}
@Override
public boolean supportsIdentity() {
return delegate.supportsIdentity();
}
@Override
public boolean supportsNativeSequenceNumbers() {
return delegate.supportsNativeSequenceNumbers();
}
@Override
public boolean supportsSequenceObjects() {
return delegate.supportsSequenceObjects();
}
@Override
public ValueReadQuery buildSelectQueryForSequenceObject() {
return delegate.buildSelectQueryForSequenceObject();
}
@Override
public ValueReadQuery buildSelectQueryForSequenceObject(String qualifiedSeqName, Integer size) {
return delegate.buildSelectQueryForSequenceObject(qualifiedSeqName, size);
}
@Override
public ValueReadQuery buildSelectQueryForIdentity() {
return delegate.buildSelectQueryForIdentity();
}
@Override
public ValueReadQuery buildSelectQueryForIdentity(String seqName, Integer size) {
return delegate.buildSelectQueryForIdentity(seqName, size);
}
@Override
public DatasourceCall buildNativeCall(String queryString) {
return delegate.buildNativeCall(queryString);
}
@Override
public void initialize() {
delegate.initialize();
}
@Override
public boolean hasPartitioningCallback() {
return delegate.hasPartitioningCallback();
}
@Override
public DataPartitioningCallback getPartitioningCallback() {
return delegate.getPartitioningCallback();
}
@Override
public void setPartitioningCallback(DataPartitioningCallback partitioningCallback) {
delegate.setPartitioningCallback(partitioningCallback);
}
@Override
public boolean isCastRequired() {
return delegate.isCastRequired();
}
@Override
public void setIsCastRequired(boolean isCastRequired) {
delegate.setIsCastRequired(isCastRequired);
}
@Override
public Map<String, StructConverter> getStructConverters() {
return delegate.getStructConverters();
}
@Override
public String getTableCreationSuffix() {
return delegate.getTableCreationSuffix();
}
@Override
public Map<Class, StructConverter> getTypeConverters() {
return delegate.getTypeConverters();
}
@Override
public void addStructConverter(StructConverter converter) {
delegate.addStructConverter(converter);
}
@Override
public int addBatch(PreparedStatement statement) throws SQLException {
return delegate.addBatch(statement);
}
@Override
public boolean allowsSizeInProcedureArguments() {
return delegate.allowsSizeInProcedureArguments();
}
@Override
public void appendLiteralToCall(Call call, Writer writer, Object literal) {
super.appendLiteralToCall(call, writer, literal);
}
@Override
public void appendLiteralToCallWithBinding(Call call, Writer writer, Object literal) {
throw new UnsupportedOperationException();
}
@Override
public void appendParameter(Call call, Writer writer, Object parameter) {
delegate.appendParameter(call, writer, parameter);
}
@Override
public int appendParameterInternal(Call call, Writer writer, Object parameter) {
return delegate.appendParameterInternal(call, writer, parameter);
}
@Override
public void autoCommit(DatabaseAccessor accessor) throws SQLException {
delegate.autoCommit(accessor);
}
@Override
public void beginTransaction(DatabaseAccessor accessor) throws SQLException {
delegate.beginTransaction(accessor);
}
@Override
public Expression buildBatchCriteria(ExpressionBuilder builder, Expression field) {
return delegate.buildBatchCriteria(builder, field);
}
@Override
public Expression buildBatchCriteriaForComplexId(ExpressionBuilder builder, List<Expression> fields) {
return delegate.buildBatchCriteriaForComplexId(builder, fields);
}
@Override
public DatabaseCall buildCallWithReturning(SQLCall sqlCall, Vector returnFields) {
return delegate.buildCallWithReturning(sqlCall, returnFields);
}
@Override
public boolean shouldUseGetSetNString() {
return delegate.shouldUseGetSetNString();
}
@Override
public boolean getDriverSupportsNVarChar() {
return delegate.getDriverSupportsNVarChar();
}
@Override
public void setDriverSupportsNVarChar(boolean b) {
delegate.setDriverSupportsNVarChar(b);
}
@Override
public boolean getUseNationalCharacterVaryingTypeForString() {
return delegate.getUseNationalCharacterVaryingTypeForString();
}
@Override
public void setUseNationalCharacterVaryingTypeForString(boolean b) {
delegate.setUseNationalCharacterVaryingTypeForString(b);
}
@Override
public String buildProcedureCallString(StoredProcedureCall call, AbstractSession session, AbstractRecord row) {
return delegate.buildProcedureCallString(call, session, row);
}
@Override
public boolean canBuildCallWithReturning() {
return delegate.canBuildCallWithReturning();
}
@Override
public boolean canBatchWriteWithOptimisticLocking(DatabaseCall call) {
return delegate.canBatchWriteWithOptimisticLocking(call);
}
@Override
public int computeMaxRowsForSQL(int firstResultIndex, int maxResults) {
return delegate.computeMaxRowsForSQL(firstResultIndex, maxResults);
}
@Override
public void commitTransaction(DatabaseAccessor accessor) throws SQLException {
delegate.commitTransaction(accessor);
}
@Override
public DatabaseQuery getVPDClearIdentifierQuery(String vpdIdentifier) {
return delegate.getVPDClearIdentifierQuery(vpdIdentifier);
}
@Override
public String getVPDCreationFunctionString(String tableName, String tenantFieldName) {
return delegate.getVPDCreationFunctionString(tableName, tenantFieldName);
}
@Override
public String getVPDCreationPolicyString(String tableName, AbstractSession session) {
return delegate.getVPDCreationPolicyString(tableName, session);
}
@Override
public String getVPDDeletionString(String tableName, AbstractSession session) {
return delegate.getVPDDeletionString(tableName, session);
}
@Override
public DatabaseQuery getVPDSetIdentifierQuery(String vpdIdentifier) {
return delegate.getVPDSetIdentifierQuery(vpdIdentifier);
}
@Override
public Object convertToDatabaseType(Object value) {
return delegate.convertToDatabaseType(value);
}
@Override
public void copyInto(Platform platform) {
delegate.copyInto(platform);
}
@Override
public String getBatchBeginString() {
return delegate.getBatchBeginString();
}
@Override
public boolean isRowCountOutputParameterRequired() {
return delegate.isRowCountOutputParameterRequired();
}
@Override
public String getBatchRowCountDeclareString() {
return delegate.getBatchRowCountDeclareString();
}
@Override
public String getBatchRowCountAssignString() {
return delegate.getBatchRowCountAssignString();
}
@Override
public String getBatchRowCountReturnString() {
return delegate.getBatchRowCountReturnString();
}
@Override
public String getBatchDelimiterString() {
return delegate.getBatchDelimiterString();
}
@Override
public String getBatchEndString() {
return delegate.getBatchEndString();
}
@Override
public Connection getConnection(AbstractSession session, Connection connection) {
return delegate.getConnection(session, connection);
}
@Override
public String getConstraintDeletionString() {
return delegate.getConstraintDeletionString();
}
@Override
public String getUniqueConstraintDeletionString() {
return delegate.getUniqueConstraintDeletionString();
}
@Override
public String getCreateViewString() {
return delegate.getCreateViewString();
}
@Override
public String getDropCascadeString() {
return delegate.getDropCascadeString();
}
@Override
public Object getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind) {
return delegate.getCustomModifyValueForCall(call, value, field, shouldBind);
}
@Override
public String getProcedureEndString() {
return delegate.getProcedureEndString();
}
@Override
public String getProcedureBeginString() {
return delegate.getProcedureBeginString();
}
@Override
public String getProcedureAsString() {
return delegate.getProcedureAsString();
}
@Override
public Map<String, Class> getClassTypes() {
return delegate.getClassTypes();
}
@Override
public String getAssignmentString() {
return delegate.getAssignmentString();
}
@Override
public int getCastSizeForVarcharParameter() {
return delegate.getCastSizeForVarcharParameter();
}
@Override
public String getCreationInOutputProcedureToken() {
return delegate.getCreationInOutputProcedureToken();
}
@Override
public String getCreationOutputProcedureToken() {
return delegate.getCreationOutputProcedureToken();
}
@Override
public int getCursorCode() {
return delegate.getCursorCode();
}
@Override
public String getDefaultSequenceTableName() {
return delegate.getDefaultSequenceTableName();
}
@Override
public String getCreateDatabaseSchemaString(String schema) {
return delegate.getCreateDatabaseSchemaString(schema);
}
@Override
public String getDropDatabaseSchemaString(String schema) {
return delegate.getDropDatabaseSchemaString(schema);
}
@Override
public FieldTypeDefinition getFieldTypeDefinition(Class javaClass) {
return delegate.getFieldTypeDefinition(javaClass);
}
@Override
public Map<Class, FieldTypeDefinition> getFieldTypes() {
return delegate.getFieldTypes();
}
@Override
public String getFunctionCallHeader() {
return delegate.getFunctionCallHeader();
}
@Override
public String getIdentifierQuoteCharacter() {
return delegate.getIdentifierQuoteCharacter();
}
@Override
public String getInOutputProcedureToken() {
return delegate.getInOutputProcedureToken();
}
@Override
public String getJDBCOuterJoinString() {
return delegate.getJDBCOuterJoinString();
}
@Override
public int getJDBCTypeForSetNull(DatabaseField field) {
return delegate.getJDBCTypeForSetNull(field);
}
@Override
public int getJDBCType(DatabaseField field) {
return delegate.getJDBCType(field);
}
@Override
public int getJDBCType(Class javaType) {
return delegate.getJDBCType(javaType);
}
@Override
public String getJdbcTypeName(int jdbcType) {
return delegate.getJdbcTypeName(jdbcType);
}
@Override
public long minimumTimeIncrement() {
return delegate.minimumTimeIncrement();
}
@Override
public int getMaxBatchWritingSize() {
return delegate.getMaxBatchWritingSize();
}
@Override
public int getMaxFieldNameSize() {
return delegate.getMaxFieldNameSize();
}
@Override
public int getMaxForeignKeyNameSize() {
return delegate.getMaxForeignKeyNameSize();
}
@Override
public int getMaxIndexNameSize() {
return delegate.getMaxIndexNameSize();
}
@Override
public int getMaxUniqueKeyNameSize() {
return delegate.getMaxUniqueKeyNameSize();
}
@Override
public Object getObjectFromResultSet(ResultSet resultSet, int columnNumber, int type, AbstractSession session) throws SQLException {
return delegate.getObjectFromResultSet(resultSet, columnNumber, type, session);
}
@Override
public String getInputProcedureToken() {
return delegate.getInputProcedureToken();
}
@Override
public String getIndexNamePrefix(boolean isUniqueSetOnField) {
return delegate.getIndexNamePrefix(isUniqueSetOnField);
}
@Override
public String getOutputProcedureToken() {
return delegate.getOutputProcedureToken();
}
@Override
public String getPingSQL() {
return delegate.getPingSQL();
}
@Override
public String getProcedureArgumentSetter() {
return delegate.getProcedureArgumentSetter();
}
@Override
public String getProcedureArgumentString() {
return delegate.getProcedureArgumentString();
}
@Override
public String getProcedureCallHeader() {
return delegate.getProcedureCallHeader();
}
@Override
public String getProcedureCallTail() {
return delegate.getProcedureCallTail();
}
@Override
public String getQualifiedSequenceTableName() {
return delegate.getQualifiedSequenceTableName();
}
@Override
public String getQualifiedName(String name) {
return delegate.getQualifiedName(name);
}
@Override
public String getNoWaitString() {
return delegate.getNoWaitString();
}
@Override
public String getSelectForUpdateNoWaitString() {
return delegate.getSelectForUpdateNoWaitString();
}
@Override
public String getSelectForUpdateOfString() {
return delegate.getSelectForUpdateOfString();
}
@Override
public String getSelectForUpdateString() {
return delegate.getSelectForUpdateString();
}
@Override
public String getSelectForUpdateWaitString(Integer waitTimeout) {
return delegate.getSelectForUpdateWaitString(waitTimeout);
}
@Override
public String getSequenceCounterFieldName() {
return delegate.getSequenceCounterFieldName();
}
@Override
public String getSequenceNameFieldName() {
return delegate.getSequenceNameFieldName();
}
@Override
public int getSequencePreallocationSize() {
return delegate.getSequencePreallocationSize();
}
@Override
public String getSequenceTableName() {
return delegate.getSequenceTableName();
}
@Override
public int getStatementCacheSize() {
return delegate.getStatementCacheSize();
}
@Override
public String getStoredProcedureParameterPrefix() {
return delegate.getStoredProcedureParameterPrefix();
}
@Override
public String getStoredProcedureTerminationToken() {
return delegate.getStoredProcedureTerminationToken();
}
@Override
public void setStoredProcedureTerminationToken(String storedProcedureTerminationToken) {
delegate.setStoredProcedureTerminationToken(storedProcedureTerminationToken);
}
@Override
public int getStringBindingSize() {
return delegate.getStringBindingSize();
}
@Override
public int getTransactionIsolation() {
return delegate.getTransactionIsolation();
}
@Override
public boolean isInformixOuterJoin() {
return delegate.isInformixOuterJoin();
}
@Override
public boolean isJDBCExecuteCompliant() {
return delegate.isJDBCExecuteCompliant();
}
@Override
public boolean isLockTimeoutException(DatabaseException e) {
return delegate.isLockTimeoutException(e);
}
@Override
public boolean isForUpdateCompatibleWithDistinct() {
return delegate.isForUpdateCompatibleWithDistinct();
}
@Override
public boolean isLobCompatibleWithDistinct() {
return delegate.isLobCompatibleWithDistinct();
}
@Override
public Hashtable maximumNumericValues() {
return delegate.maximumNumericValues();
}
@Override
public Hashtable minimumNumericValues() {
return delegate.minimumNumericValues();
}
@Override
public Statement prepareBatchStatement(Statement statement, int maxBatchWritingSize) throws SQLException {
return delegate.prepareBatchStatement(statement, maxBatchWritingSize);
}
@Override
public void printFieldIdentityClause(Writer writer) throws ValidationException {
delegate.printFieldIdentityClause(writer);
}
@Override
public void printFieldNotNullClause(Writer writer) throws ValidationException {
delegate.printFieldNotNullClause(writer);
}
@Override
public void printFieldNullClause(Writer writer) throws ValidationException {
delegate.printFieldNullClause(writer);
}
@Override
public int printValuelist(int[] theObjects, DatabaseCall call, Writer writer) throws IOException {
return delegate.printValuelist(theObjects, call, writer);
}
@Override
public int printValuelist(Collection theObjects, DatabaseCall call, Writer writer) throws IOException {
return delegate.printValuelist(theObjects, call, writer);
}
@Override
public void registerOutputParameter(CallableStatement statement, int index, int jdbcType) throws SQLException {
delegate.registerOutputParameter(statement, index, jdbcType);
}
@Override
public boolean requiresNamedPrimaryKeyConstraints() {
return delegate.requiresNamedPrimaryKeyConstraints();
}
@Override
public boolean requiresProcedureBrackets() {
return delegate.requiresProcedureBrackets();
}
@Override
public boolean requiresProcedureCallBrackets() {
return delegate.requiresProcedureCallBrackets();
}
@Override
public boolean requiresProcedureCallOuputToken() {
return delegate.requiresProcedureCallOuputToken();
}
@Override
public boolean requiresTypeNameToRegisterOutputParameter() {
return delegate.requiresTypeNameToRegisterOutputParameter();
}
@Override
public boolean requiresUniqueConstraintCreationOnTableCreate() {
return delegate.requiresUniqueConstraintCreationOnTableCreate();
}
@Override
public void retrieveFirstPrimaryKeyOrOne(ReportQuery subselect) {
delegate.retrieveFirstPrimaryKeyOrOne(subselect);
}
@Override
public void rollbackTransaction(DatabaseAccessor accessor) throws SQLException {
delegate.rollbackTransaction(accessor);
}
@Override
public void setCastSizeForVarcharParameter(int maxLength) {
delegate.setCastSizeForVarcharParameter(maxLength);
}
@Override
public void setClassTypes(Hashtable classTypes) {
throw new UnsupportedOperationException();
}
@Override
public void setCursorCode(int cursorCode) {
delegate.setCursorCode(cursorCode);
}
@Override
public void setDriverName(String driverName) {
delegate.setDriverName(driverName);
}
@Override
public void setFieldTypes(Hashtable theFieldTypes) {
throw new UnsupportedOperationException();
}
@Override
public void setMaxBatchWritingSize(int maxBatchWritingSize) {
delegate.setMaxBatchWritingSize(maxBatchWritingSize);
}
@Override
public void setSequenceCounterFieldName(String name) {
delegate.setSequenceCounterFieldName(name);
}
@Override
public void setSequenceNameFieldName(String name) {
delegate.setSequenceNameFieldName(name);
}
@Override
public void setSequenceTableName(String name) {
delegate.setSequenceTableName(name);
}
@Override
public void setShouldBindAllParameters(boolean shouldBindAllParameters) {
delegate.setShouldBindAllParameters(shouldBindAllParameters);
}
@Override
public void setShouldCacheAllStatements(boolean shouldCacheAllStatements) {
delegate.setShouldCacheAllStatements(shouldCacheAllStatements);
}
@Override
public void setShouldForceFieldNamesToUpperCase(boolean shouldForceFieldNamesToUpperCase) {
delegate.setShouldForceFieldNamesToUpperCase(shouldForceFieldNamesToUpperCase);
}
@Override
public void setShouldOptimizeDataConversion(boolean value) {
delegate.setShouldOptimizeDataConversion(value);
}
@Override
public void setShouldTrimStrings(boolean aBoolean) {
delegate.setShouldTrimStrings(aBoolean);
}
@Override
public void setStatementCacheSize(int statementCacheSize) {
delegate.setStatementCacheSize(statementCacheSize);
}
@Override
public void setStringBindingSize(int aSize) {
delegate.setStringBindingSize(aSize);
}
@Override
public void setSupportsAutoCommit(boolean supportsAutoCommit) {
delegate.setSupportsAutoCommit(supportsAutoCommit);
}
@Override
public void setTableCreationSuffix(String tableCreationSuffix) {
delegate.setTableCreationSuffix(tableCreationSuffix);
}
@Override
public void setTransactionIsolation(int isolationLevel) {
delegate.setTransactionIsolation(isolationLevel);
}
@Override
public void setUseJDBCStoredProcedureSyntax(Boolean useJDBCStoredProcedureSyntax) {
delegate.setUseJDBCStoredProcedureSyntax(useJDBCStoredProcedureSyntax);
}
@Override
public void setUsesBatchWriting(boolean usesBatchWriting) {
delegate.setUsesBatchWriting(usesBatchWriting);
}
@Override
public void setUsesByteArrayBinding(boolean usesByteArrayBinding) {
delegate.setUsesByteArrayBinding(usesByteArrayBinding);
}
@Override
public void setUsesJDBCBatchWriting(boolean usesJDBCBatchWriting) {
delegate.setUsesJDBCBatchWriting(usesJDBCBatchWriting);
}
@Override
public void setUsesNativeBatchWriting(boolean usesNativeBatchWriting) {
delegate.setUsesNativeBatchWriting(usesNativeBatchWriting);
}
@Override
public void setUsesNativeSQL(boolean usesNativeSQL) {
delegate.setUsesNativeSQL(usesNativeSQL);
}
@Override
public BatchWritingMechanism getBatchWritingMechanism() {
return delegate.getBatchWritingMechanism();
}
@Override
public void setBatchWritingMechanism(BatchWritingMechanism batchWritingMechanism) {
delegate.setBatchWritingMechanism(batchWritingMechanism);
}
@Override
public void setShouldUseRownumFiltering(boolean useRownumFiltering) {
delegate.setShouldUseRownumFiltering(useRownumFiltering);
}
@Override
public void setUsesStreamsForBinding(boolean usesStreamsForBinding) {
delegate.setUsesStreamsForBinding(usesStreamsForBinding);
}
@Override
public void setPrintOuterJoinInWhereClause(boolean printOuterJoinInWhereClause) {
delegate.setPrintOuterJoinInWhereClause(printOuterJoinInWhereClause);
}
@Override
public void setPrintInnerJoinInWhereClause(boolean printInnerJoinInWhereClause) {
delegate.setPrintInnerJoinInWhereClause(printInnerJoinInWhereClause);
}
@Override
public void setUsesStringBinding(boolean aBool) {
delegate.setUsesStringBinding(aBool);
}
@Override
public boolean shouldBindAllParameters() {
return delegate.shouldBindAllParameters();
}
@Override
public boolean shouldCacheAllStatements() {
return delegate.shouldCacheAllStatements();
}
@Override
public boolean shouldCreateIndicesForPrimaryKeys() {
return delegate.shouldCreateIndicesForPrimaryKeys();
}
@Override
public boolean shouldCreateIndicesOnUniqueKeys() {
return delegate.shouldCreateIndicesOnUniqueKeys();
}
@Override
public boolean shouldCreateIndicesOnForeignKeys() {
return delegate.shouldCreateIndicesOnForeignKeys();
}
@Override
public void setShouldCreateIndicesOnForeignKeys(boolean shouldCreateIndicesOnForeignKeys) {
delegate.setShouldCreateIndicesOnForeignKeys(shouldCreateIndicesOnForeignKeys);
}
@Override
public boolean shouldForceFieldNamesToUpperCase() {
return delegate.shouldForceFieldNamesToUpperCase();
}
public static boolean shouldIgnoreCaseOnFieldComparisons() {
return org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.shouldIgnoreCaseOnFieldComparisons();
}
@Override
public boolean shouldIgnoreException(SQLException exception) {
return delegate.shouldIgnoreException(exception);
}
@Override
public boolean shouldOptimizeDataConversion() {
return delegate.shouldOptimizeDataConversion();
}
@Override
public boolean shouldPrintStoredProcedureVariablesAfterBeginString() {
return delegate.shouldPrintStoredProcedureVariablesAfterBeginString();
}
@Override
public boolean shouldPrintConstraintNameAfter() {
return delegate.shouldPrintConstraintNameAfter();
}
@Override
public boolean shouldPrintInOutputTokenBeforeType() {
return delegate.shouldPrintInOutputTokenBeforeType();
}
@Override
public boolean shouldPrintOuterJoinInWhereClause() {
return delegate.shouldPrintOuterJoinInWhereClause();
}
@Override
public boolean shouldPrintInnerJoinInWhereClause() {
return delegate.shouldPrintInnerJoinInWhereClause();
}
@Override
public boolean shouldPrintInputTokenAtStart() {
return delegate.shouldPrintInputTokenAtStart();
}
@Override
public boolean shouldPrintOutputTokenBeforeType() {
return delegate.shouldPrintOutputTokenBeforeType();
}
@Override
public boolean shouldPrintOutputTokenAtStart() {
return delegate.shouldPrintOutputTokenAtStart();
}
@Override
public boolean shouldPrintStoredProcedureArgumentNameInCall() {
return delegate.shouldPrintStoredProcedureArgumentNameInCall();
}
@Override
public boolean shouldPrintForUpdateClause() {
return delegate.shouldPrintForUpdateClause();
}
@Override
public boolean shouldTrimStrings() {
return delegate.shouldTrimStrings();
}
@Override
public boolean shouldUseCustomModifyForCall(DatabaseField field) {
return delegate.shouldUseCustomModifyForCall(field);
}
@Override
public boolean shouldUseJDBCOuterJoinSyntax() {
return delegate.shouldUseJDBCOuterJoinSyntax();
}
@Override
public boolean shouldUseRownumFiltering() {
return delegate.shouldUseRownumFiltering();
}
@Override
public boolean supportsANSIInnerJoinSyntax() {
return delegate.supportsANSIInnerJoinSyntax();
}
@Override
public boolean supportsAutoCommit() {
return delegate.supportsAutoCommit();
}
@Override
public boolean supportsAutoConversionToNumericForArithmeticOperations() {
return delegate.supportsAutoConversionToNumericForArithmeticOperations();
}
@Override
public boolean supportsForeignKeyConstraints() {
return delegate.supportsForeignKeyConstraints();
}
@Override
public boolean supportsUniqueKeyConstraints() {
return delegate.supportsUniqueKeyConstraints();
}
@Override
public boolean supportsVPD() {
return delegate.supportsVPD();
}
@Override
public boolean supportsPrimaryKeyConstraint() {
return delegate.supportsPrimaryKeyConstraint();
}
@Override
public boolean supportsStoredFunctions() {
return delegate.supportsStoredFunctions();
}
@Override
public boolean supportsDeleteOnCascade() {
return delegate.supportsDeleteOnCascade();
}
@Override
public int executeBatch(Statement statement, boolean isStatementPrepared) throws SQLException {
return delegate.executeBatch(statement, isStatementPrepared);
}
@Override
public Object executeStoredProcedure(DatabaseCall dbCall, PreparedStatement statement, DatabaseAccessor accessor, AbstractSession session) throws SQLException {
return delegate.executeStoredProcedure(dbCall, statement, accessor, session);
}
@Override
public void setPingSQL(String pingSQL) {
delegate.setPingSQL(pingSQL);
}
@Override
public void setParameterValueInDatabaseCall(Object parameter, PreparedStatement statement, int index, AbstractSession session) throws SQLException {
delegate.setParameterValueInDatabaseCall(parameter, statement, index, session);
}
@Override
public boolean usesBatchWriting() {
return delegate.usesBatchWriting();
}
@Override
public boolean usesByteArrayBinding() {
return delegate.usesByteArrayBinding();
}
@Override
public boolean usesSequenceTable() {
return delegate.usesSequenceTable();
}
@Override
public boolean usesJDBCBatchWriting() {
return delegate.usesJDBCBatchWriting();
}
@Override
public boolean usesNativeBatchWriting() {
return delegate.usesNativeBatchWriting();
}
@Override
public boolean usesNativeSQL() {
return delegate.usesNativeSQL();
}
@Override
public boolean usesStreamsForBinding() {
return delegate.usesStreamsForBinding();
}
@Override
public boolean usesStringBinding() {
return delegate.usesStringBinding();
}
@Override
public void writeLOB(DatabaseField field, Object value, ResultSet resultSet, AbstractSession session) throws SQLException {
delegate.writeLOB(field, value, resultSet, session);
}
@Override
public boolean supportsCountDistinctWithMultipleFields() {
return delegate.supportsCountDistinctWithMultipleFields();
}
@Override
public boolean supportsIndexes() {
return delegate.supportsIndexes();
}
@Override
public boolean requiresTableInIndexDropDDL() {
return delegate.requiresTableInIndexDropDDL();
}
@Override
public boolean supportsTempTables() {
return delegate.supportsTempTables();
}
@Override
public boolean supportsLocalTempTables() {
return delegate.supportsLocalTempTables();
}
@Override
public boolean supportsGlobalTempTables() {
return delegate.supportsGlobalTempTables();
}
@Override
public DatabaseTable getTempTableForTable(DatabaseTable table) {
return delegate.getTempTableForTable(table);
}
@Override
public void writeCreateTempTableSql(Writer writer, DatabaseTable table, AbstractSession session, Collection pkFields, Collection usedFields, Collection allFields) throws IOException {
delegate.writeCreateTempTableSql(writer, table, session, pkFields, usedFields, allFields);
}
@Override
public void writeInsertIntoTableSql(Writer writer, DatabaseTable table, Collection usedFields) throws IOException {
delegate.writeInsertIntoTableSql(writer, table, usedFields);
}
@Override
public boolean isNullAllowedInSelectClause() {
return delegate.isNullAllowedInSelectClause();
}
@Override
public boolean isOutputAllowWithResultSet() {
return delegate.isOutputAllowWithResultSet();
}
@Override
public void writeTableCreationSuffix(Writer writer, String tableCreationSuffix) throws IOException {
delegate.writeTableCreationSuffix(writer, tableCreationSuffix);
}
@Override
public void writeUpdateOriginalFromTempTableSql(Writer writer, DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException {
delegate.writeUpdateOriginalFromTempTableSql(writer, table, pkFields, assignedFields);
}
@Override
public void writeDeleteFromTargetTableUsingTempTableSql(Writer writer, DatabaseTable table, DatabaseTable targetTable, Collection pkFields, Collection targetPkFields, DatasourcePlatform platform) throws IOException {
delegate.writeDeleteFromTargetTableUsingTempTableSql(writer, table, targetTable, pkFields, targetPkFields, platform);
}
@Override
public boolean wasFailureCommunicationBased(SQLException exception, Connection connection, AbstractSession sessionForProfile) {
return delegate.wasFailureCommunicationBased(exception, connection, sessionForProfile);
}
@Override
public void writeCleanUpTempTableSql(Writer writer, DatabaseTable table) throws IOException {
delegate.writeCleanUpTempTableSql(writer, table);
}
@Override
public boolean shouldAlwaysUseTempStorageForModifyAll() {
return delegate.shouldAlwaysUseTempStorageForModifyAll();
}
@Override
public boolean dontBindUpdateAllQueryUsingTempTables() {
return delegate.dontBindUpdateAllQueryUsingTempTables();
}
public static void writeFieldsList(Writer writer, Collection fields, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeFieldsList(writer, fields, platform);
}
public static void writeAutoAssignmentSetClause(Writer writer, String tableName1, String tableName2, Collection fields, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeAutoAssignmentSetClause(writer, tableName1, tableName2, fields, platform);
}
public static void writeAutoJoinWhereClause(Writer writer, String tableName1, String tableName2, Collection pkFields, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeAutoJoinWhereClause(writer, tableName1, tableName2, pkFields, platform);
}
public static void writeFieldsAutoClause(Writer writer, String tableName1, String tableName2, Collection fields, String separator, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeFieldsAutoClause(writer, tableName1, tableName2, fields, separator, platform);
}
public static void writeJoinWhereClause(Writer writer, String tableName1, String tableName2, Collection pkFields1, Collection pkFields2, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeJoinWhereClause(writer, tableName1, tableName2, pkFields1, pkFields2, platform);
}
public static void writeFields(Writer writer, String tableName1, String tableName2, Collection fields1, Collection fields2, String separator, DatasourcePlatform platform) throws IOException {
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.writeFields(writer, tableName1, tableName2, fields1, fields2, separator, platform);
}
@Override
public boolean shouldPrintFieldIdentityClause(AbstractSession session, String qualifiedFieldName) {
return delegate.shouldPrintFieldIdentityClause(session, qualifiedFieldName);
}
@Override
public void printFieldTypeSize(Writer writer, FieldDefinition field, FieldTypeDefinition fieldType, boolean shouldPrintFieldIdentityClause) throws IOException {
delegate.printFieldTypeSize(writer, field, fieldType, shouldPrintFieldIdentityClause);
}
@Override
public boolean supportsUniqueColumns() {
return delegate.supportsUniqueColumns();
}
@Override
public void printFieldUnique(Writer writer, boolean shouldPrintFieldIdentityClause) throws IOException {
delegate.printFieldUnique(writer, shouldPrintFieldIdentityClause);
}
@Override
public void writeParameterMarker(Writer writer, ParameterExpression expression, AbstractRecord record, DatabaseCall call) throws IOException {
delegate.writeParameterMarker(writer, expression, record, call);
}
@Override
public Array createArray(String elementDataTypeName, Object[] elements, AbstractSession session, Connection connection) throws SQLException {
return delegate.createArray(elementDataTypeName, elements, session, connection);
}
@Override
public Struct createStruct(String structTypeName, Object[] attributes, AbstractSession session, Connection connection) throws SQLException {
return delegate.createStruct(structTypeName, attributes, session, connection);
}
@Override
public Array createArray(String elementDataTypeName, Object[] elements, Connection connection) throws SQLException {
return delegate.createArray(elementDataTypeName, elements, connection);
}
@Override
public Struct createStruct(String structTypeName, Object[] attributes, Connection connection) throws SQLException {
return delegate.createStruct(structTypeName, attributes, connection);
}
@Override
public boolean isXDBDocument(Object obj) {
return delegate.isXDBDocument(obj);
}
}
}