Skip to content

Commit

Permalink
Merge pull request #688 from sellingsource/master
Browse files Browse the repository at this point in the history
Implement QuoteStrategy on SqlWalker walkRangeVariableDeclaration
  • Loading branch information
guilhermeblanco committed Jun 12, 2013
2 parents 0a90279 + 4ef043f commit 6ef4856
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/Doctrine/ORM/Query/SqlWalker.php
Original file line number Diff line number Diff line change
Expand Up @@ -844,8 +844,8 @@ public function walkRangeVariableDeclaration($rangeVariableDeclaration)

$this->rootAliases[] = $dqlAlias;

$sql = $class->getQuotedTableName($this->platform) . ' '
. $this->getSQLTableAlias($class->getTableName(), $dqlAlias);
$sql = $this->quoteStrategy->getTableName($class,$this->platform) . ' '
. $this->getSQLTableAlias($class->getTableName(), $dqlAlias);

if ($class->isInheritanceTypeJoined()) {
$sql .= $this->_generateClassTableInheritanceJoins($class, $dqlAlias);
Expand Down Expand Up @@ -875,7 +875,7 @@ public function walkJoinAssociationDeclaration($joinAssociationDeclaration, $joi
$relation = $this->queryComponents[$joinedDqlAlias]['relation'];
$targetClass = $this->em->getClassMetadata($relation['targetEntity']);
$sourceClass = $this->em->getClassMetadata($relation['sourceEntity']);
$targetTableName = $targetClass->getQuotedTableName($this->platform);
$targetTableName = $this->quoteStrategy->getTableName($targetClass,$this->platform);

$targetTableAlias = $this->getSQLTableAlias($targetClass->getTableName(), $joinedDqlAlias);
$sourceTableAlias = $this->getSQLTableAlias($sourceClass->getTableName(), $associationPathExpression->identificationVariable);
Expand Down Expand Up @@ -930,7 +930,7 @@ public function walkJoinAssociationDeclaration($joinAssociationDeclaration, $joi
// Join relation table
$joinTable = $assoc['joinTable'];
$joinTableAlias = $this->getSQLTableAlias($joinTable['name'], $joinedDqlAlias);
$joinTableName = $sourceClass->getQuotedJoinTableName($assoc, $this->platform);
$joinTableName = $this->quoteStrategy->getJoinTableName($assoc, $sourceClass, $this->platform);

$conditions = array();
$relationColumns = ($relation['isOwningSide'])
Expand Down
11 changes: 11 additions & 0 deletions tests/Doctrine/Tests/ORM/Query/SelectSqlGenerationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1846,6 +1846,17 @@ public function testColumnNameWithNumbersAndNonAlphanumericCharacters()
);
}

/**
* @group DDC-1845
*/
public function testQuotedTableDeclaration()
{
$this->assertSqlGeneration(
'SELECT u FROM Doctrine\Tests\Models\Quote\User u',
'SELECT q0_."user-id" AS userid0, q0_."user-name" AS username1 FROM "quote-user" q0_'
);
}

/**
* @group DDC-1845
*/
Expand Down

0 comments on commit 6ef4856

Please sign in to comment.