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
Vaughn Clayton
ae30ce4596
[DDC-2113] Surround WHERE clause with parens if using SQLFilter
2012-11-02 08:48:57 -04:00
jakoch
d4a6c488ca
fixed use statements
2012-10-12 13:53:20 +02:00
Benjamin Eberlei
235ad8e553
[DDC-2052] Add SqlWalker::setQueryComponent() to allow modification of the query component in a custom output walker
2012-10-06 11:16:16 +02:00
Fabio B. Silva
dd984c7319
remove extra line
2012-09-29 16:19:03 -03:00
Fabio B. Silva
1bd6e841bf
Fix some CS
2012-09-29 16:19:02 -03:00
Fabio B. Silva
f0403a5394
test literal values
2012-09-29 16:19:00 -03:00
Fabio B. Silva
e5e45a3a5c
test sql generation
2012-09-29 16:18:59 -03:00
Fabio B. Silva
af2f556fd3
small refactory
2012-09-29 16:18:59 -03:00
Fabio B. Silva
88f04b5ebd
parse nested new operators
2012-09-29 16:18:58 -03:00
Fabio B. Silva
2b403b7dad
basic support refactory
2012-09-29 16:18:58 -03:00
Fabio B. Silva
0fbb78e61a
basic support, need some code refactory and improvements
2012-09-29 16:18:57 -03:00
Fabio B. Silva
ed89695a8c
collect new object parameters
2012-09-29 16:18:57 -03:00
Fabio B. Silva
0e60c50c5e
small code refactoring
2012-09-29 16:18:56 -03:00
Fabio B. Silva
0c1a8cd43f
sql generation
2012-09-29 16:18:56 -03:00
Fabio B. Silva
7800a7ef3f
wrong indentation
2012-06-18 15:31:20 -03:00
Fabio B. Silva
85b6f8dc2f
change quote strategy to interface
2012-06-18 14:43:00 -03:00
Fabio B. Silva
b6b35d9482
test quote join variable
2012-06-18 14:43:00 -03:00
Fabio B. Silva
db53b8651c
apply quote strategy at sqlwalker
2012-06-18 14:42:53 -03:00
Fabio B. Silva
d49a968d55
tests for DDC-1719
2012-06-18 14:42:53 -03:00
Fabio B. Silva
1bcda5147a
inject quote strategy into sql walker
2012-06-18 14:42:53 -03:00
Guilherme Blanco
41a650b699
Updated PoC for multiple components DQL support.
2012-06-18 17:01:52 +02:00
Alexander
e7dfa08756
[PoC] Arbitrary join support
2012-06-18 17:00:37 +02:00
Olivier Dolbeau
79a9ce5000
Add some corrections
2012-06-05 21:32:53 +02:00
Olivier Dolbeau
7ca0ac289e
Remove tabs & trailing spaces
2012-06-05 15:46:10 +02:00
Guilherme Blanco
1635e0af4b
[DDC-1840] Implemented parameters as a collection.
2012-05-28 12:16:42 -04:00
Benjamin Eberlei
70458b2f48
LGPL => MIT
2012-05-26 14:37:00 +02:00
Benjamin Eberlei
ab15528fde
Fix CS: AS => as in foreach loops.
2012-03-24 11:16:32 +01:00
Fabio B. Silva
797c9cf70e
supports simple math operator
2012-03-12 20:26:39 -03:00
Fabio B. Silva
df0632258a
Order by clause support case expressions
2012-03-12 20:26:38 -03:00
Fabio B. Silva
ce9643bce1
Order by clause support functions
2012-03-12 20:26:38 -03:00
Guilherme Blanco
7954386705
DDC-1696 Allowed Strings to be used inside of Case expressions. It seems this fixes other misterious use cases not yet identified by us.
2012-03-11 21:14:08 -04:00
Benjamin Eberlei
0a78f7bc11
[DDC-1695] Fix bug in SQL Walker array hydration with escaped fields.
2012-03-11 23:27:51 +01:00
Benjamin Eberlei
79d9c07652
[DDC-1693] Fix fatal errors in DQL when using Optimistic or None lock modes. Added tests.
2012-03-11 22:29:20 +01:00
Benjamin Eberlei
1bbd52b8ee
[DDC-1652] Fix SqlWalker to include foreign key identifiers in SQL SELECT statement no matter what the meta column setting is suggesting.
2012-02-20 17:48:34 +01:00
Thomas Rabaix
8027fca378
Add SqlWalker::HINT_DISTINCT constant
2012-01-25 00:03:40 +01:00
Thomas Rabaix
d9bb861b1f
Fix DDC-1618 - add more check before throwing an iterateWithFetchJoinNotAllowed exception
2012-01-25 00:03:40 +01:00
Guilherme Blanco
ea14bcff4a
Fixed DDC-657. Added type conversion to scalar result.
2012-01-13 20:46:59 -05:00
Miloslav Kmet
ae4321b4e3
[DDC-1572] Allow LIKE pattern to be a function or path expression
2011-12-29 19:51:48 +01:00
Benjamin Eberlei
b1b10042d2
Revert "Fixed issue with fetched association not being considered during changeSet calculation. Fixes DDC-1545."
...
This reverts commit a8478d5766
.
2011-12-19 16:31:26 +01:00
Guilherme Blanco
a8478d5766
Fixed issue with fetched association not being considered during changeSet calculation. Fixes DDC-1545.
2011-12-19 01:39:48 -05:00
Benjamin Eberlei
003d1410b0
Merge pull request #224 from doctrine/DDC-551
...
DDC-551 - Filter branch
2011-12-18 08:03:23 -08:00
Andrew Mackrodt
2fdb55a878
Added absolute namespace paths to phpdoc annotations - issue DDC-1025.
2011-12-11 21:56:26 +00:00
Benjamin Eberlei
b6d776f75d
DDC-551 - rework walker filtering
2011-12-11 21:14:09 +01:00
Alexander
5e91f0c1ca
[DDC-551] Update SQLWalker to reflect filter requirements for inheritance
2011-12-07 10:02:15 +01:00
Alexander
efe7a01482
[DDC-551] Fixed CS, comments by @stof
2011-12-05 23:00:52 +01:00
Alexander
f4663f4512
[DDC-551] Another batch of small refactorings
2011-12-05 22:19:54 +01:00
Alexander
e8d30068e2
[DDC-551] Various refactorings
2011-12-05 22:05:42 +01:00
Alexander
04635ad4ff
Merge remote-tracking branch 'upstream/master' into DDC-551
...
Conflicts:
lib/Doctrine/ORM/Persisters/ManyToManyPersister.php
lib/Doctrine/ORM/Persisters/OneToManyPersister.php
2011-12-05 21:53:34 +01:00
Alexander
3b7d16c60f
[DDC-551] General cleanup of the code.
2011-12-05 21:14:31 +01:00
Guilherme Blanco
0380d5ae58
Implemented multiple enhancements in InExpression support for DQL. Fixed DDC-1472 and DDC-1416.
2011-12-04 02:41:54 -05:00
Guilherme Blanco
2f6b930a8d
Implemented missing support in CollectionMemberComparison. Removed old todo in ArrayHydrator. Finished implementation of IdentificationVariable in ArithmeticPrimary.
2011-12-03 15:19:21 -05:00
Guilherme Blanco
2642daa438
Fixed DDC-1236: GROUP BY now supports ResultVariable and IdentificationVariable. Composite PK is also supported. If you are willing to group by an aggregate function or a function itself, just place it in SELECT expression then refer to it in the GROUP BY clause. If you are not willing to have the function being part of your resultset, just mark the column as HIDDEN and you are done.
2011-12-01 23:52:35 -05:00
Alexander
be48821e86
Merge remote-tracking branch 'origin/master' into DDC-551
...
Conflicts:
lib/Doctrine/ORM/Persisters/BasicEntityPersister.php
lib/Doctrine/ORM/Query.php
2011-11-23 22:43:42 +01:00
jsor
16aa558292
Remove sql conversion from where clauses and update statements
2011-11-21 15:08:36 +01:00
Jan Sorgalla
841d12e9b6
Move check for conversion SQL to ClassMetadataInfo
2011-11-20 19:50:51 +01:00
Jan Sorgalla
6f35679911
Initial implementation of Doctrine\DBAL\Types\Type::convertToDatabaseValueSQL() and Doctrine\DBAL\Types\Type::convertToPHPValueSQL() integration
2011-11-19 00:35:29 +01:00
Fabio B. Silva
aeb2ab132b
group by all fields when entity has foreign keys
2011-11-15 20:27:45 -02:00
Fabio B. Silva
3dd5d14977
Fixed DDC-1430
2011-11-15 14:28:57 -02:00
Guilherme Blanco
45d95ad130
Fixed wrong indentation by my previous commit.
2011-11-15 01:09:48 -02:00
Guilherme Blanco
81cc6d9da8
Implemented alias support for EntityResult. This addresses DDC-1096 and DDC-1424. Improved DQL Parser, SQL Walker and Hydrators in general. Performance is generally improved by a factor of 20%. There is still more to be done, like remove the isMixed in ResultSetMapping, mainly because this query - SELECT u AS user FROM User u -, it should return an array('user' => [User object]), while currently it doesn't due to this before mentioned 'bug' in RSM. Will open a separate ticket for this. Also, UnitOfWork and Hydrators share code that could be abstracted/improved.
2011-11-14 01:36:39 -02:00
Guilherme Blanco
305da5b8ff
Added missing indexBy.
2011-11-03 02:49:50 -02:00
Guilherme Blanco
3c31d88810
Major optimizations in SqlWalker code, reducing overhead, reducing lookahead checks.
2011-11-03 02:44:50 -02:00
Alexander
53055f1fb2
[DDC-551] Fixed a bug in the sql generation for filters
2011-11-02 15:15:22 +01:00
Benjamin Eberlei
c38d273c1f
Merge pull request #151 from doctrine/DDC-1385
...
DDC-1385
2011-10-31 15:10:54 -07:00
Guilherme Blanco
d444f0e06b
Micro optimization in SqlWalker.
2011-10-30 16:22:45 -02:00
Benjamin Eberlei
64d405f7dd
Merge origin/master into DDC-1384
2011-10-30 12:12:18 +01:00
Guilherme Blanco
0ec2cc557f
Implemented support to entities with association marked as @Id support in many situations. Fixed DDC-1435.
2011-10-29 02:00:35 -02:00
Guilherme Blanco
3745e948c6
Made SimpleSelectExpression (Literal) be included as a scalar result. More general SQL Walker optimizations.
2011-10-28 14:25:12 -02:00
Guilherme Blanco
1f06e9fca5
Fixed issue with SimpleSelectExpression containing Literals. This issue is related to a previously fixed ticket DDC-1079.
2011-10-28 12:56:14 -02:00
Alexander
079e2b1302
[DDC-1384] Fix for generating sql with aliases not longer than MaxIdentifierLength
2011-10-22 16:27:56 +02:00
Alexander
07ce4092cd
Merge branch 'master' into DDC-551
2011-10-21 12:04:29 +02:00
Benjamin Eberlei
8466060797
DDC-1385 - Add INDEX BY scalar variables on the top-level
2011-10-16 19:23:20 +02:00
Guilherme Blanco
772b413579
Fixed bug with boolean values being converted to string.
2011-10-15 00:23:55 -03:00
Alexander
097d573d26
Merge branch 'master' into DDC-551
...
Conflicts:
lib/Doctrine/ORM/Configuration.php
lib/Doctrine/ORM/Persisters/BasicEntityPersister.php
lib/Doctrine/ORM/Persisters/ManyToManyPersister.php
2011-10-14 12:33:39 +02:00
Guilherme Blanco
ebe933810e
Implemented HIDDEN support in DQL. Fixes DDC-1363.
2011-10-03 02:07:07 -03:00
Guilherme Blanco
9795cb1f0d
Subqueries should never add items to ResultSetMapping. Fixing possible broken inclusion.
2011-09-21 17:35:38 -03:00
Guilherme Blanco
a86038b484
Fixed issue with CaseExpression not working in Subselects.
2011-09-21 17:30:45 -03:00
Alexander
63a3fb5ad8
[DDC-551] Moved SQLFilter logic to a separate FilterCollection class
2011-09-15 21:38:47 +02:00
Guilherme Blanco
e3d133af04
Added getQuotedTableName() in missing places of Doctrine ORM. Fixes DDC-1365.
2011-09-07 01:48:19 -03:00
Guilherme Blanco
6bbf2d9da3
Added support for ResultVariable referencing in ArithmeticPrimary. Fixes DDC-1346.
2011-09-05 03:16:01 -03:00
Alexander
ed0fb4ece7
Merge branch 'master' into DDC-551
...
Conflicts:
lib/Doctrine/ORM/Persisters/OneToManyPersister.php
2011-08-16 16:59:48 +02:00
Alexander
3b1ddb0346
[DDC-551] Added filters to SQLWalker
2011-08-16 12:21:43 +02:00
Guilherme Blanco
6857134f36
Fixed issue with duplicated commas if Entity has no fields.
2011-08-15 12:47:17 -03:00
Guilherme Blanco
f148912a28
[DDC-934][DDC-1100][DDC-1331] Implemented support to multi-values in INSTANCE OF expression.
2011-08-15 01:53:56 -03:00
Guilherme Blanco
a0ca506db7
Added support to SingleValuePathExpression in ORDER BY.
2011-08-14 00:46:02 -03:00
Guilherme Blanco
816ce41f63
Added support to CaseExpression. Added support to nest AndX and OrX QueryBuilder composite expressions, since they do not mess with generated queries.
2011-08-08 02:09:25 -03:00
Benjamin Eberlei
196632978c
DDC-1298 - Fix bug in SQLWalker with derived entities that have no fields of their own.
2011-07-27 23:22:20 +02:00
Alexander
65f7e897b5
[DDC-1294] Add discriminator information to subselects
2011-07-26 00:19:26 +02:00
Benjamin Eberlei
ed516edf90
Fix discriminator casing problem in Oracle
2011-06-26 17:49:34 +02:00
Guilherme Blanco
699ccfddb6
Implemented COALESCE and NULLIF support in DQL.
2011-06-17 16:16:22 -03:00
Benjamin Eberlei
1038a866a4
DDC-1194 - Improve error handling for DQL INSTANCE OF
2011-06-05 10:48:21 +02:00
Benjamin Eberlei
9ea03de84f
DDC-1080 - Fix bug with hydration of derived entities/foreign key as primary key.
2011-05-17 23:42:24 +02:00
Guilherme Blanco
54a0109d5d
[DDC-1147] Allowed usage of 0-based input parameters in DQL.
2011-05-11 17:30:42 -03:00
Benjamin Eberlei
bda15231da
[DDC-1077] Bugfix in not handling literals in Select Expressions.
2011-03-27 21:10:50 +02:00
Benjamin Eberlei
edfdbe10a0
[DDC-1053] Fix bug with usage of identification variables in GroupByItem.
2011-03-20 14:07:33 +01:00
Guilherme Blanco
505d9e2154
[DDC-1036] Modified the AggregateExpressions to support SimpleArithmeticExpression instead of StateFieldPathExpression.
2011-02-20 01:44:05 -03:00
Guilherme Blanco
70d2cbe857
[DDC-982] Implemented more unique sql table alias.
2011-02-20 01:30:58 -03:00
Guilherme Blanco
dcf358f154
Fixed some warnings from phpunit.
2011-02-19 19:50:58 -02:00
Benjamin Eberlei
7390030854
Merge branch 'DDC-250'
2011-02-05 11:44:00 +01:00