diff --git a/ingestion/src/metadata/ingestion/ometa/mixins/table_mixin.py b/ingestion/src/metadata/ingestion/ometa/mixins/table_mixin.py index 0c33a1c98a2..044382ca497 100644 --- a/ingestion/src/metadata/ingestion/ometa/mixins/table_mixin.py +++ b/ingestion/src/metadata/ingestion/ometa/mixins/table_mixin.py @@ -9,6 +9,7 @@ from typing import List from metadata.generated.schema.entity.data.location import Location from metadata.generated.schema.entity.data.table import ( DataModel, + SqlQuery, Table, TableData, TableJoins, @@ -85,6 +86,22 @@ class OMetaTableMixin: ) return Table(**resp) + def ingest_table_queries_data( + self, table: Table, table_queries: List[SqlQuery] + ) -> None: + """ + PUT table queries for a table + + :param table: Table Entity to update + :param table_queries: SqlQuery to add + """ + for query in table_queries: + self.client.put( + f"{self.get_suffix(Table)}/{table.id.__root__}/tableQuery", + data=query.json(), + ) + return None + def publish_table_usage( self, table: Table, table_usage_request: TableUsageRequest ) -> None: diff --git a/ingestion/src/metadata/ingestion/sink/metadata_rest.py b/ingestion/src/metadata/ingestion/sink/metadata_rest.py index 6d23f928a68..ab39df85a61 100644 --- a/ingestion/src/metadata/ingestion/sink/metadata_rest.py +++ b/ingestion/src/metadata/ingestion/sink/metadata_rest.py @@ -198,6 +198,11 @@ class MetadataRestSink(Sink[Entity]): table=created_table, data_model=db_and_table.table.dataModel ) + if db_and_table.table.tableQueries is not None: + self.metadata.ingest_table_queries_data( + table=created_table, table_queries=db_and_table.table.tableQueries + ) + logger.info( "Successfully ingested table {}.{}".format( db_and_table.database.name.__root__,