Re: [HACKERS] dumping rules - Mailing list pgsql-hackers

From jwieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] dumping rules
Date
Msg-id m0z8pnB-000EBPC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Re: [HACKERS] Rules: first fix on monday  (jwieck@debis.com (Jan Wieck))
Responses Re: [HACKERS] dumping rules  (jwieck@debis.com (Jan Wieck))
List pgsql-hackers
I wrote:
>
> >
> > Jan,
> >
> > Whilst you are working on the rules system it would be nice if
> > you could look for an oportunity to store the plain text rule
> > definition at creation time.
> >
> > If the definition were stored in a table column it would allow us
> > to dump and restore databases in a more complete way.
> >
> > I looked at this some while ago myself but never got close to
> > making it work.
> >
> >    Keith.
> >
>
>     Yes,  that  would really be nice and I had something the like
>     already in mind.
>
> [...]
>     On   the  other  hand  wouldn't  it  be  too  complicated  to
>     reconstruct  a  command  from  the  parsetree,  that  exactly
>     creates  the  rule.  Reading a parsetree isn't fun, but after
>     all I did on the rewrite system I'm somewhat familiar with it
>     now  (sometimes  I  see  the  cup in a targetlist, the coffee
>     machine  in  the  rangetable  and  all  the  buttons  in  the
>     qualification  when  pulling  a  coffee  out  of it - think I
>     should I consult a psychist when the  rule  system  is  fixed
>     :-).
>
>
> Jan

    To  demonstrate  that  it really isn't that complicated as it
    looks, here is a C function that if defined in the backend as

        CREATE FUNCTION get_ruledef(name)
                RETURNS text AS '.../get_ruledef.so'
                LANGUAGE 'C';

    can be used to see a textual representation of the rule given
    as argument.

    It is able to handle ALL the rules  I  defined  in  the  test
    suite for my first fix (sent yesterday). In addition I tested
    a

        ... WHERE (att, att) IN (SELECT ...)

    in the definition of a  view.  Worked  too.  The  output  can
    easily  be fed back into a psql and produces exactly the same
    pg_rewrite entries that where there before.

    It is not complete (aggregates are not handled up to now  and
    there  might  be some other expression constructs, that could
    occur). But it's a starting point I think. At least we  could
    produce a view

        CREATE VIEW pg_rule AS
            SELECT rulename, get_ruledef(rulename) AS definition
            FROM pg_rewrite;

    Now pg_dump could output views as commands for regular tables
    and add commands for  the  rules.   It  must  omit  the  rule
    _retpg_user in the dump, but that's all.  All views and rules
    are restored.

    pg_dump should not select all rules at once, because if  only
    one  of the rules cannot be converted back to it's definition
    string, none could be dumped. Instead it should get a list of
    all  the  rule  names in pg_rewrite (without _retpg_user) and
    then loop over it getting one at a time.

    As soon as anybody reports an error (pg_dump cannot save rule
    ...)   we  know  what case isn't handled by get_ruledef() and
    could implement it.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#======================================== jwieck@debis.com (Jan Wieck) #


begin 644 get_ruledef.tar.gz
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
$`*``````
`
end

pgsql-hackers by date:

Previous
From: The Hermit Hacker
Date:
Subject: Re: [HACKERS] int8 type -- call for porting results!
Next
From: jwieck@debis.com (Jan Wieck)
Date:
Subject: Re: [HACKERS] dumping rules