1
0
mirror of synced 2024-12-15 23:56:02 +03:00
Commit Graph

259 Commits

Author SHA1 Message Date
guilhermeblanco
ae4f823f26 [2.0] Added support to complex PathExpression in DQL queries 2009-12-31 22:53:20 +00:00
guilhermeblanco
d8ed3387c2 [2.0] Added support to complex PathExpression in DQL queries 2009-12-31 22:51:02 +00:00
guilhermeblanco
2195894ad3 [2.0] Added support to complex PathExpression in DQL queries 2009-12-31 22:50:44 +00:00
guilhermeblanco
3928ba9dac [2.0] Added support to complex PathExpression in DQL queries 2009-12-31 22:48:51 +00:00
guilhermeblanco
262855a66c [2.0] Refactorings in DQL parser to allow more granular enhancements scheduled for later versions. Fixed issues with missing validations of invalid ResultVariable, Unknown query components and Re-declaration of query compoenents. 2009-12-27 03:26:15 +00:00
romanb
27e8023b9b [2.0][DDC-152] Fixed. 2009-12-19 13:38:54 +00:00
beberlei
3e823f065a [2.0] DDC-176 - Disallow iterate() over fetch-join collections by the means of an exception on parsing the DQL query. 2009-12-08 20:53:01 +00:00
romanb
555b097641 [2.0][DDC-164][DDC-165] Fixed. Cleaned up ManyToManyMapping. Cleaned up identifier handling and handling of composite identifiers in some places. 2009-11-21 18:52:02 +00:00
beberlei
a9d739a743 [2.0] Refactor Exceptions from Query and AST\InputParameter into QueryException class. 2009-11-21 17:04:17 +00:00
beberlei
26a2ec2e63 DDC-127 - Special Case with invalid input parameter in DQL leads to php notice instead of an exception. 2009-11-21 13:18:45 +00:00
romanb
3a282b1e9c [2.0][DDC-141] Fixed. 2009-11-13 10:11:14 +00:00
beberlei
93b20427c9 [2.0] Fix Tab Formating in ParserResult class, added doc-comments and fixed a missing variable initialization error for certain query special cases. 2009-11-06 17:03:59 +00:00
guilhermeblanco
4a861f08a8 [2.0] More refactorings in Annotations parser and DQL parser. Now they only use constants instead of string processment 2009-11-04 01:52:40 +00:00
guilhermeblanco
e05ec39ff3 [2.0] Moved string tokens to be constants. No more string comparisons inside parser 2009-11-03 21:42:58 +00:00
jwage
a0c9e9db8d [2.0] Fixing casing issue 2009-10-30 20:24:50 +00:00
romanb
aa72619c5d [2.0][DDC-55] Fixed. 2009-10-28 11:29:29 +00:00
romanb
5b60f87859 [2.0] Fixed some known issues with inheritance, especially class table inheritance, like join columns not being selected. 2009-10-22 19:12:00 +00:00
romanb
2a16782528 [2.0][DDC-56] Fixed. 2009-10-18 20:36:02 +00:00
romanb
5842411afe [2.0][DDC-49][DDC-50][DDC-33] Fixed DDC-49 and DDC-50. Also addressed DDC-33. Various other small changes and fixes. For problems with proxy objects please refer to the updated documentation. 2009-10-15 14:39:43 +00:00
romanb
b9f744893e [2.0][DDC-42] Fixed. 2009-10-13 10:48:46 +00:00
jwage
968ebb80c2 [2.0] Bug fixes 2009-10-04 19:35:47 +00:00
romanb
320d21e2be [2.0] Refactored classloader architecture. Renamed ClassLoader => GlobalClassLoader. Introduced IsolatedClassLoader that is suitable for participating in autoload stacks. Added 2 example entity classes to the sandbox with 2 xml mappings and 2 yaml mappings. Simplified sandbox setup. 2009-09-11 19:50:48 +00:00
jwage
d10daf35f2 [2.0] Changing Expr static methods to be normal public methods (closes #2466) 2009-09-08 22:19:03 +00:00
guilhermeblanco
32d21879e9 [2.0] Added some missing headers in some classes. Added API docs for Expr class 2009-09-05 20:05:39 +00:00
romanb
733c3c24f7 [2.0] Various necessary fixes and adjustments for oracle as well as fixes for better handling of temporal types. Closed #2452. 2009-08-28 17:25:28 +00:00
jwage
f83fd8e950 [2.0] Updating exceptions to use methods so that we can later provide better exception messages 2009-08-26 22:03:39 +00:00
guilhermeblanco
0612e6b0a6 [2.0] Removed not used class. 2009-08-20 03:34:15 +00:00
guilhermeblanco
842267c11c [2.0] Refactored pieces of QueryBuilder, it does not use string concatenation anymore. Splitted from into from and join, allowing update and delete DQLs to be correctly built. Added missing entry set. Removed Expr\Having because it was useless. Updated docs. 2009-08-20 02:59:42 +00:00
guilhermeblanco
e5a95bf363 [2.0] More documentation and fixes to QueryBuilder and Expr classes. 2009-08-17 23:30:41 +00:00
romanb
3d17cb0d60 [2.0] Applied fixes for character casing issues. Simplified inheritance mapping and improved handling of outer joins in Class Table Inheritance. 2009-08-17 17:58:16 +00:00
romanb
d8c8078302 [2.0] Small optimization. 2009-08-16 17:42:04 +00:00
romanb
32069cc2b5 [2.0] More preparations to fix character casing issue. Reverted and completed ConditionalPrimary parsing and added more tests for this. 2009-08-16 16:36:00 +00:00
romanb
ebb432bfb8 [2.0] Preparing to address character casing issue. 2009-08-15 18:11:51 +00:00
guilhermeblanco
cf77048ee4 [2.0] Fixed issue with functions accepting subqueries. Implemented missing Expr\Join class. Added Expr::*join helper functions. 2009-08-14 22:50:36 +00:00
guilhermeblanco
b0202f2921 [2.0] Fixed issue with missing parenthesis in Math expressions 2009-08-14 21:03:27 +00:00
guilhermeblanco
c81affb9f7 [2.0] Some fixes in Expr. More documentation added. 2009-08-14 20:46:43 +00:00
romanb
e578bad687 [2.0] Fixed several referential integrity issues. Fixed critical issue with inserts being run twice on postgresql/oracle. Added support for additional tree walkers that modify the AST prior to SQL construction and started to play with it in a testcase. 2009-08-13 10:13:06 +00:00
guilhermeblanco
8452108e21 [2.0] Some code reordering, changes. Removed classMetadata from RangeVariableDeclaration, since it is against AST concept. 2009-08-13 02:17:27 +00:00
guilhermeblanco
7c6dc8b701 [2.0] Removed wrong echo of DQL parser 2009-08-11 22:14:43 +00:00
guilhermeblanco
f1481d9506 [2.0] Added dump function for AST nodes to help debugging complex queries 2009-08-11 22:11:33 +00:00
romanb
8797921937 [2.0] Removed AssociationMappings from ResultSetMapping for improved caching. Fixed caching issue with reflection classes and properties. Reimplemented and leaned up broken identifier quoting. Added support for named (native) queries. Fixed small hydration memory leak. 2009-08-11 10:51:38 +00:00
guilhermeblanco
103cdf5778 [2.0] More docblocks. Renamed methods Type::addCustomType to Type::addType and Connection::exec to Connection::executeUpdate. Added Type::hasType. 2009-08-10 22:43:27 +00:00
guilhermeblanco
c5828271cc [2.0] More docblocks and changed exception thrown in Annotations parser 2009-08-08 23:16:13 +00:00
guilhermeblanco
ac5fe1f91b [2.0] Some Annotations parser docblocks, optimizations, etc. Fixed wrong syntax error token report in DQL parser 2009-08-07 21:47:21 +00:00
guilhermeblanco
33fc28ffbd [2.0] Updated AST nodes to use public properties instead of setter/getter methods. 2009-08-06 21:42:07 +00:00
guilhermeblanco
f087a0058b [2.0] Started refactoring of AST nodes to use public properties instead of getter/setter methods 2009-08-06 15:48:41 +00:00
guilhermeblanco
401235d7ca [2.0] Started refactoring of AST nodes to use public properties instead of getter/setter methods 2009-08-06 15:38:41 +00:00
guilhermeblanco
3949fddcf5 [2.0] Added missing quoteIdentifiers to SqlWalker 2009-08-06 15:35:14 +00:00
guilhermeblanco
c1744d2e35 [2.0] Added missing quoteIdentifiers to SqlWalker 2009-08-06 15:08:03 +00:00
guilhermeblanco
88698c3a78 [2.0] Created common Lexer code for Annotations parser and Query parser. Added some docblocks 2009-08-05 21:13:42 +00:00
guilhermeblanco
084add0af0 [2.0] Fixed warning in semantical error reporting (strpos with length over dql length). Fixed wrong grammar rule. Fixed wrong token position on semantical error reporting. Added more semantical checks in UpdateItem 2009-08-05 19:00:16 +00:00
romanb
f64347d899 [2.0] Implemented SQL generation for SIZE() function and EmptyCollectionComparisonExpression. 2009-08-05 15:47:41 +00:00
guilhermeblanco
fde6431d1d [2.0] Commiting missing file 2009-08-05 14:54:53 +00:00
guilhermeblanco
995eaf3dcd [2.0] Finish implementation of nesting level checkings. 2009-08-05 03:56:21 +00:00
guilhermeblanco
cd50fc38ad [2.0] Implemented EmptyCollectionComparisonExpression. Need to write SQL transformation yet. 2009-08-04 21:41:53 +00:00
guilhermeblanco
462a27ee95 [2.0] Changed structure of creation of SqlWalkers in DQL Parser. They are now strings instead of instances of dummy classes. Implemented nesting level check for ResultVariable 2009-08-04 19:48:40 +00:00
romanb
e67b30703b [2.0] Changed init() to __construct(). 2009-08-04 09:33:36 +00:00
guilhermeblanco
aa0792b166 [2.0] InputParameter removed from Literal, since it's not actually a literal value. Changed grammar rules to accomodate this decouple 2009-08-04 04:11:43 +00:00
guilhermeblanco
733556b632 [2.0] Minor change in *Walker to be able to be used by custom assigned Walkers 2009-08-04 03:33:45 +00:00
romanb
00599a80d4 [2.0] Streamlined result structures. Hydration improvements: Small overall improvements, large improvement for (joined) fetched collections (~60%). 2009-08-03 13:25:56 +00:00
guilhermeblanco
c71c55f2e7 [2.0] Some docblocks inclusion. 2009-08-01 23:40:11 +00:00
guilhermeblanco
b2b06554b4 [2.0] More work on DQL parser of Doctrine 2.0. More semantical checks included. Missing scope checking of ResultVariable (SELECT and Sub-SELECT differences). Removed invalid grammar rules. 2009-07-31 04:03:01 +00:00
romanb
e1f2b8abec [2.0] Implemented support for mapped superclasses. Fixed #2353. 2009-07-30 15:16:02 +00:00
guilhermeblanco
772066156c [2.0] Implemented more TODO items in DQL Parser. Optimized PathExpression. Changed wrong grammar rule name in EBNF. 2009-07-30 04:40:04 +00:00
romanb
62446f0f3c [2.0] Cleanup for changeset #6172. 2009-07-28 16:36:24 +00:00
piccoloprincipe
c073f1d113 [2.0] completed implementation of lazy loading for Collections. Created debug helper class. Fixed default for orderBy clause to ASC 2009-07-28 11:43:42 +00:00
romanb
56a708843d [2.0] Added missing detach cascade option. 2009-07-25 16:52:19 +00:00
guilhermeblanco
b121576ff4 [2.0] Fixed DQL parser to use Query::HINT_FORCE_PARTIAL_LOAD instead of string. 2009-07-22 05:06:06 +00:00
guilhermeblanco
58a157863e [2.0] Finished reorganization of grammar rules in DQL parser source code. Renamed some private methods. 2009-07-22 03:46:05 +00:00
romanb
49434b0322 [2.0] Further cleanups. Started eager loading support. 2009-07-21 09:25:14 +00:00
guilhermeblanco
b3d110bac4 [2.0] Started massive reorganization of grammar rules in DQL parser. 2009-07-21 05:22:22 +00:00
romanb
a301834057 [2.0] First part of cleanup for changeset 6120. More to follow. 2009-07-20 15:30:54 +00:00
piccoloprincipe
0c623fdb9e [2.0] Accomodate joincolumn names in the metadata, in the selection and the hydration processes. Improved Api of the ProxyFactory. Working implementation of lazy loading for *-to-one associations (affects #2348) 2009-07-20 12:05:19 +00:00
guilhermeblanco
e197348734 [2.0] Implemented more TODO items. Fixed some grammar rules. 2009-07-19 21:17:01 +00:00
romanb
7297ac7baa [2.0] Addressed #2363. 2009-07-19 16:54:53 +00:00
guilhermeblanco
82be4bf023 [2.0] More work on TODO items. Fixed grammar rule that was incorrect. 2009-07-19 16:18:51 +00:00
guilhermeblanco
227667c95d [2.0] Changes in DQL grammar for optimization purposes. Implemented new DQL grammar rules and did a couple of TODOs 2009-07-18 14:53:21 +00:00
guilhermeblanco
8fbee579d3 [2.0] Fixed 4 issues with ProxyGenerator. It was not considering the type hint and it was generating an E_STRICT error with incompatible method declaration. Some cosmetic changes in Query 2009-07-16 22:03:35 +00:00
guilhermeblanco
3bc4042a63 [2.0] Fixed wrong DQL error message. More improvements in DQL parser 2009-07-16 04:08:14 +00:00
guilhermeblanco
55651ec902 [2.0] Updated semantical error to display token and text close to the found error. Some cosmetics applied. 2009-07-16 03:22:08 +00:00
guilhermeblanco
c48648aa55 [2.0] Cosmetics. 2009-07-15 23:20:11 +00:00
jwage
ba8b4337bb [2.0] Cleanup on QueryBuilder and Expr from discussion with roman 2009-07-10 18:26:43 +00:00
jwage
f608dd8a72 [2.0] More work on the QueryBuilder and Expr classes. 2009-07-10 17:53:48 +00:00
jwage
312d347d2d [2.0] More work on the QueryBuilder and Expr classes 2009-07-10 14:02:06 +00:00
jwage
a9ed0085d2 [2.0] More work on the QueryBuilder and Expr classes 2009-07-09 21:56:34 +00:00
jwage
867a34d41b [2.0] Initial commit of a QueryBuilder class. Still needs a lot of work. 2009-07-09 04:18:58 +00:00
romanb
9075f10bf5 [2.0] Moved cache drivers to Common package. Added new annotation parser implementation to Common package. AnnotationDriver in ORM not yet migrated. 2009-07-06 20:34:54 +00:00
romanb
455f877486 [2.0] Minor refactorings and docblock adjustments. Fixed #3202. 2009-06-30 16:00:28 +00:00
romanb
6729ed28e7 [2.0] Implemented DQL bulk UPDATE support for Class Table Inheritance. Corrections to MultiTableDeleteExecutor and SqlWalker. DQL bulk UPDATE support not yet fully complete. 2009-06-23 17:50:13 +00:00
romanb
537c8e4951 [2.0] Implemented DQL bulk DELETE support for Class Table Inheritance. Other cleanups, refactorings and docblock additions. 2009-06-22 18:48:42 +00:00
jwage
ab2b3999c0 [2.0] Adding date and time types. Fixing CURRENT_DATE, CURRENT_TIMESTAMP and CURRENT_TIME functions 2009-06-20 14:24:21 +00:00
jwage
ada2c5c5a7 [2.0] Work on datetime dbal type and date portability 2009-06-20 12:59:33 +00:00
romanb
f28127664c [2.0] Cleanups, build fixes. 2009-06-15 18:25:47 +00:00
jwage
e21d8fffae [2.0] Removing old enum stuff 2009-06-15 16:21:24 +00:00
romanb
104398003c [2.0] Parser work. 2009-06-14 17:34:28 +00:00
piccoloprincipe
bdd2241fb5 set svn:eol-style property on plain text files 2009-06-02 18:05:26 +00:00
romanb
2b8091e80c [2.0] Code review with comments and small corrections. 2009-05-30 09:37:56 +00:00
romanb
f3677a5714 [2.0] Changed identifier quoting strategy to something simpler. Dropped Doctrine prefix from annotations. 2009-05-29 10:23:13 +00:00
jwage
f994680d54 [2.0] More general work on the Platform and SchemaManager classes(primarily pgsql) 2009-05-28 21:34:35 +00:00
romanb
d23607910b [2.0] Formatting issues. 2009-05-28 11:33:50 +00:00
romanb
a758b56551 [2.0] Introduced SQL logging facilities. Made Type constructor private to prevent instantiation and force use of the factory method getType(). 2009-05-28 11:13:12 +00:00
romanb
b66d530540 [2.0] Class table inheritance updates. Started work on self-referencing associations. 2009-05-26 11:30:07 +00:00
romanb
c9cc9f1373 [2.0] Parser code review with some cleanups and comments to highlight TODOs. 2009-05-24 10:38:37 +00:00
romanb
0b9c990d98 [2.0] Intermediate checkin. 2009-05-22 21:30:44 +00:00
romanb
a421692679 [2.0] Fixed Query Cache (+testcase) and some E_STRICT errors. 2009-05-21 19:18:14 +00:00
romanb
55d70248a9 [2.0] Implemented class table inheritance (no DQL bulk UPDATE/DELETE support yet) 2009-05-21 08:53:40 +00:00
romanb
60f6020b5f [2.0] Intermediate commit. 2009-05-17 20:42:58 +00:00
romanb
4d13925b1c [2.0] Some hydration and DQL parser work. 2009-05-17 19:27:12 +00:00
romanb
96ef7eca13 [2.0] More small internal perf. improvements. 2009-05-14 18:34:12 +00:00
romanb
eea4391598 [2.0] Started adding performance regression tests. More object hydration performance improvements. 2009-05-14 14:57:08 +00:00
romanb
e79c45f9ac [2.0] Fixed issues discovered during code coverage report generation. Made all ClassMetadata properties public (good reasons, read the class docblock). Performance improvements. 2009-05-14 10:03:09 +00:00
romanb
ecd30bc242 [2.0] Started to implement proxy object handling. Introduced a configuration switch for partial objects (allowPartialObjects) that defaults to TRUE. Setting to FALSE enables proxying and lazy-loading. 2009-05-13 15:19:27 +00:00
romanb
00c44b7c41 [2.0] Implemented many-to-many SQL join construction, small test included. 2009-05-07 13:54:01 +00:00
romanb
16c4efccd8 [2.0] DBAL streamlining and starting to increase test coverage. 2009-05-03 18:07:57 +00:00
romanb
ae7be288e1 [2.0] Work on single table inheritance with more functional tests. 2009-05-03 10:58:16 +00:00
romanb
ee46dba332 [2.0] Moved code between Query and AbstractQuery. Added first NativeQuery implementation. Hydration work and code movements for discriminator column usage. Started implementing Single Table Inheritance. 2009-04-12 19:02:12 +00:00
romanb
67ba9661c5 [2.0] Some cleanups. 2009-04-09 18:20:35 +00:00
romanb
da1173f229 [2.0] Some cleanups. 2009-04-09 18:19:14 +00:00
romanb
523c93c2f1 [2.0] Refactored SQL query building process and hydration. Hydration should now support result sets with any number of root components. Introducing ResultSetMapping that is used by hydration instead of queryComponents. This allows mapping of arbitrary SQL queries (NativeQuery). 2009-04-09 18:12:48 +00:00
romanb
62204af804 [2.0] Ongoing work on Query/DQL implementation and tests. 2009-04-03 11:06:58 +00:00
romanb
f9a222817c [2.0] Work on ID generators, functional tests and more. 2009-03-30 19:43:05 +00:00
romanb
2812318254 [2.0] Removed ParserResultDummy that is no longer necessary. 2009-03-28 21:00:02 +00:00
romanb
7479a0cf9b [2.0] Starting to improve functional tests. First basic functional query tests. 2009-03-28 20:59:07 +00:00
romanb
705199e897 [2.0] Parser work. Added support for functions in SelectExpressions. 2009-03-28 17:10:41 +00:00
romanb
5ebaa6504c [2.0] Some docs and cleanups. 2009-03-23 19:02:16 +00:00
romanb
e6dbc733c5 [2.0] Added remaining supported functions for 2.0. 2009-03-23 18:48:54 +00:00
romanb
ae5d212271 [2.0] Parser work. Added double-dispatch functionality to AST node classes for use in the SqlWalker to reduce big if/else instanceof checks and for better maintainability. Also its less error-prone in the SqlWalker because its harder to miss a conditional case. Added new extensible DQL function implementation. 2009-03-23 17:39:33 +00:00
romanb
618c1281e4 [2.0] Parser work. 2009-03-21 19:58:52 +00:00
romanb
98076e0b0d [2.0] Parser work. Drafted logic for multi-table deletes through DQL (for Class/Concrete Table Inheritance) 2009-03-21 12:52:43 +00:00
romanb
d833ee1464 [2.0] Parser work. Drafted logic for multi-table deletes through DQL (for Class/Concrete Table Inheritance) 2009-03-21 12:49:58 +00:00
romanb
c7dbde9f89 [2.0] Parser work. 2009-03-20 21:28:19 +00:00
romanb
89a625021a [2.0] Refactored and reenabled Lexer tests. 2009-03-20 20:53:14 +00:00
romanb
b718cd1a63 [2.0] Parser work. 2009-03-19 12:43:48 +00:00
romanb
bffd76d704 [2.0] Parser work. 2009-03-16 22:12:38 +00:00
romanb
bc379103c3 [2.0] Some more parser work. 2009-03-14 21:19:50 +00:00
romanb
c4e22ba87a Merged tokens into lexer. 2009-03-14 10:34:40 +00:00
romanb
5b4564109e Merged tokens into lexer. 2009-03-14 10:30:47 +00:00
romanb
22de495e19 [2.0] Cleaned up old Production/Parser classes. 2009-03-14 09:05:52 +00:00
jwage
d458197e3a [2.0] Another step towards finishing namespace refactoring 2009-02-20 05:46:20 +00:00
jwage
43b6791919 [2.0] More replacing of old style of exceptions to intermediate step 2009-02-19 07:07:44 +00:00
jwage
5582f07b53 [2.0] Intermediate refactoring for new exception handling 2009-02-19 07:00:54 +00:00
romanb
62779913c8 Started to reenable query language recognition tests. 2009-02-18 10:39:51 +00:00
romanb
2ef81cf2a9 [2.0] Various small changes and enabling the collection tests. 2009-02-17 10:54:18 +00:00
romanb
9dcab5ee63 Small reorganizations, improvements and progress. 2009-02-07 17:02:13 +00:00
romanb
deb095f2c8 Some cleanups, docblocks, and a small needed refactoring of ClassMetadataFactory. 2009-02-05 17:34:44 +00:00
romanb
22e94ac594 Enabling namespaces. Final restructurings. 2009-01-22 19:38:10 +00:00
romanb
4ab2ba7dcb [2.0] More progress on the DQL parser. Added glimpse() method for the scanner/lexer that is equivalent to peek() immediately followed by resetPeek(). 2009-01-21 18:25:05 +00:00
romanb
3f60b8b5b5 More DQL parser work. First basic WHERE conditions. Changed scanner according to new positional parameter syntax (?<number>) 2009-01-20 17:07:07 +00:00
romanb
663a7415f8 minor changes 2009-01-19 21:16:46 +00:00
romanb
602c6d973e DQL Parser work. Getting some first tests back running. Reorganizing all parser rules into the Parser itself. 2009-01-19 18:40:12 +00:00