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): 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 sql_stmt = MSSQL_SQL_STATEMENT
filters = """ filters = """

View File

@ -216,11 +216,21 @@ class MssqlSource(StoredProcedureMixin, CommonDbSourceService, MultiDBSource):
""" """
start, _ = get_start_and_end(self.source_config.queryLogDuration) start, _ = get_start_and_end(self.source_config.queryLogDuration)
query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format( query = MSSQL_GET_STORED_PROCEDURE_QUERIES.format(
start_date=start, start_date=start.replace(tzinfo=None),
)
queries_dict = self.procedure_queries_dict(
query=query,
) )
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 return queries_dict

View File

@ -118,7 +118,7 @@ def pretty_print_time_duration(duration: Union[int, float]) -> str:
return f"{seconds}s" 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 Method to return start and end time based on duration
""" """