<?php namespace Doctrine\Tests\DBAL\Driver; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Platforms\SQLAnywhere12Platform; use Doctrine\DBAL\Schema\SQLAnywhereSchemaManager; class AbstractSQLAnywhereDriverTest extends AbstractDriverTest { protected function createDriver() { return $this->getMockForAbstractClass('Doctrine\DBAL\Driver\AbstractSQLAnywhereDriver'); } protected function createPlatform() { return new SQLAnywhere12Platform(); } protected function createSchemaManager(Connection $connection) { return new SQLAnywhereSchemaManager($connection); } protected function getDatabasePlatformsForVersions() { return array( array('10', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('10.0', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('10.0.0', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('10.0.0.0', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('10.1.2.3', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('10.9.9.9', 'Doctrine\DBAL\Platforms\SQLAnywherePlatform'), array('11', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('11.0', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('11.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('11.0.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('11.1.2.3', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('11.9.9.9', 'Doctrine\DBAL\Platforms\SQLAnywhere11Platform'), array('12', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('12.0', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('12.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('12.0.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('12.1.2.3', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('12.9.9.9', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('13', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('14', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('15', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('15.9.9.9', 'Doctrine\DBAL\Platforms\SQLAnywhere12Platform'), array('16', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('16.0', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('16.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('16.0.0.0', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('16.1.2.3', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('16.9.9.9', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), array('17', 'Doctrine\DBAL\Platforms\SQLAnywhere16Platform'), ); } protected function getExceptionConversionData() { return array( self::EXCEPTION_CONNECTION => array( array('-100', null, null), array('-103', null, null), array('-832', null, null), ), self::EXCEPTION_FOREIGN_KEY_CONSTRAINT_VIOLATION => array( array('-198', null, null), ), self::EXCEPTION_INVALID_FIELD_NAME => array( array('-143', null, null), ), self::EXCEPTION_NON_UNIQUE_FIELD_NAME => array( array('-144', null, null), ), self::EXCEPTION_NOT_NULL_CONSTRAINT_VIOLATION => array( array('-184', null, null), array('-195', null, null), ), self::EXCEPTION_SYNTAX_ERROR => array( array('-131', null, null), ), self::EXCEPTION_TABLE_EXISTS => array( array('-110', null, null), ), self::EXCEPTION_TABLE_NOT_FOUND => array( array('-141', null, null), array('-1041', null, null), ), self::EXCEPTION_UNIQUE_CONSTRAINT_VIOLATION => array( array('-193', null, null), array('-196', null, null), ), self::EXCEPTION_DEADLOCK => array( array('-306', null, null), array('-307', null, null), array('-684', null, null), ), self::EXCEPTION_LOCK_WAIT_TIMEOUT => array( array('-210', null, null), array('-1175', null, null), array('-1281', null, null), ), ); } }