1
0
mirror of synced 2024-12-13 14:56:01 +03:00
Doctrine 2 Object Relational Mapper (ORM)
Go to file
Gordon Stratton 9e916a2893 Fix for invalid 'double-ON' SQL generation with entity inheritance type JOINED.
In SqlWalker::walkJoin(), SqlWalker::walkRangeVariableDeclaration() can be
called which may produce an 'ON' clause if the entity inheritance type is
JOINED. As walkJoin() may then produce another ON clause, this results in
invalid SQL (e.g. '... ON foo = bar ON (baz = quux) ...' when the inheritance
type is JOINED.

This adds a test and a fix for the problem, by checking for an inheritance type
of JOINED in walkJoin() and using AND instead of ON in the appropriate place.

It seems like this part of the code is begging to be refactored. This is my
first foray into Doctrine internals and can't see a way to do this without
stomping all over the rest of the code, but this section seems ripe for cleanup
by somebody who is familiar.
2012-11-05 01:19:25 -08:00
bin set permissions as expected by composer.phar update 2012-06-11 11:40:23 -04:00
lib Fix for invalid 'double-ON' SQL generation with entity inheritance type JOINED. 2012-11-05 01:19:25 -08:00
tests Fix for invalid 'double-ON' SQL generation with entity inheritance type JOINED. 2012-11-05 01:19:25 -08:00
tools/sandbox [2.3] Use HelperSet in cli-config.php 2012-07-29 09:09:17 +02:00
.gitignore Removing code duplication, reusing Doctrine\Common\Persistenc\Mapping\Driver\AnnotationDriver 2012-07-04 20:59:20 +02:00
.gitmodules changed submodule doctrine-build-common url 2012-01-21 23:38:55 +02:00
.travis.yml Merge travis support from @pborreli - thanks! 2011-11-13 17:44:37 +01:00
build.properties Prepare 2.2 beta 2011-12-20 22:38:38 +01:00
build.properties.dev Add support to distribute the XSD to a given directory during build process 2011-08-27 13:23:17 +02:00
build.xml [DDC-1807] Fix composer bin support and keep BC with PEAR installer. 2012-05-22 20:26:03 +02:00
composer.json Optimize autoload prefix in composer.json 2012-09-28 09:58:38 +03:00
doctrine-mapping.xsd support for attribute override 2012-04-21 01:43:18 -03:00
LICENSE LGPL => MIT 2012-05-26 14:37:00 +02:00
phpunit.xml.dist Switch testsuite to run with phpunit.ini.dist from main folder, not using AllTests approach. Fixed global state problem in tests that was caused by EventManager being reused. Significantly enhanced error message about cascade persist 2011-06-18 22:47:21 +02:00
README.markdown Fix the documentation link in the README 2012-06-18 17:11:03 +02:00
run-all.sh Add convenience helper for running tests against multiple different databases 2011-06-18 23:23:43 +02:00
UPGRADE.md Restoring class names extending the Doctrine\Common implementation for BC compatibility 2012-07-10 13:57:33 +02:00

Doctrine 2 ORM

Master: Build Status 2.2: Build Status 2.1: Build Status

Doctrine 2 is an object-relational mapper (ORM) for PHP 5.3.2+ that provides transparent persistence for PHP objects. It sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL. This provides developers with a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication.

More resources: