[DBAL-129] Doctrine\ORM\Mapping\ClassMetadataInfo does not properly handle identifier quoting Created: 10/Jun/11 Updated: 17/Jun/11 Resolved: 15/Jun/11 |
|
| Status: | Resolved |
| Project: | Doctrine DBAL |
| Component/s: | None |
| Affects Version/s: | 2.0.4 |
| Fix Version/s: | 2.0.6 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Patrick Schwisow | Assignee: | Juozas Kaziukenas |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Description |
|
Several methods in Doctrine\ORM\Mapping\ClassMetadataInfo assume that table names and field names may be quoted. In all places, logic assumes that the quote character will always be ` (backtick). There seems to be no way to properly quote table names with [] (square brackets) when working with SQL Server databases. |
| Comments |
| Comment by Benjamin Eberlei [ 11/Jun/11 ] |
|
Just use `foo` as quotes, its just an abstract concept, doctrine will translate that to [foo] in MsSQL. |
| Comment by Patrick Schwisow [ 13/Jun/11 ] |
|
I don't see how that would work. It appears that DBAL\Platforms\AbstractPlatform::quoteIdentifier assumes that the opening and closing quotes are the same. In the case of MS SQL, it appears to use the double quote, not square brackets. |
| Comment by Benjamin Eberlei [ 15/Jun/11 ] |
|
Assigned to Juokaz |
| Comment by Benjamin Eberlei [ 15/Jun/11 ] |
|
Fixed |