requêtes avec TODAY donnent différent résultats s'ils sont exécutés sur une base sqlite ou postgres
description:
utiliser des comparaisons avec TODAY résulte en des résultats différents si c'est une base sqlite (comme p.ex. utilisé pour les tests unitaires) ou une base postgres
comportement attendu:
résultats sur base sqlite et base postgres devraient être les mêmes
comportement réel:
sur une base pour les tests unitaires sqlite
cnx.execute("Any D WHERE X is Email, X in_state S, S name 'published', X date >= (TODAY - 1), X da
te D")
<resultset "Any D WHERE X is Email, X in_state S, S name 'published', X date >= (TODAY - 1), X date D" (
4 rows):
[datetime.datetime(2020, 11, 19, 17, 9, 6, 283248)] (('Datetime',))
[datetime.datetime(2020, 11, 19, 17, 9, 6, 283248)] (('Datetime',))
[datetime.datetime(2020, 11, 16, 17, 9, 6, 283248)] (('Datetime',))
[datetime.datetime(2020, 11, 9, 17, 9, 6, 283248)] (('Datetime',))>
les deux derniers ne devraient pas se trouver dans les résultats
sur une base postgres
print(rql("Any D WHERE X is Email, X in_state S, S name 'published', X date >= (TODAY - 1), X da
...: te D").rows)
[[datetime.datetime(2020, 11, 18, 12, 28, 16)], [datetime.datetime(2020, 11, 18, 12, 28, 18)], [datetime.datetime(2020, 11, 18, 12, 28, 37)], [datetime.datetime(2020, 11, 18, 12, 28, 50)], [datetime.datetime(2020, 11, 18, 12, 28, 54)], [datetime.datetime(2020, 11, 18, 12, 29, 5)], [datetime.datetime(2020, 11, 18, 12, 29, 9)], [datetime.datetime(2020, 11, 18, 12, 28, 42)], [datetime.datetime(2020, 11, 19, 12, 35, 5)], [datetime.datetime(2020, 11, 19, 12, 35, 21)], [datetime.datetime(2020, 11, 19, 12, 35, 33)], [datetime.datetime(2020, 11, 19, 12, 35, 42)], [datetime.datetime(2020, 11, 19, 12, 36, 4)], [datetime.datetime(2020, 11, 19, 12, 36, 10)], [datetime.datetime(2020, 11, 19, 12, 36, 15)], [datetime.datetime(2020, 11, 19, 0, 0)], [datetime.datetime(2020, 11, 19, 0, 0)], [datetime.datetime(2020, 11, 19, 0, 0)]]