11from copy import deepcopy
2+ from datetime import datetime
23import sys
34import time
45import json
1516from .joindiff_tables import TABLE_WRITE_LIMIT , JoinDiffer
1617from .table_segment import TableSegment
1718from .sqeleton .schema import create_schema
19+ from .sqeleton .queries .api import current_timestamp
1820from .databases import connect
19- from .parse_time import parse_time_before_now , UNITS_STR , ParseError
21+ from .parse_time import parse_time_before , UNITS_STR , ParseError
2022from .config import apply_config_from_file
2123from .tracking import disable_tracking
2224from . import __version__
@@ -299,17 +301,6 @@ def _main(
299301
300302 start = time .monotonic ()
301303
302- try :
303- options = dict (
304- min_update = max_age and parse_time_before_now (max_age ),
305- max_update = min_age and parse_time_before_now (min_age ),
306- case_sensitive = case_sensitive ,
307- where = where ,
308- )
309- except ParseError as e :
310- logging .error (f"Error while parsing age expression: { e } " )
311- return
312-
313304 if database1 is None or database2 is None :
314305 logging .error (
315306 f"Error: Databases not specified. Got { database1 } and { database2 } . Use --help for more information."
@@ -326,6 +317,20 @@ def _main(
326317 logging .error (e )
327318 return
328319
320+
321+ now : datetime = db1 .query (current_timestamp (), datetime )
322+ now = now .replace (tzinfo = None )
323+ try :
324+ options = dict (
325+ min_update = max_age and parse_time_before (now , max_age ),
326+ max_update = min_age and parse_time_before (now , min_age ),
327+ case_sensitive = case_sensitive ,
328+ where = where ,
329+ )
330+ except ParseError as e :
331+ logging .error (f"Error while parsing age expression: { e } " )
332+ return
333+
329334 dbs = db1 , db2
330335
331336 if interactive :
0 commit comments