Skip to content

Remove direct access to db from providers #49187

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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