[DDC-745] DateTime with SQLite Created: 12/Aug/10  Updated: 13/Aug/10  Resolved: 12/Aug/10

Status: Resolved
Project: Doctrine 2 - ORM
Component/s: ORM
Affects Version/s: 2.0-ALPHA4
Fix Version/s: 2.x
Security Level: All

Type: Bug Priority: Minor
Reporter: Rui Lima Assignee: Benjamin Eberlei
Resolution: Invalid Votes: 0
Labels: None
Environment:

Windows 7 - Portuguese Regional Settings
XAMPP
SQLite database



 Description   

I was using 2.0.0-Beta3 no problems found.
Then upgraded to Beta4 and the following:

Fatal error: Uncaught exception 'Doctrine\DBAL\Types\ConversionException' with message 'Could not convert database value "2010-08-07 00:00:00.000" to Doctrine Type datetime' in

I guess it's an ORM's problem.

I've traced to:
call stack:
Doctrine\DBAL\Types\DateTimeType->convertToPHPValue()
Doctrine\ORM\Persisters\BasicEntityPersister->_processSQLResult()
Doctrine\ORM\Persisters\BasicEntityPersister->_createEntity()
Doctrine\ORM\Persisters\BasicEntityPersister->load()
Doctrine\ORM\Persisters\BasicEntityPersister->findOneBy()

in Doctrine\DBAL\Types\DateTimeType->convertToPHPValue() i receive the values:
$value = "2010-08-07 00:00:00.000"
$platform->getDateTimeFormatString() = "Y-m-d H:i:s"

I'm new to Doctrine, maybe is my problem but it was working before i've upgraded everything.
I'll also try to find out what is going on, but just to let you guys know.

=================0
System:
Windows 7 - Portuguese Regional Settings
XAMPP
SQLite database



 Comments   
Comment by Rui Lima [ 12/Aug/10 ]

I took a closer look to my problem.
I used and external tool to update the field, and instead of '2010-08-07 00:00:00' the tool inserted '2010-08-07 00:00:00.000'

So, there is no problem.
Thanks and sorry.

Comment by Benjamin Eberlei [ 12/Aug/10 ]

Does sqlite allow microseconds by default?

Comment by Rui Lima [ 13/Aug/10 ]

I don't quite understand you question.

both of the following works:
update tb_user set registerdate='2010-08-07 00:00:00'
update tb_user set registerdate='2010-08-07 00:00:00.000'

And here: http://www.sqlite.org/lang_datefunc.html
we can see that YYYY-MM-DDTHH:MM:SS.SSS is one of the supported formats.

On other hand when i execute:
select DATETIME('NOW') -//>2010-08-13 09:14:21

So i guess the default is with no miliseconds.

Could we make possible to specify the datetime format in the annotation reference?

Generated at Wed Apr 16 21:59:17 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.