Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.0.0-BETA3
-
Component/s: Platforms
-
Labels:None
Description
The DateTime type is currently unusable in PostgreSQL due to a wrong parsing format.
PostgreSqlPlatform::getDateTimeFormatString() should be changed from:
Y-m-d H:i:sO
to
Y-m-d H:i:s.uO
According to http://twitter.com/auroraeosrose/statuses/16154268629
Also, there's no way to check if a convert From and To PHP/Database worked correctly. Maybe we should introduce an exception when a DBAL\Type conversion fails, otherwise, there's no way to figure it out what happened.
Activity
Benjamin Eberlei
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Guilherme Blanco [ guilhermeblanco ] | Benjamin Eberlei [ beberlei ] |
Benjamin Eberlei
made changes -
| Summary | Wrong DateTime format in PgSQL Platform | Saving UTC Offset in Postgres DATETIME messes with PHP DateTime and Timezones |
Benjamin Eberlei
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
Benjamin Eberlei
made changes -
| Workflow | jira [ 11490 ] | jira-feedback2 [ 17640 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 17640 ] | jira-feedback3 [ 19995 ] |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DBAL-22, expand=changesets[-21:-1].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)
throwing an exception is a no-go in my opinion, it would completely cripple an application if there is some change in the DB.
There are no checks if an integer field is really in int, or if the db has a varchar field making the (int) conversion fail. This should be ignored and is responsibility of the user to get right.
I am looking into the format, however we have several unit-tests for this working correctly, i am a bit confused.