sqlalchemy-declarative-extensions icon indicating copy to clipboard operation
sqlalchemy-declarative-extensions copied to clipboard

feature request: stored procedures

Open YaraslauZhylko opened this issue 1 year ago • 0 comments

Add posibility to manage PostgreSQL procedures in addition to functions.

Something like this:

refresh_my_view_procedure = Procedure(
    "refresh_my_view",
    """
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    """,
    language="plpgsql",
)
Base.procedures.append(refresh_my_view_procedure)

That will result in:

op.execute(
    """
    CREATE PROCEDURE refresh_my_view()
    LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;
    """
)

The difference is purely aesthetic:

CALL refresh_my_view();

vs.

SELECT refresh_my_view();

YaraslauZhylko avatar May 22 '24 07:05 YaraslauZhylko