MINOR: fix sql lineage with timezone change (#16685)

* skip mssql test for python

* fixed mssql lineage
This commit is contained in:
Imri Paran 2024-06-18 09:15:52 +02:00 committed by GitHub
parent d6f8836755
commit 955ed5afe1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 6 deletions

View File

@ -17,6 +17,11 @@ from metadata.ingestion.source.database.mssql.query_parser import MssqlQueryPars
class MssqlLineageSource(MssqlQueryParserSource, LineageSource):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.start = self.start.replace(tzinfo=None)
self.end = self.end.replace(tzinfo=None)
sql_stmt = MSSQL_SQL_STATEMENT
filters = """

View File

@ -216,11 +216,21 @@ class MssqlSource(StoredProcedureMixin, CommonDbSourceService, MultiDBSource):
"""
start, _ = get_start_and_end(self.source_config.queryLogDuration)
query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format(
start_date=start,
start_date=start.replace(tzinfo=None),
)
try:
queries_dict = self.procedure_queries_dict(
query=query,
)
except Exception as ex: # pylint: disable=broad-except
logger.debug(f"Error runnning query:\n{query}")
self.status.failed(
StackTraceError(
name="Stored Procedure",
error=f"Error trying to get stored procedure queries: {ex}",
stackTrace=traceback.format_exc(),
)
)
return {}
return queries_dict

View File

@ -118,7 +118,7 @@ def pretty_print_time_duration(duration: Union[int, float]) -> str:
return f"{seconds}s"
def get_start_and_end(duration: int = 0):
def get_start_and_end(duration: int = 0) -> Tuple[datetime, datetime]:
"""
Method to return start and end time based on duration
"""