123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- <?php
- namespace Doctrine\Tests\ORM\Functional\Ticket;
- use Doctrine\Common\Collections\ArrayCollection;
- use Doctrine\Tests\Models\CMS\CmsUser;
- use Doctrine\Tests\Models\CMS\CmsGroup;
- require_once __DIR__ . '/../../../TestInit.php';
- class DDC832Test extends \Doctrine\Tests\OrmFunctionalTestCase
- {
- public function setUp()
- {
- parent::setUp();
- $platform = $this->_em->getConnection()->getDatabasePlatform();
- if ($platform->getName() == "oracle") {
- $this->markTestSkipped('Doesnt run on Oracle.');
- }
- $this->_em->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger());
- try {
- $this->_schemaTool->createSchema(array(
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC832JoinedIndex'),
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC832JoinedTreeIndex'),
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC832Like'),
- ));
- } catch(\Exception $e) {
- }
- }
- public function tearDown()
- {
- /* @var $sm \Doctrine\DBAL\Schema\AbstractSchemaManager */
- $platform = $this->_em->getConnection()->getDatabasePlatform();
- $sm = $this->_em->getConnection()->getSchemaManager();
- $sm->dropTable($platform->quoteIdentifier('TREE_INDEX'));
- $sm->dropTable($platform->quoteIdentifier('INDEX'));
- $sm->dropTable($platform->quoteIdentifier('LIKE'));
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableBasicUpdate()
- {
- $like = new DDC832Like("test");
- $this->_em->persist($like);
- $this->_em->flush();
- $like->word = "test2";
- $this->_em->flush();
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableBasicRemove()
- {
- $like = new DDC832Like("test");
- $this->_em->persist($like);
- $this->_em->flush();
- $this->_em->remove($like);
- $this->_em->flush();
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableJoinedUpdate()
- {
- $index = new DDC832JoinedIndex("test");
- $this->_em->persist($index);
- $this->_em->flush();
- $index->name = "asdf";
- $this->_em->flush();
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableJoinedRemove()
- {
- $index = new DDC832JoinedIndex("test");
- $this->_em->persist($index);
- $this->_em->flush();
- $this->_em->remove($index);
- $this->_em->flush();
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableJoinedChildUpdate()
- {
- $index = new DDC832JoinedTreeIndex("test", 1, 2);
- $this->_em->persist($index);
- $this->_em->flush();
- $index->name = "asdf";
- $this->_em->flush();
- }
- /**
- * @group DDC-832
- */
- public function testQuotedTableJoinedChildRemove()
- {
- $index = new DDC832JoinedTreeIndex("test", 1, 2);
- $this->_em->persist($index);
- $this->_em->flush();
- $this->_em->remove($index);
- $this->_em->flush();
- }
- }
- /**
- * @Entity
- * @Table(name="`LIKE`")
- */
- class DDC832Like
- {
- /**
- * @Id @Column(type="integer") @GeneratedValue
- */
- public $id;
- /** @Column(type="string") */
- public $word;
- /**
- * @version
- * @Column(type="integer")
- */
- public $version;
- public function __construct($word)
- {
- $this->word = $word;
- }
- }
- /**
- * @Entity
- * @Table(name="`INDEX`")
- * @InheritanceType("JOINED")
- * @DiscriminatorColumn(name="discr", type="string")
- * @DiscriminatorMap({"like" = "DDC832JoinedIndex", "fuzzy" = "DDC832JoinedTreeIndex"})
- */
- class DDC832JoinedIndex
- {
- /**
- * @Id @Column(type="integer") @GeneratedValue
- */
- public $id;
- /** @Column(type="string") */
- public $name;
- /**
- * @version
- * @Column(type="integer")
- */
- public $version;
- public function __construct($name)
- {
- $this->name = $name;
- }
- }
- /**
- * @Entity
- * @Table(name="`TREE_INDEX`")
- */
- class DDC832JoinedTreeIndex extends DDC832JoinedIndex
- {
- /** @Column(type="integer") */
- public $lft;
- /** @Column(type="integer") */
- public $rgt;
- public function __construct($name, $lft, $rgt)
- {
- $this->name = $name;
- $this->lft = $lft;
- $this->rgt = $rgt;
- }
- }
|