tatiana commented on code in PR #31398:
URL: https://github.com/apache/airflow/pull/31398#discussion_r1218116581


##########
airflow/providers/common/sql/hooks/sql.py:
##########
@@ -516,3 +517,40 @@ def test_connection(self):
             message = str(e)
 
         return status, message
+
+    def get_database_info(self, connection):
+        from airflow.providers.openlineage.sqlparser import DatabaseInfo
+
+        return DatabaseInfo(
+            scheme=self.get_database_dialect(connection), 
authority=self._get_authority(connection)
+        )
+
+    def get_database_dialect(self, connection):
+        """Method used for SQL parsing. Naively tries to use Connection's 
conn_type"""
+        return connection.conn_type
+
+    def _get_authority(self, connection):
+        """Returns authority part (without user info) of OpenLineage namespace 
URI."""
+        if connection.port and connection.host:
+            authority = f"{connection.host}:{connection.port}"
+        else:
+            parsed = urlparse(connection.get_uri())
+            authority = f"{parsed.hostname}:{parsed.port}"
+        return authority
+
+    def get_default_schema(self):
+        """
+        Returns default schema specific to database.
+        See: :class:`~providers.openlineage.utils.sqlparser.SQLParser`
+        """
+        return self.__schema or "public"
+
+    def get_database_specific_lineage(self, task_instance):

Review Comment:
   Would it make sense to use the following, in this method's definition?
   ```
   raise NotImplementedError()
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to