Skip to content

Remove direct access to db from providers #49187

@potiuk

Description

@potiuk

Body

Related to #45839

Found 9 providers with metadata DB access patterns:

Provider: apache-airflow-providers-cncf-kubernetes

Provider: apache-airflow-providers-databricks

Provider: apache-airflow-providers-edge

Provider: apache-airflow-providers-elasticsearch

Provider: apache-airflow-providers-fab

  • utils.py
    • Line:43: from sqlalchemy.orm.session import Session
  • fab_auth_manager.py
    • Line:101: from airflow.utils.session import NEW_SESSION, create_session, provide_session
    • Line:414: @provide_session
  • override.py
    • Line:544: num_sessions = session.query(user_session_model).count()
    • Line:558: for s in session.query(user_session_model):
    • Line:1270: return self.get_session.query(self.role_model).filter_by(name=name).one_or_none()
    • Line:1273: return self.get_session.query(self.role_model).all()
    • Line:1282: role = session.query(Role).filter(Role.name == role_name).first()
    • Line:1316: return self.get_session.query(self.role_model).filter_by(name=self.auth_role_public).one_or_none()
    • Line:1367: return self.get_session.query(func.count(self.user_model.id)).scalar()
    • Line:1400: self.get_session.query(self.user_model)
    • Line:1406: self.get_session.query(self.user_model)
    • Line:1415: return self.get_session.query(self.user_model).filter_by(email=email).one_or_none()
    • Line:1447: return self.get_session.query(self.user_model).all()
    • Line:1487: return self.get_session.query(self.action_model).filter_by(name=name).one_or_none()
    • Line:1521: self.get_session.query(self.permission_model)
    • Line:1548: return self.get_session.query(self.resource_model).filter_by(name=name).one_or_none()
    • Line:1590: self.get_session.query(self.permission_model)
    • Line:1602: return self.get_session.query(self.permission_model).filter_by(resource_id=resource.id).all()
    • Line:1647: self.get_session.query(self.role_model).filter(self.role_model.permissions.contains(perm)).first()
    • Line:1657: if not self.get_session.query(self.permission_model).filter_by(action=perm.action).all():

Provider: apache-airflow-providers-google

  • dataproc.py
    • Line:37: from airflow.utils.session import provide_session
    • Line:41: from sqlalchemy.orm.session import Session
    • Line:120: @provide_session
    • Line:127: query = session.query(TaskInstance).filter(
    • Line:227: @provide_session
    • Line:229: query = session.query(TaskInstance).filter(
  • bigquery.py
    • Line:30: from airflow.utils.session import provide_session
    • Line:34: from sqlalchemy.orm.session import Session
    • Line:100: @provide_session
    • Line:102: query = session.query(TaskInstance).filter(

Provider: apache-airflow-providers-openlineage

Provider: apache-airflow-providers-opensearch

Provider: apache-airflow-providers-standard

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:providerskind:metaHigh-level information important to the community

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions