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

494 Commits

Author SHA1 Message Date
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
ef12a09ae0 Added remaining absolute namespace paths to phpdoc annotations - issue DDC-1025. 2011-12-11 21:56:27 +00: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
Benjamin Eberlei
ad6130b02d DDC-551 - Cleanup filters branch, especially inheritance related code and yoda conditions and some inconsistencies 2011-12-11 19:29:36 +01:00
Benjamin Eberlei
0f501114eb Merge branch 'master' into DDC-551 2011-12-11 18:39:11 +01:00
Fabio B. Silva
8e50a31b98 trying remove whitespaces 2011-12-07 12:31:23 -02:00
Fabio B. Silva
c6a89c64f3 put return after comment 2011-12-07 12:16:27 -02:00
Fabio B. Silva
df19e68a86 Fixed DDC-1057 2011-12-07 11:23:15 -02: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
Alexander
e98c775f0d Revert "[DDC-551] Initial support for filters in the JoinedSubclassPersister"
This reverts commit f6d5f0481e.
2011-12-05 16:14:04 +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
bf1cc29a2a [DDC-551] Fixed some comments 2011-12-01 09:46:02 +01:00
Alexander
f6d5f0481e [DDC-551] Initial support for filters in the JoinedSubclassPersister
Still some things to do.
2011-11-30 23:01:10 +01:00
Alexander
4c94a7ccc5 [DDC-551] Various minor fixes after merge and cleanup 2011-11-30 16:40:55 +01:00
Guilherme Blanco
5b73f1bd82 Improved code readability. Improved performance. 2011-11-30 09:57:54 -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
Benjamin Eberlei
be4eb63c62 Merge branch 'DBAL-15' 2011-11-21 21:38:05 +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
Benjamin Eberlei
9e8a950f2e DBAL-171 - Fix bug where params where resorted but types where not in DQL Query 2011-11-18 17:29:31 +01:00
Fabio B. Silva
aeb2ab132b group by all fields when entity has foreign keys 2011-11-15 20:27:45 -02:00
Benjamin Eberlei
2d14be86f3 Merge pull request #192 from FabioBatSilva/DDC-1474
DDC-1474
2011-11-15 12:10:19 -08:00
Benjamin Eberlei
9916f34262 Merge pull request #191 from FabioBatSilva/DDC1430
DDC-1430
2011-11-15 11:07:30 -08:00
Fabio B. Silva
3f8347a4d9 fixed DDC-1474 2011-11-15 17:00:19 -02:00
Guilherme Blanco
14f20c16bc Changed the RSM to make is behavior as mixed if you alias an entity. 2011-11-15 15:14:57 -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
Benjamin Eberlei
a14ba1e561 DDC-1237 - Remove dependency to mbstring 2011-11-12 09:43:37 +01:00
Alexander
39ed719c4c Remove invalid(?) exception for now 2011-11-08 13:16:33 +01: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
Benjamin Eberlei
50e028212d DDC-1384 - Fix a bunch of Oracle test failures 2011-10-29 20:42:44 +02: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
Benjamin Eberlei
8db1a09001 Merge branch 'master' of github.com:doctrine/doctrine2 2011-10-28 00:26:54 +02:00
Benjamin Eberlei
4a0227e5f2 Revert Expr\Base patch 2011-10-28 00:24:41 +02:00
Benjamin Eberlei
5918058d86 Merge origin/master 2011-10-27 22:36:06 +02:00
Benjamin Eberlei
adc4840cce DDC-217 - Add support for QueryCacheProfiles and remove the old result caching code from ORM. Deprecate a bunch of methods in favor of using the AbstractQuery#getQueryCacheProfile method. 2011-10-23 23:28:23 +02:00
Alexander
079e2b1302 [DDC-1384] Fix for generating sql with aliases not longer than MaxIdentifierLength 2011-10-22 16:27:56 +02:00
armetiz
baef4f735f Update lib/Doctrine/ORM/Query/Expr/Base.php 2011-10-21 16:30:06 +03:00
Alexander
07ce4092cd Merge branch 'master' into DDC-551 2011-10-21 12:04:29 +02:00
armetiz
4a50eb4fa7 Update lib/Doctrine/ORM/Query/Expr.php 2011-10-21 11:55:54 +03: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
eeba947ea7 Code optimizations. Fixed unused argument in OrmTestCase as referred in DDC-766. 2011-10-16 02:10:59 -02:00
Benjamin Eberlei
18fd29613c Merge pull request #137 from docteurklein/fluent_query_expr
added fluent pattern to Query\Expr\Base::add* methods
2011-10-15 11:09:37 -07: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
Christian Raue
1681d8a893 switched 2nd and 3rd argument for SelectExpression's constructor, making the 3rd one optional to keep its signature compatible to previous versions 2011-10-10 14:04:55 +02:00
Guilherme Blanco
ebe933810e Implemented HIDDEN support in DQL. Fixes DDC-1363. 2011-10-03 02:07:07 -03:00
docteurklein
b28af2e527 added fluent pattern to Query\Expr\Base::add* methods 2011-09-27 10:36:32 +02:00
Guilherme Blanco
80284a273d Merge pull request #133 from FabioBatSilva/DDC-1335
Fixes DDC-1335.

Patch looks perfect to me. @beberlei please merge into 2.1 =)
2011-09-25 14:52:56 -07:00
Benjamin Eberlei
d2cd6560c5 DDC-1337 - Adjust MultiTableUpdateExecutor and MultiTableDeleteExecutor to use AbstractPlatform 2011-09-25 19:01:37 +02:00
Fabio B. Silva
5fe996baf9 change tests for DDC-1135 2011-09-25 12:20:48 -03:00
Fabio B. Silva
f4c5c4ba01 branch for DDC-1335 2011-09-23 18:10:58 -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
a7f3af8328 Added IDENTITY DQL Function. Fixes DDC-1339. 2011-09-08 02:10:48 -03: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
Guilherme Blanco
e7f471ef3e Fixed issue with CTI during DQL update that was incorrectly setting parameter types during multi table execution. Fixes DDC-1341. 2011-08-28 13:48:15 -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
2653d735e2 [DDC-551] Added state of the complete filter collection to the EM
Previously it was sufficient to use the old parser result for a Query if
the DQL didn't change (Query::STATE_CLEAN), but now there must also be
no changes to the filter collection of the EntityManager.

In the old situation each Query object would create a hash of all the
filter objects on it's own. That was not very efficient.

This commit adds the state of the current filter collection to the
EntityManager. The state will be set to FILTERS_STATE_DIRTY as a filter
is enabled, removed or a parameter is set on a filter. The hash is also
computed by the EntityManager, but only if the filter collection is
dirty. This will prevent recalculation of the hash with each query.
2011-08-16 13:34:42 +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
8f589e5876 Merge pull request #92 from mridgway/DDC-1275
DDC-1275: Added join columns to result set mapping
2011-07-28 14:18:55 -07:00
Michael Ridgway
1250cd7a5a F[DDC-1275] ixed check for owning side of a toOne relationship 2011-07-28 10:50:22 -04: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
Michael Ridgway
154fd60d85 DDC-1275: Added join columns to result set mapping 2011-07-26 17:35:06 -04:00
Alexander
6cf7bdc2b7 Merge branch 'master' into DDC-551 2011-07-26 17:26:00 +02:00
Alexander
65f7e897b5 [DDC-1294] Add discriminator information to subselects 2011-07-26 00:19:26 +02:00
Alexander
4266ab77b2 [DDC-551] Added __toString() method to SQLFilter 2011-07-22 14:55:00 +02:00
Alexander
4cf63a4e83 [DDC-551] Fixed the escaping of filter parameters 2011-07-22 14:51:30 +02:00
Alexander
d1908f7207 [DDC-551] Keep filter parameters and enabled filters sorted for hashing 2011-07-22 14:36:14 +02:00
Alexander
277fc751b6 [DDC-551] Added tests for SQLFilter 2011-07-22 13:51:26 +02:00
Alexander
b867744f15 [DDC-551] Added tests for SQLFilter functionality + small fixes 2011-07-22 13:08:49 +02:00
Alexander
a85902b08d [DDC-551] Initial code for filter functionality 2011-07-22 12:01:33 +02:00
Guilherme Blanco
550fcbc17f [DDC-1237] Fixed issue with QueryBuilder where user may have includes nested complex expression in a string format while consuming a composite expression (AND or OR). 2011-07-03 01:48:18 -03:00
Benjamin Eberlei
ed516edf90 Fix discriminator casing problem in Oracle 2011-06-26 17:49:34 +02:00
Benjamin Eberlei
c7c430032c DDC-1211 - Fix bug with empty numeric literal 2011-06-19 10:17:35 +02:00
Guilherme Blanco
699ccfddb6 Implemented COALESCE and NULLIF support in DQL. 2011-06-17 16:16:22 -03:00
Guilherme Blanco
626e467a17 Implemented COALESCE and NULLIF support in DQL. 2011-06-17 16:15:19 -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
8e3fdc5adc [DDC-1148] Implement auto-inference of types in setParameter. 2011-05-12 23:05:45 -03:00
Guilherme Blanco
905e05cd36 [DDC-1067][DDC-1145] Fixed bug with multiple froms and inclusion of joins. Added support for index by in QueryBuilder. This break BC only if users are using base support (->add). 2011-05-11 21:40:27 -03:00
Guilherme Blanco
54a0109d5d [DDC-1147] Allowed usage of 0-based input parameters in DQL. 2011-05-11 17:30:42 -03:00
Guilherme Blanco
b025b2b343 Fixed where componentes (ie. MEMBER OF) that that are sensitive to parenthesis presence. Made OR and AND expressions smarter. Fixed related unit tests. 2011-05-07 20:14:04 -03:00
Benjamin Eberlei
c53baa9935 [DDC-1091] Fix bug with custom string functions in StringPrimary 2011-05-01 11:01:30 +02:00
Benjamin Eberlei
85d6b9fd39 Merge pull request #42 from mridgway/DDC-1059.
DDC-1059: RSM Helper
2011-04-30 15:01:25 -07:00
Benjamin Eberlei
67b89eaa4f [DDC-1108] Fix bug with single char named input parameters in DQL lexer. 2011-04-30 12:27:16 +02:00
Michael Ridgway
af4cf0d0ba Replaced prefix parameter with renamedColumns; Added exception when duplicate columns found 2011-04-14 20:55:03 -04:00
Chekote
5784c7bacd Fixed phpdoc on Parser::match incorrectly stating that the token parameter can be a string value 2011-04-01 12:54:12 -05:00
Michael Ridgway
b1b17376ff Removing left over class import 2011-03-31 17:22:13 -04:00
Michael Ridgway
c46d835146 Moved new functions to ResultSetMappingBuilder class 2011-03-30 10:27:31 -04:00
Michael Ridgway
20dc72ef9a First pass on RSM helper functions for adding entities 2011-03-29 20:35:01 -04:00
Benjamin Eberlei
bda15231da [DDC-1077] Bugfix in not handling literals in Select Expressions. 2011-03-27 21:10:50 +02:00
Benjamin Eberlei
6ed0ff0a12 [DDC-1079] Bugfix for shortcut for ArithmeticExpressions in SimpleSelectExpression that lead to literals not being valid. Problem was that ScalarExpression() did not handle AggregateExpressions() at all, which is now fixed. 2011-03-27 14:04:53 +02:00
Benjamin Eberlei
4f1af0114f [DDC-1014] Add DATE_ADD(), DATE_SUB(), DATE_DIFF() functions for DQL. 2011-03-27 12:18:47 +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
834203d868 [DDC-1012] Implemented Expr isNull and isNotNull. 2011-02-20 01:53:55 -03: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
Benjamin Eberlei
9768d08458 [DDC-250] Add tests and fix some glitches and finalized index-by patch. 2011-02-05 11:42:10 +01:00
Benjamin Eberlei
61e2cdc6b0 [DDC-1018] Bugfix: INDEX BY was not working in JOIN Declarations, only in FROM. 2011-02-05 10:04:18 +01:00
Benjamin Eberlei
4532c2255a [DDC-1018] Bugfix: INDEX BY was not working in JOIN Declarations, only in FROM. 2011-02-05 10:02:37 +01:00
Benjamin Eberlei
078e19d1c7 DDC-980 - Fix Update and Delete statements reference of the root table when doing subselects. 2011-01-13 21:16:08 +01:00
Benjamin Eberlei
c2bbaa9ead DDC-117 - Slight changes in the patch and fixing inline comments. 2011-01-01 18:53:22 +01:00
Benjamin Eberlei
194a90923d DDC-117 - Finalize patch, fix all the problems of different use-cases by hugely expanding the test-model. 2011-01-01 18:17:19 +01:00
Benjamin Eberlei
e7b4dca611 Merge master into DDC-117 2010-12-28 17:27:47 +01:00
Benjamin Eberlei
fe672d2f61 DDC-617 - Throw error if selecting identification variables without picking at least one root entity alias. 2010-12-28 10:17:33 +01:00
Benjamin Eberlei
5e788a0b84 DDC-915 - Bugfix in Identification Variable reordering in combination with SQL Walkers. 2010-12-08 23:42:02 +01:00
Pascal Borreli
0ba9321f06 [ORM] Fixed typo 2010-11-30 02:50:34 +08:00
Juozas Kaziukenas
494bfc8966 Fixed length, lower, upper and mod AST functions to use platform for generating SQL 2010-11-16 15:41:41 -08:00
Benjamin Eberlei
d3d3032759 DDC-736 - Simplified patch and extended test to verify scalar results are still in order. 2010-11-13 09:52:35 +01:00
Benjamin Eberlei
e4280cf82e DDC-736 - Fix ordering of identification variables in DQL parser to be by specification. 2010-11-11 21:12:09 +01:00
Benjamin Eberlei
5bd8ffa53c Merge master into DDC-117 2010-08-27 22:27:00 +02:00
Roman S. Borschel
d0717ee458 Fixed typo and simplified method as mentioned in an earlier comment. 2010-08-24 17:17:58 +02:00
Benjamin Eberlei
1496250833 Merge branch 'master' into DDC-117 2010-08-15 20:17:56 +02:00
Benjamin Eberlei
fb44fa6b5a Fix hydration of Assoc-Id Entities, duplicate the hydration of the foreign key once for for use with the assoc-entity as a meta-column. Added isIdentifier capabilities to meta columns. 2010-08-15 18:58:25 +02:00
Guilherme Blanco
496a34a4d2 [DDC-581] Implemented support to SingleValuedPathExpression to InExpression. 2010-08-12 00:16:07 -03:00
Guilherme Blanco
84b9eda17c [DDC-680] Implemented support to complex mathematical expression in subselect part aswell as improved support of comparison expressions. 2010-08-11 23:12:44 -03:00
Roman S. Borschel
8d3e0e61ea Moved association mappings to plain arrays, just like field mappings. 2010-08-09 22:48:07 +02:00
Roman S. Borschel
0424d87099 [DDC-386][DDC-675] Fixed. 2010-08-08 15:03:40 +02:00
Benjamin Eberlei
f2715c9af4 DDC-654 - Removed unused lines of code in AST/Functions namespace 2010-08-08 11:49:39 +02:00
Guilherme Blanco
35af98260a [DDC-719] Fixed issue with Empty and also Size function that were generating an incorrect SQL for associations counting. 2010-08-06 13:01:06 -03:00
Jonathan H. Wage
623c02c7dc Updating common to 2.0.0BETA4 2010-08-02 16:40:52 -05:00
Roman S. Borschel
0c07b31136 Tweaked INSTANCE OF implementation. 2010-07-30 17:56:11 +02:00
Guilherme Blanco
c1fec32f58 [2.0][DDC-482] Added support to INSTANCE OF in DQL. 2010-07-30 01:30:02 -03:00
Guilherme Blanco
d2740f0e77 Reverted extensibility of Lexer. This is not ideal. 2010-07-27 01:20:31 -03:00