Thread

  1. Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement

    Akshay Joshi <akshay.joshi@enterprisedb.com> — 2025-11-03T11:47:40Z

    Hi Hackers,
    
    Added a new #define GET_DDL_PRETTY_FLAGS because the existing #define
    GET_PRETTY_FLAGS is not suitable for formatting reconstructed DDLs. The
    existing #define GET_PRETTY_FLAGS always indents the code, regardless of
    whether the flag is set to true or false, which is not the desired behavior
    for pg_get_<object>_ddl functions.
    
    Updated the logic of the get_formatted_string function based on Tim
    Waizenegger’s suggestion.
    
    I am attaching the new v6 patch, which is ready for review.
    
    On Tue, Oct 28, 2025 at 3:08 PM Akshay Joshi <akshay.joshi@enterprisedb.com>
    wrote:
    
    > Thanks, Mark, for your review comments and the updated patch.
    >
    > I’ve incorporated your changes and prepared a combined v5 patch. The v5
    > patch is attached for further review.
    >
    > On Mon, Oct 27, 2025 at 10:15 PM Mark Wong <markwkm@gmail.com> wrote:
    >
    >> Hi everyone,
    >>
    >> On Thu, Oct 16, 2025 at 01:47:53PM +0530, Akshay Joshi wrote:
    >> >
    >> >
    >> > On Wed, Oct 15, 2025 at 10:55 PM Álvaro Herrera <alvherre@kurilemu.de>
    >> wrote:
    >> >
    >> >     Hello,
    >> >
    >> >     I have reviewed this patch before and provided a number of comments
    >> that
    >> >     have been addressed by Akshay (so I encourage you to list my name
    >> and
    >> >     this address in a Reviewed-by trailer line in the commit message).
    >> One
    >> >     thing I had not noticed is that while this function has a "pretty"
    >> flag,
    >> >     it doesn't use it to pass anything to pg_get_expr_worker()'s
    >> prettyFlags
    >> >     argument, and I think it should -- probably just
    >> >
    >> >       prettyFlags = GET_PRETTY_FLAGS(pretty);
    >> >
    >> >     same as pg_get_querydef() does.
    >>
    >> Kinda sorta similar thought, I've noticed some existing functions like
    >> pg_get_constraintdef make the "pretty" flag optional, so I'm wondering
    >> if that scheme is also preferred here.
    >>
    >> I've attached a small diff to the original
    >> 0001-Add-pg_get_policy_ddl-function-to-reconstruct-CREATE.patch to
    >> illustrate the additional work to follow suit, if so desired.
    >>
    >> Regards,
    >> Mark
    >> --
    >> Mark Wong <markwkm@gmail.com>
    >> EDB https://enterprisedb.com
    >>
    >