I didn't like the functions ending in _ext.  I renamed them to _pp for
pretty print.  Patch attached and applied.

---------------------------------------------------------------------------

Tom Lane wrote:
> Andreas Pflug <[EMAIL PROTECTED]> writes:
> > I recoded the stuff as Tom recommended, leaving the non-pretty version 
> > function names as they used to be, inventing new pg_get_XXXX_ext 
> > functions for the extended stuff, and pushing the code down into 
> > pg_get_XXXX_worker functions when needed. We now need the additional 
> > prototype include patch from builtins.h.
> 
> Applied with some editorializing.  In particular, I don't believe the
> original did the right thing with (a - (b - c)).
> 
>                       regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/backend/utils/adt/ruleutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/ruleutils.c,v
retrieving revision 1.147
diff -c -c -r1.147 ruleutils.c
*** src/backend/utils/adt/ruleutils.c   30 Jul 2003 22:56:23 -0000      1.147
--- src/backend/utils/adt/ruleutils.c   31 Jul 2003 04:48:35 -0000
***************
*** 228,234 ****
  
  
  Datum
! pg_get_ruledef_ext(PG_FUNCTION_ARGS)
  {
        Oid                     ruleoid = PG_GETARG_OID(0);
        bool            pretty = PG_GETARG_BOOL(1);
--- 228,234 ----
  
  
  Datum
! pg_get_ruledef_pp(PG_FUNCTION_ARGS)
  {
        Oid                     ruleoid = PG_GETARG_OID(0);
        bool            pretty = PG_GETARG_BOOL(1);
***************
*** 337,343 ****
  
  
  Datum
! pg_get_viewdef_ext(PG_FUNCTION_ARGS)
  {
        /* By OID */
        Oid                     viewoid = PG_GETARG_OID(0);
--- 337,343 ----
  
  
  Datum
! pg_get_viewdef_pp(PG_FUNCTION_ARGS)
  {
        /* By OID */
        Oid                     viewoid = PG_GETARG_OID(0);
***************
*** 369,375 ****
  
  
  Datum
! pg_get_viewdef_name_ext(PG_FUNCTION_ARGS)
  {
        /* By qualified name */
        text       *viewname = PG_GETARG_TEXT_P(0);
--- 369,375 ----
  
  
  Datum
! pg_get_viewdef_name_pp(PG_FUNCTION_ARGS)
  {
        /* By qualified name */
        text       *viewname = PG_GETARG_TEXT_P(0);
***************
*** 630,636 ****
  }
  
  Datum
! pg_get_indexdef_ext(PG_FUNCTION_ARGS)
  {
        Oid                     indexrelid = PG_GETARG_OID(0);
        int32       colno = PG_GETARG_INT32(1);
--- 630,636 ----
  }
  
  Datum
! pg_get_indexdef_pp(PG_FUNCTION_ARGS)
  {
        Oid                     indexrelid = PG_GETARG_OID(0);
        int32       colno = PG_GETARG_INT32(1);
***************
*** 856,862 ****
  }
  
  Datum
! pg_get_constraintdef_ext(PG_FUNCTION_ARGS)
  {
        Oid                     constraintId = PG_GETARG_OID(0);
        bool            pretty = PG_GETARG_BOOL(1);
--- 856,862 ----
  }
  
  Datum
! pg_get_constraintdef_pp(PG_FUNCTION_ARGS)
  {
        Oid                     constraintId = PG_GETARG_OID(0);
        bool            pretty = PG_GETARG_BOOL(1);
***************
*** 1175,1181 ****
  }
  
  Datum
! pg_get_expr_ext(PG_FUNCTION_ARGS)
  {
        text    *expr = PG_GETARG_TEXT_P(0);
        Oid     relid = PG_GETARG_OID(1);
--- 1175,1181 ----
  }
  
  Datum
! pg_get_expr_pp(PG_FUNCTION_ARGS)
  {
        text    *expr = PG_GETARG_TEXT_P(0);
        Oid     relid = PG_GETARG_OID(1);
Index: src/include/catalog/pg_proc.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/catalog/pg_proc.h,v
retrieving revision 1.310
diff -c -c -r1.310 pg_proc.h
*** src/include/catalog/pg_proc.h       30 Jul 2003 22:56:24 -0000      1.310
--- src/include/catalog/pg_proc.h       31 Jul 2003 04:48:40 -0000
***************
*** 3406,3422 ****
  DESCR("I/O");
  
  /* System-view support functions with pretty-print option */
! DATA(insert OID = 2504 (  pg_get_ruledef         PGNSP PGUID 12 f f t f s 2 25 "26 
16"  pg_get_ruledef_ext - _null_ ));
  DESCR("source text of a rule with pretty-print option");
! DATA(insert OID = 2505 (  pg_get_viewdef         PGNSP PGUID 12 f f t f s 2 25 "25 
16"  pg_get_viewdef_name_ext - _null_ ));
  DESCR("select statement of a view with pretty-print option");
! DATA(insert OID = 2506 (  pg_get_viewdef         PGNSP PGUID 12 f f t f s 2 25 "26 
16"  pg_get_viewdef_ext - _null_ ));
  DESCR("select statement of a view with pretty-print option");
! DATA(insert OID = 2507 (  pg_get_indexdef        PGNSP PGUID 12 f f t f s 3 25 "26 
23 16"  pg_get_indexdef_ext - _null_ ));
  DESCR("index description (full create statement or single expression) with 
pretty-print option");
! DATA(insert OID = 2508 (  pg_get_constraintdef PGNSP PGUID 12 f f t f s 2 25 "26 16" 
 pg_get_constraintdef_ext - _null_ ));
  DESCR("constraint description with pretty-print option");
! DATA(insert OID = 2509 (  pg_get_expr            PGNSP PGUID 12 f f t f s 3 25 "25 
26 16"     pg_get_expr_ext - _null_ ));
  DESCR("deparse an encoded expression with pretty-print option");
  
  
--- 3406,3422 ----
  DESCR("I/O");
  
  /* System-view support functions with pretty-print option */
! DATA(insert OID = 2504 (  pg_get_ruledef         PGNSP PGUID 12 f f t f s 2 25 "26 
16"  pg_get_ruledef_pp - _null_ ));
  DESCR("source text of a rule with pretty-print option");
! DATA(insert OID = 2505 (  pg_get_viewdef         PGNSP PGUID 12 f f t f s 2 25 "25 
16"  pg_get_viewdef_name_pp - _null_ ));
  DESCR("select statement of a view with pretty-print option");
! DATA(insert OID = 2506 (  pg_get_viewdef         PGNSP PGUID 12 f f t f s 2 25 "26 
16"  pg_get_viewdef_pp - _null_ ));
  DESCR("select statement of a view with pretty-print option");
! DATA(insert OID = 2507 (  pg_get_indexdef        PGNSP PGUID 12 f f t f s 3 25 "26 
23 16"  pg_get_indexdef_pp - _null_ ));
  DESCR("index description (full create statement or single expression) with 
pretty-print option");
! DATA(insert OID = 2508 (  pg_get_constraintdef PGNSP PGUID 12 f f t f s 2 25 "26 16" 
 pg_get_constraintdef_pp - _null_ ));
  DESCR("constraint description with pretty-print option");
! DATA(insert OID = 2509 (  pg_get_expr            PGNSP PGUID 12 f f t f s 3 25 "25 
26 16"     pg_get_expr_pp - _null_ ));
  DESCR("deparse an encoded expression with pretty-print option");
  
  
Index: src/include/utils/builtins.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/utils/builtins.h,v
retrieving revision 1.224
diff -c -c -r1.224 builtins.h
*** src/include/utils/builtins.h        30 Jul 2003 22:56:24 -0000      1.224
--- src/include/utils/builtins.h        31 Jul 2003 04:48:41 -0000
***************
*** 441,459 ****
  
  /* ruleutils.c */
  extern Datum pg_get_ruledef(PG_FUNCTION_ARGS);
! extern Datum pg_get_ruledef_ext(PG_FUNCTION_ARGS);
  extern Datum pg_get_viewdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_viewdef_ext(PG_FUNCTION_ARGS);
  extern Datum pg_get_viewdef_name(PG_FUNCTION_ARGS);
! extern Datum pg_get_viewdef_name_ext(PG_FUNCTION_ARGS);
  extern Datum pg_get_indexdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_indexdef_ext(PG_FUNCTION_ARGS);
  extern Datum pg_get_triggerdef(PG_FUNCTION_ARGS);
  extern Datum pg_get_constraintdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_constraintdef_ext(PG_FUNCTION_ARGS);
  extern Datum pg_get_userbyid(PG_FUNCTION_ARGS);
  extern Datum pg_get_expr(PG_FUNCTION_ARGS);
! extern Datum pg_get_expr_ext(PG_FUNCTION_ARGS);
  extern char *deparse_expression(Node *expr, List *dpcontext,
                                   bool forceprefix, bool showimplicit);
  extern List *deparse_context_for(const char *aliasname, Oid relid);
--- 441,459 ----
  
  /* ruleutils.c */
  extern Datum pg_get_ruledef(PG_FUNCTION_ARGS);
! extern Datum pg_get_ruledef_pp(PG_FUNCTION_ARGS);
  extern Datum pg_get_viewdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_viewdef_pp(PG_FUNCTION_ARGS);
  extern Datum pg_get_viewdef_name(PG_FUNCTION_ARGS);
! extern Datum pg_get_viewdef_name_pp(PG_FUNCTION_ARGS);
  extern Datum pg_get_indexdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_indexdef_pp(PG_FUNCTION_ARGS);
  extern Datum pg_get_triggerdef(PG_FUNCTION_ARGS);
  extern Datum pg_get_constraintdef(PG_FUNCTION_ARGS);
! extern Datum pg_get_constraintdef_pp(PG_FUNCTION_ARGS);
  extern Datum pg_get_userbyid(PG_FUNCTION_ARGS);
  extern Datum pg_get_expr(PG_FUNCTION_ARGS);
! extern Datum pg_get_expr_pp(PG_FUNCTION_ARGS);
  extern char *deparse_expression(Node *expr, List *dpcontext,
                                   bool forceprefix, bool showimplicit);
  extern List *deparse_context_for(const char *aliasname, Oid relid);
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to