1
0
Fork 0
mirror of synced 2025-04-01 12:26:11 +03:00

Cherry picked FabioBatSilva upgrade of Common lib.

This commit is contained in:
Guilherme Blanco 2011-09-13 00:59:24 -03:00
parent f8811c4d21
commit 3bb803fd69
14 changed files with 190 additions and 72 deletions

View file

@ -19,7 +19,8 @@
namespace Doctrine\ORM\Mapping;
use Doctrine\Common\Annotations\Annotation;
abstract class Annotation {}
/* Annotations */
@ -28,7 +29,9 @@ use Doctrine\Common\Annotations\Annotation;
* @Target("CLASS")
*/
final class Entity extends Annotation {
/** @var string */
public $repositoryClass;
/** @var boolean */
public $readOnly = false;
}
@ -37,6 +40,7 @@ final class Entity extends Annotation {
* @Target("CLASS")
*/
final class MappedSuperclass extends Annotation {
/** @var string */
public $repositoryClass;
}
@ -44,24 +48,34 @@ final class MappedSuperclass extends Annotation {
* @Annotation
* @Target("CLASS")
*/
final class InheritanceType extends Annotation {}
/**
* @Annotation
* @Target("CLASS")
*/
final class DiscriminatorColumn extends Annotation {
public $name;
public $fieldName; // field name used in non-object hydration (array/scalar)
public $type;
public $length;
final class InheritanceType extends Annotation {
/** @var string */
public $value;
}
/**
* @Annotation
* @Target("CLASS")
*/
final class DiscriminatorMap extends Annotation {}
final class DiscriminatorColumn extends Annotation {
/** @var string */
public $name;
/** @var string */
public $type;
/** @var integer */
public $length;
/** @var mixed */
public $fieldName; // field name used in non-object hydration (array/scalar)
}
/**
* @Annotation
* @Target("CLASS")
*/
final class DiscriminatorMap extends Annotation {
/** @var array<string> */
public $value;
}
/**
* @Annotation
@ -74,6 +88,7 @@ final class Id extends Annotation {}
* @Target("PROPERTY")
*/
final class GeneratedValue extends Annotation {
/** @var string */
public $strategy = 'AUTO';
}
@ -88,36 +103,53 @@ final class Version extends Annotation {}
* @Target({"PROPERTY","ANNOTATION"})
*/
final class JoinColumn extends Annotation {
/** @var string */
public $name;
public $fieldName; // field name used in non-object hydration (array/scalar)
/** @var string */
public $referencedColumnName = 'id';
/** @var boolean */
public $unique = false;
/** @var boolean */
public $nullable = true;
/** @var mixed */
public $onDelete;
/** @var string */
public $columnDefinition;
/** @var string */
public $fieldName; // field name used in non-object hydration (array/scalar)
}
/**
* @Annotation
* @Target("PROPERTY")
*/
final class JoinColumns extends Annotation {}
final class JoinColumns extends Annotation {
/** @var array<Doctrine\ORM\Mapping\JoinColumn> */
public $value;
}
/**
* @Annotation
* @Target("PROPERTY")
*/
final class Column extends Annotation {
public $type = 'string';
public $length;
// The precision for a decimal (exact numeric) column (Applies only for decimal column)
public $precision = 0;
// The scale for a decimal (exact numeric) column (Applies only for decimal column)
public $scale = 0;
public $unique = false;
public $nullable = false;
/** @var string */
public $name;
/** @var mixed */
public $type = 'string';
/** @var integer */
public $length;
/** @var integer */
public $precision = 0; // The precision for a decimal (exact numeric) column (Applies only for decimal column)
/** @var integer */
public $scale = 0; // The scale for a decimal (exact numeric) column (Applies only for decimal column)
/** @var boolean */
public $unique = false;
/** @var boolean */
public $nullable = false;
/** @var array */
public $options = array();
/** @var string */
public $columnDefinition;
}
@ -126,11 +158,17 @@ final class Column extends Annotation {
* @Target("PROPERTY")
*/
final class OneToOne extends Annotation {
/** @var string */
public $targetEntity;
/** @var string */
public $mappedBy;
/** @var string */
public $inversedBy;
/** @var array<string> */
public $cascade;
/** @var string */
public $fetch = 'LAZY';
/** @var boolean */
public $orphanRemoval = false;
}
@ -139,11 +177,17 @@ final class OneToOne extends Annotation {
* @Target("PROPERTY")
*/
final class OneToMany extends Annotation {
/** @var string */
public $mappedBy;
/** @var string */
public $targetEntity;
/** @var array<string> */
public $cascade;
/** @var string */
public $fetch = 'LAZY';
/** @var boolean */
public $orphanRemoval = false;
/** @var string */
public $indexBy;
}
@ -152,9 +196,13 @@ final class OneToMany extends Annotation {
* @Target("PROPERTY")
*/
final class ManyToOne extends Annotation {
/** @var string */
public $targetEntity;
/** @var array<string> */
public $cascade;
/** @var string */
public $fetch = 'LAZY';
/** @var string */
public $inversedBy;
}
@ -163,11 +211,17 @@ final class ManyToOne extends Annotation {
* @Target("PROPERTY")
*/
final class ManyToMany extends Annotation {
/** @var string */
public $targetEntity;
/** @var string */
public $mappedBy;
/** @var string */
public $inversedBy;
/** @var array<string> */
public $cascade;
/** @var string */
public $fetch = 'LAZY';
/** @var string */
public $indexBy;
}
@ -177,6 +231,7 @@ final class ManyToMany extends Annotation {
* @todo check available targets
*/
final class ElementCollection extends Annotation {
/** @var string */
public $tableName;
}
@ -185,9 +240,13 @@ final class ElementCollection extends Annotation {
* @Target("CLASS")
*/
final class Table extends Annotation {
/** @var string */
public $name;
/** @var string */
public $schema;
/** @var array<Doctrine\ORM\Mapping\Index> */
public $indexes;
/** @var array<Doctrine\ORM\Mapping\UniqueConstraint> */
public $uniqueConstraints;
}
@ -196,7 +255,9 @@ final class Table extends Annotation {
* @Target("ANNOTATION")
*/
final class UniqueConstraint extends Annotation {
/** @var string */
public $name;
/** @var array<string> */
public $columns;
}
@ -205,7 +266,9 @@ final class UniqueConstraint extends Annotation {
* @Target("ANNOTATION")
*/
final class Index extends Annotation {
/** @var string */
public $name;
/** @var array<string> */
public $columns;
}
@ -214,9 +277,13 @@ final class Index extends Annotation {
* @Target("PROPERTY")
*/
final class JoinTable extends Annotation {
/** @var string */
public $name;
/** @var string */
public $schema;
/** @var array<Doctrine\ORM\Mapping\JoinColumn> */
public $joinColumns = array();
/** @var array<Doctrine\ORM\Mapping\JoinColumn> */
public $inverseJoinColumns = array();
}
@ -225,8 +292,11 @@ final class JoinTable extends Annotation {
* @Target("PROPERTY")
*/
final class SequenceGenerator extends Annotation {
/** @var string */
public $sequenceName;
/** @var integer */
public $allocationSize = 1;
/** @var integer */
public $initialValue = 1;
}
@ -234,26 +304,37 @@ final class SequenceGenerator extends Annotation {
* @Annotation
* @Target("CLASS")
*/
final class ChangeTrackingPolicy extends Annotation {}
final class ChangeTrackingPolicy extends Annotation {
/** @var string */
public $value;
}
/**
* @Annotation
* @Target("PROPERTY")
*/
final class OrderBy extends Annotation {}
final class OrderBy extends Annotation {
/** @var array<string> */
public $value;
}
/**
* @Annotation
* @Target("CLASS")
*/
final class NamedQueries extends Annotation {}
final class NamedQueries extends Annotation {
/** @var array<Doctrine\ORM\Mapping\NamedQuery> */
public $value;
}
/**
* @Annotation
* @Target("ANNOTATION")
*/
final class NamedQuery extends Annotation {
/** @var string */
public $name;
/** @var string */
public $query;
}

@ -1 +1 @@
Subproject commit 174111c8d245d560e1af4c7455b730347f85686d
Subproject commit ef431a14852d7e8f2d0ea789487509ab266e5ce2

@ -1 +1 @@
Subproject commit edc628f7e7fa5a116b9b41838e7955c03f7af2e0
Subproject commit 3d82e0de13891fadddcec3006e30e250c6055b9e

View file

@ -15,7 +15,7 @@ class CompanyCar
private $id;
/**
* @Column(type="string", length="50")
* @Column(type="string", length=50)
*/
private $brand;

View file

@ -9,7 +9,7 @@ namespace Doctrine\Tests\Models\Company;
class CompanyManager extends CompanyEmployee
{
/**
* @Column(type="string", length="250")
* @Column(type="string", length=250)
*/
private $title;

View file

@ -22,7 +22,7 @@ class ECommerceProduct
private $id;
/**
* @Column(type="string", length=50, nullable="true")
* @Column(type="string", length=50, nullable=true)
*/
private $name;

View file

@ -14,10 +14,27 @@ require_once __DIR__ . '/../../TestInit.php';
*/
class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
{
/**
* @var \ReflectionProperty
*/
private $cacheDataReflection;
protected function setUp() {
$this->cacheDataReflection = new \ReflectionProperty("Doctrine\Common\Cache\ArrayCache", "data");
$this->cacheDataReflection->setAccessible(true);
$this->useModelSet('cms');
parent::setUp();
}
/**
* @param ArrayCache $cache
* @return integer
*/
private function getCacheSize(ArrayCache $cache)
{
return sizeof($this->cacheDataReflection->getValue($cache));
}
public function testQueryCache_DependsOnHints()
{
@ -27,12 +44,12 @@ class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
$query->setQueryCacheDriver($cache);
$query->getResult();
$this->assertEquals(1, count($cache->getIds()));
$this->assertEquals(1, $this->getCacheSize($cache));
$query->setHint('foo', 'bar');
$query->getResult();
$this->assertEquals(2, count($cache->getIds()));
$this->assertEquals(2, $this->getCacheSize($cache));
return $query;
}
@ -44,13 +61,13 @@ class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testQueryCache_DependsOnFirstResult($query)
{
$cache = $query->getQueryCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$query->setFirstResult(10);
$query->setMaxResults(9999);
$query->getResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
/**
@ -60,12 +77,12 @@ class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testQueryCache_DependsOnMaxResults($query)
{
$cache = $query->getQueryCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$query->setMaxResults(10);
$query->getResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
/**
@ -75,25 +92,28 @@ class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testQueryCache_DependsOnHydrationMode($query)
{
$cache = $query->getQueryCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$query->getArrayResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
public function testQueryCache_NoHitSaveParserResult()
{
$this->markTestSkipped("Needs to be migrated to common 2.2");
$this->_em->getConfiguration()->setQueryCacheImpl(new ArrayCache());
$query = $this->_em->createQuery('select ux from Doctrine\Tests\Models\CMS\CmsUser ux');
$cache = $this->getMock('Doctrine\Common\Cache\AbstractCache', array('_doFetch', '_doContains', '_doSave', '_doDelete', 'getIds'));
$cache = $this->getMock('Doctrine\Common\Cache\CacheProvider',
array('doFetch', 'doContains', 'doSave', 'doDelete', 'doFlush'));
$cache->expects($this->at(0))
->method('_doFetch')
->method('doFetch')
->with($this->isType('string'))
->will($this->returnValue(false));
$cache->expects($this->at(1))
->method('_doSave')
->method('doSave')
->with($this->isType('string'), $this->isInstanceOf('Doctrine\ORM\Query\ParserResult'), $this->equalTo(null));
$query->setQueryCacheDriver($cache);
@ -117,13 +137,14 @@ class QueryCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
->method('getSqlExecutor')
->will($this->returnValue($sqlExecMock));
$cache = $this->getMock('Doctrine\Common\Cache\AbstractCache', array('_doFetch', '_doContains', '_doSave', '_doDelete', 'getIds'));
$cache = $this->getMock('Doctrine\Common\Cache\CacheProvider',
array('doFetch', 'doContains', 'doSave', 'doDelete', 'doFlush'));
$cache->expects($this->once())
->method('_doFetch')
->method('doFetch')
->with($this->isType('string'))
->will($this->returnValue($parserResultMock));
$cache->expects($this->never())
->method('_doSave');
->method('doSave');
$query->setQueryCacheDriver($cache);

View file

@ -15,10 +15,26 @@ require_once __DIR__ . '/../../TestInit.php';
*/
class ResultCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
{
/**
* @var \ReflectionProperty
*/
private $cacheDataReflection;
protected function setUp() {
$this->cacheDataReflection = new \ReflectionProperty("Doctrine\Common\Cache\ArrayCache", "data");
$this->cacheDataReflection->setAccessible(true);
$this->useModelSet('cms');
parent::setUp();
}
/**
* @param ArrayCache $cache
* @return integer
*/
private function getCacheSize(ArrayCache $cache)
{
return sizeof($this->cacheDataReflection->getValue($cache));
}
public function testResultCache()
{
@ -125,9 +141,9 @@ class ResultCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
$cache = new ArrayCache();
$query->setResultCacheDriver($cache)->useResultCache(true);
$this->assertEquals(0, count($cache->getIds()));
$this->assertEquals(0, $this->getCacheSize($cache));
$query->getResult();
$this->assertEquals(1, count($cache->getIds()));
$this->assertEquals(1, $this->getCacheSize($cache));
return $query;
}
@ -139,12 +155,12 @@ class ResultCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testResultCacheDependsOnQueryHints($query)
{
$cache = $query->getResultCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$query->setHint('foo', 'bar');
$query->getResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
/**
@ -154,12 +170,12 @@ class ResultCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testResultCacheDependsOnParameters($query)
{
$cache = $query->getResultCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$query->setParameter(1, 50);
$query->getResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
/**
@ -169,12 +185,12 @@ class ResultCacheTest extends \Doctrine\Tests\OrmFunctionalTestCase
public function testResultCacheDependsOnHydrationMode($query)
{
$cache = $query->getResultCacheDriver();
$cacheCount = count($cache->getIds());
$cacheCount = $this->getCacheSize($cache);
$this->assertNotEquals(\Doctrine\ORM\Query::HYDRATE_ARRAY, $query->getHydrationMode());
$query->getArrayResult();
$this->assertEquals($cacheCount + 1, count($cache->getIds()));
$this->assertEquals($cacheCount + 1, $this->getCacheSize($cache));
}
/**

View file

@ -92,12 +92,12 @@ abstract class DDC258Super
class DDC258Class1 extends DDC258Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $title;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $description;
}
@ -108,12 +108,12 @@ class DDC258Class1 extends DDC258Super
class DDC258Class2 extends DDC258Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $title;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $description;
@ -131,12 +131,12 @@ class DDC258Class2 extends DDC258Super
class DDC258Class3 extends DDC258Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $apples;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $bananas;
}

View file

@ -111,7 +111,7 @@ class DDC522Cart {
class DDC522ForeignKeyTest {
/** @Id @Column(type="integer") @GeneratedValue */
public $id;
/** @Column(type="integer", name="cart_id", nullable="true") */
/** @Column(type="integer", name="cart_id", nullable=true) */
public $cartId;
/**
* @OneToOne(targetEntity="DDC522Cart")

View file

@ -49,14 +49,14 @@ class DDC698Role
protected $roleID;
/**
* @Column(name="name", type="string", length="45")
* @Column(name="name", type="string", length=45)
*
*
*/
protected $name;
/**
* @Column(name="shortName", type="string", length="45")
* @Column(name="shortName", type="string", length=45)
*
*
*/
@ -91,7 +91,7 @@ class DDC698Privilege
protected $privilegeID;
/**
* @Column(name="name", type="string", length="45")
* @Column(name="name", type="string", length=45)
*
*
*/

View file

@ -111,12 +111,12 @@ abstract class DDC837Super
class DDC837Class1 extends DDC837Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $title;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $description;
@ -132,12 +132,12 @@ class DDC837Class1 extends DDC837Super
class DDC837Class2 extends DDC837Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $title;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $description;
@ -160,12 +160,12 @@ class DDC837Class2 extends DDC837Super
class DDC837Class3 extends DDC837Super
{
/**
* @Column(name="title", type="string", length="150")
* @Column(name="title", type="string", length=150)
*/
public $apples;
/**
* @Column(name="content", type="string", length="500")
* @Column(name="content", type="string", length=500)
*/
public $bananas;
}

View file

@ -124,7 +124,7 @@ class DDC992Role
*/
public $roleID;
/**
* @Column (name="name", type="string", length="45")
* @Column (name="name", type="string", length=45)
*/
public $name;
/**

View file

@ -220,7 +220,7 @@ abstract class HierachyBase
{
/**
* @Column(type="integer") @Id @GeneratedValue(strategy="SEQUENCE")
* @SequenceGenerator(sequenceName="foo", initialValue="10")
* @SequenceGenerator(sequenceName="foo", initialValue=10)
* @var int
*/
public $id;
@ -286,7 +286,7 @@ abstract class SuperclassBase
{
/**
* @Column(type="integer") @Id @GeneratedValue(strategy="SEQUENCE")
* @SequenceGenerator(sequenceName="foo", initialValue="10")
* @SequenceGenerator(sequenceName="foo", initialValue=10)
* @var int
*/
public $id;