]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Use the same "current_timestamp" function for both sides of round trip
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 21 Oct 2018 02:20:06 +0000 (22:20 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 21 Oct 2018 02:20:06 +0000 (22:20 -0400)
this test was using sysdate() and current_timestamp() together
in conjunction with a truncation to DAY, however for four hours
on saturday night (see commit time :) ) these two values will
have a different value if one side is EDT and the other is UTC.

tox does not transmit environment variables including TZ by
default, so even if the server is set up for EDT, running tox
will not set TZ and at least Oracle client seems to use this
value, producing UTC for session time but the database on CI
was configured for EDT, producing EDT for sysdate.

Change-Id: I56602d2402a475a0c4fdf61c1c5fc2618c82f915

test/sql/test_defaults.py

index 42514a9276094203336b16c803c8b44a13c10ff0..c5efdf132e5da518faa890fa462d1c83b4be1713 100644 (file)
@@ -170,7 +170,8 @@ class DefaultTest(fixtures.TestBase):
                 sa.select(
                     [
                         func.trunc(
-                            func.sysdate(), sa.literal_column("'DAY'"),
+                            func.current_timestamp(),
+                            sa.literal_column("'DAY'"),
                             type_=sa.Date)]))
             assert isinstance(ts, datetime.date) and not isinstance(
                 ts, datetime.datetime)
@@ -182,7 +183,8 @@ class DefaultTest(fixtures.TestBase):
                 type_=sa.Date)
             def1 = currenttime
             def2 = func.trunc(
-                sa.text("sysdate"), sa.literal_column("'DAY'"), type_=sa.Date)
+                sa.text("current_timestamp"),
+                sa.literal_column("'DAY'"), type_=sa.Date)
 
             deftype = sa.Date
         elif use_function_defaults: