protected void verifySession(Session session) { DatabasePlatform platform = session.getPlatform(); if (((DatabaseSessionImpl) session).getSequencing() != null) { if (((DatabaseSessionImpl) session).getSequencing().whenShouldAcquireValueForAll() != Sequencing.BEFORE_INSERT) { // On Sybase, Infomix, SQLServer native sequencing is provided by calling @@IDENTITY after // insert // Apparently if INSERT has occurred inside stored procedure, SELECT @@IDENTITY returns 0. throw new TestWarningException( "InsertUpdateStoredProcedureAdapter can't handle native sequencing on this platform. Use table sequencing instead"); } } if ((platform.isSybase() || platform.isSQLAnywhere()) && platform.supportsAutoCommit()) { // stored procedures won't work unless // the flag set to false (at least with JConnect). // see DatabaseLogin.handleTransactionsManuallyForSybaseJConnect() throw new TestWarningException("Sybase requires supportAutoCommit()==false"); } }
protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleMath(ExpressionOperator.Concat, "||")); }