OK, NO ACTION (the default) no longer prints for foreign key constraints:

        regression=> \d clstr_tst
                                  Table "public.clstr_tst"
         Column |  Type   |                        Modifiers
        --------+---------+----------------------------------------------------------
         a      | integer | not null default nextval('public.clstr_tst_a_seq'::text)
         b      | integer |
         c      | text    |
         d      | text    |
        Indexes: clstr_tst_pkey primary key btree (a),
                 clstr_tst_b btree (b),
                 clstr_tst_b_c btree (b, c),
                 clstr_tst_c btree (c),
                 clstr_tst_c_b btree (c, b)
        Foreign Key constraints: clstr_tst_con FOREIGN KEY (b) REFERENCES 
clstr_tst_s(rf_a)
        
        

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

Christopher Kings-Lynne wrote:
> I vote for not showing 'NO ACTION', so long as it's the SQL standard
> default...
> 
> Chris
> 
> On Sat, 18 Jan 2003, Bruce Momjian wrote:
> 
> > Remember how we made DEFERRABLE/DEFERRED not print if the constraint was
> > the default.  Shouldn't we do the same for MATCH and ON UPDATE/ON DELETE
> > sections of the constraint in pg_get_constraintdef()?
> >
> > Doing \d I see:
> >
> >     test=> \d sales
> >               Table "public.sales"
> >           Column       |  Type   | Modifiers
> >     -------------------+---------+-----------
> >      product_id        | integer | not null
> >      store_id          | integer | not null
> >      quantity_sold     | integer | not null
> >      date_time_of_sale | date    | not null
> >     Foreign Key constraints: $1 FOREIGN KEY (product_id) REFERENCES
> >     products(product_id) ON UPDATE NO ACTION ON DELETE NO ACTION,
> >                              $2 FOREIGN KEY (store_id) REFERENCES
> >     stores(store_id) ON UPDATE NO ACTION ON DELETE NO ACTION
> >
> > If NO ACTION is the default, is there a need to print them?  This would
> > also shorten pg_dump output.
> >
> > --
> >   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
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
> >
> 
> 

-- 
  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.132
diff -c -c -r1.132 ruleutils.c
*** src/backend/utils/adt/ruleutils.c   10 Jan 2003 21:08:15 -0000      1.132
--- src/backend/utils/adt/ruleutils.c   3 Feb 2003 14:57:33 -0000
***************
*** 642,648 ****
                                switch (conForm->confupdtype)
                                {
                                        case FKCONSTR_ACTION_NOACTION:
!                                               string = "NO ACTION";
                                                break;
                                        case FKCONSTR_ACTION_RESTRICT:
                                                string = "RESTRICT";
--- 642,648 ----
                                switch (conForm->confupdtype)
                                {
                                        case FKCONSTR_ACTION_NOACTION:
!                                               string = "";
                                                break;
                                        case FKCONSTR_ACTION_RESTRICT:
                                                string = "RESTRICT";
***************
*** 662,673 ****
                                                string = "";    /* keep compiler quiet 
*/
                                                break;
                                }
!                               appendStringInfo(&buf, " ON UPDATE %s", string);
  
                                switch (conForm->confdeltype)
                                {
                                        case FKCONSTR_ACTION_NOACTION:
!                                               string = "NO ACTION";
                                                break;
                                        case FKCONSTR_ACTION_RESTRICT:
                                                string = "RESTRICT";
--- 662,674 ----
                                                string = "";    /* keep compiler quiet 
*/
                                                break;
                                }
!                               if (strlen(string) != 0)
!                                       appendStringInfo(&buf, " ON UPDATE %s", 
string);
  
                                switch (conForm->confdeltype)
                                {
                                        case FKCONSTR_ACTION_NOACTION:
!                                               string = "";
                                                break;
                                        case FKCONSTR_ACTION_RESTRICT:
                                                string = "RESTRICT";
***************
*** 687,693 ****
                                                string = "";    /* keep compiler quiet 
*/
                                                break;
                                }
!                               appendStringInfo(&buf, " ON DELETE %s", string);
  
                                if (conForm->condeferrable)
                                        appendStringInfo(&buf, " DEFERRABLE");
--- 688,695 ----
                                                string = "";    /* keep compiler quiet 
*/
                                                break;
                                }
!                               if (strlen(string) != 0)
!                                       appendStringInfo(&buf, " ON DELETE %s", 
string);
  
                                if (conForm->condeferrable)
                                        appendStringInfo(&buf, " DEFERRABLE");
---------------------------(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