Обсуждение: Open 6.4 items

Поиск
Список
Период
Сортировка

Open 6.4 items

От
Bruce Momjian
Дата:
Additions
---------
CREATE TABLE test (x text, s serial) fails if no database creation permission
regression test all platforms

Serious Items
------------
change pg args for platforms that don't support argv changes(setproctitle()?, sendmail hack?)

Docs
----
generate html/postscript documentation
(User's Guide, Administrator's Guide, Programmer's Guide) (Thomas)
make sure all changes are documented properly
markup and merge JDBC docs from Peter (Thomas, others??)
merge the release notes into doc/src/sgml/release.sgml (Bruce, Thomas)
generate new text-format INSTALL and README from sgml sources (Thomas)
markup of Jan's PL docs

Minor items
-----------
cnf-ify still can exhaust memory, make SET KSQO more generic
permissions on indexes:  what do they do?  should it be prevented?
allow multiple generic operators in expressions without the use of parentheses
document/trigger/rule so changes to pg_shadow create pg_pwd
large objects orphanage
improve group handling
improve PRIMARY KEY handling
generate postmaster pid file and remove flock/fcntl lock code
add ability to specifiy location of lock/socket files

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Open 6.4 items

От
jwieck@debis.com (Jan Wieck)
Дата:
Bruce Momjian wrote:
>
> Additions
> ---------
> CREATE TABLE test (x text, s serial) fails if no database creation permission
> regression test all platforms

    The  patch  below  arranges  that the sequence(s) get created
    first.  Unprivileged user now can create  table  with  serial
    columns.

    Regression tested.


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) #


*** analyze.c.orig    Wed Oct 28 14:50:47 1998
--- analyze.c    Wed Oct 28 14:59:12 1998
***************
*** 42,48 ****
  static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
  static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);

! List       *extras = NIL;

  /*
   * parse_analyze -
--- 42,49 ----
  static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
  static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);

! List       *extras_before = NIL;
! List       *extras_after = NIL;

  /*
   * parse_analyze -
***************
*** 57,62 ****
--- 58,64 ----
  {
      QueryTreeList *result;
      ParseState *pstate;
+     Query *parsetree;
      int            i = 0;

      result = malloc(sizeof(QueryTreeList));
***************
*** 66,88 ****
      while (pl != NIL)
      {
          pstate = make_parsestate(parentParseState);
!         result->qtrees[i++] = transformStmt(pstate, lfirst(pl));
          if (pstate->p_target_relation != NULL)
              heap_close(pstate->p_target_relation);

!         if (extras != NIL)
          {
!             result->len += length(extras);
              result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
!             while (extras != NIL)
              {
!                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras));
                  if (pstate->p_target_relation != NULL)
                      heap_close(pstate->p_target_relation);
!                 extras = lnext(extras);
              }
          }
!         extras = NIL;
          pl = lnext(pl);
          pfree(pstate);
      }
--- 68,107 ----
      while (pl != NIL)
      {
          pstate = make_parsestate(parentParseState);
!         parsetree = transformStmt(pstate, lfirst(pl));
          if (pstate->p_target_relation != NULL)
              heap_close(pstate->p_target_relation);

!         if (extras_before != NIL)
          {
!             result->len += length(extras_before);
              result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
!             while (extras_before != NIL)
              {
!                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_before));
                  if (pstate->p_target_relation != NULL)
                      heap_close(pstate->p_target_relation);
!                 extras_before = lnext(extras_before);
              }
          }
!         extras_before = NIL;
!
!         result->qtrees[i++] = parsetree;
!
!         if (extras_after != NIL)
!         {
!             result->len += length(extras_after);
!             result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
!             while (extras_after != NIL)
!             {
!                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_after));
!                 if (pstate->p_target_relation != NULL)
!                     heap_close(pstate->p_target_relation);
!                 extras_after = lnext(extras_after);
!             }
!         }
!         extras_after = NIL;
!
          pl = lnext(pl);
          pfree(pstate);
      }
***************
*** 487,492 ****
--- 506,512 ----
      Constraint *constraint;
      List       *keys;
      Ident       *key;
+     List       *blist = NIL;
      List       *ilist = NIL;
      IndexStmt  *index;
      IndexElem  *iparam;
***************
*** 553,559 ****
                      elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
                        sequence->seqname, stmt->relname, column->colname);

!                     ilist = lcons(sequence, NIL);
                  }

                  if (column->constraints != NIL)
--- 573,579 ----
                      elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
                        sequence->seqname, stmt->relname, column->colname);

!                     blist = lcons(sequence, NIL);
                  }

                  if (column->constraints != NIL)
***************
*** 745,751 ****
      }

      q->utilityStmt = (Node *) stmt;
!     extras = ilist;

      return q;
  }
--- 765,772 ----
      }

      q->utilityStmt = (Node *) stmt;
!     extras_before = blist;
!     extras_after = ilist;

      return q;
  }

Re: [HACKERS] Open 6.4 items

От
The Hermit Hacker
Дата:
On Wed, 28 Oct 1998, Jan Wieck wrote:

> Bruce Momjian wrote:
> >
> > Additions
> > ---------
> > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > regression test all platforms
> 
>     The  patch  below  arranges  that the sequence(s) get created
>     first.  Unprivileged user now can create  table  with  serial
>     columns.
Is this safe to leave until post-v6.4 released? 
> 
>     Regression tested.
> 
> 
> 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) #
> 
> 
> *** analyze.c.orig    Wed Oct 28 14:50:47 1998
> --- analyze.c    Wed Oct 28 14:59:12 1998
> ***************
> *** 42,48 ****
>   static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
>   static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);
>   
> ! List       *extras = NIL;
>   
>   /*
>    * parse_analyze -
> --- 42,49 ----
>   static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
>   static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);
>   
> ! List       *extras_before = NIL;
> ! List       *extras_after = NIL;
>   
>   /*
>    * parse_analyze -
> ***************
> *** 57,62 ****
> --- 58,64 ----
>   {
>       QueryTreeList *result;
>       ParseState *pstate;
> +     Query *parsetree;
>       int            i = 0;
>   
>       result = malloc(sizeof(QueryTreeList));
> ***************
> *** 66,88 ****
>       while (pl != NIL)
>       {
>           pstate = make_parsestate(parentParseState);
> !         result->qtrees[i++] = transformStmt(pstate, lfirst(pl));
>           if (pstate->p_target_relation != NULL)
>               heap_close(pstate->p_target_relation);
>   
> !         if (extras != NIL)
>           {
> !             result->len += length(extras);
>               result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras != NIL)
>               {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras));
>                   if (pstate->p_target_relation != NULL)
>                       heap_close(pstate->p_target_relation);
> !                 extras = lnext(extras);
>               }
>           }
> !         extras = NIL;
>           pl = lnext(pl);
>           pfree(pstate);
>       }
> --- 68,107 ----
>       while (pl != NIL)
>       {
>           pstate = make_parsestate(parentParseState);
> !         parsetree = transformStmt(pstate, lfirst(pl));
>           if (pstate->p_target_relation != NULL)
>               heap_close(pstate->p_target_relation);
>   
> !         if (extras_before != NIL)
>           {
> !             result->len += length(extras_before);
>               result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras_before != NIL)
>               {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_before));
>                   if (pstate->p_target_relation != NULL)
>                       heap_close(pstate->p_target_relation);
> !                 extras_before = lnext(extras_before);
>               }
>           }
> !         extras_before = NIL;
> ! 
> !         result->qtrees[i++] = parsetree;
> ! 
> !         if (extras_after != NIL)
> !         {
> !             result->len += length(extras_after);
> !             result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras_after != NIL)
> !             {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_after));
> !                 if (pstate->p_target_relation != NULL)
> !                     heap_close(pstate->p_target_relation);
> !                 extras_after = lnext(extras_after);
> !             }
> !         }
> !         extras_after = NIL;
> ! 
>           pl = lnext(pl);
>           pfree(pstate);
>       }
> ***************
> *** 487,492 ****
> --- 506,512 ----
>       Constraint *constraint;
>       List       *keys;
>       Ident       *key;
> +     List       *blist = NIL;
>       List       *ilist = NIL;
>       IndexStmt  *index;
>       IndexElem  *iparam;
> ***************
> *** 553,559 ****
>                       elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
>                         sequence->seqname, stmt->relname, column->colname);
>   
> !                     ilist = lcons(sequence, NIL);
>                   }
>   
>                   if (column->constraints != NIL)
> --- 573,579 ----
>                       elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
>                         sequence->seqname, stmt->relname, column->colname);
>   
> !                     blist = lcons(sequence, NIL);
>                   }
>   
>                   if (column->constraints != NIL)
> ***************
> *** 745,751 ****
>       }
>   
>       q->utilityStmt = (Node *) stmt;
> !     extras = ilist;
>   
>       return q;
>   }
> --- 765,772 ----
>       }
>   
>       q->utilityStmt = (Node *) stmt;
> !     extras_before = blist;
> !     extras_after = ilist;
>   
>       return q;
>   }
> 

Marc G. Fournier                                
Systems Administrator @ hub.org 
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org 



Re: [HACKERS] Open 6.4 items

От
jwieck@debis.com (Jan Wieck)
Дата:
Marc wrote:

>
> On Wed, 28 Oct 1998, Jan Wieck wrote:
>
> > Bruce Momjian wrote:
> > >
> > > Additions
> > > ---------
> > > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > > regression test all platforms
> >
> >     The  patch  below  arranges  that the sequence(s) get created
> >     first.  Unprivileged user now can create  table  with  serial
> >     columns.
>
>    Is this safe to leave until post-v6.4 released?

    I  just  did it now to let Bruce get rid of the open item. If
    it shouldn't be in 6.4, why is it  on  it's  open  item  list
    then?


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) #

Re: [HACKERS] Open 6.4 items

От
Bruce Momjian
Дата:
Thanks.  Applied.

> Bruce Momjian wrote:
> >
> > Additions
> > ---------
> > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > regression test all platforms
> 
>     The  patch  below  arranges  that the sequence(s) get created
>     first.  Unprivileged user now can create  table  with  serial
>     columns.
> 
>     Regression tested.
> 
> 
> 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) #
> 
> 
> *** analyze.c.orig    Wed Oct 28 14:50:47 1998
> --- analyze.c    Wed Oct 28 14:59:12 1998
> ***************
> *** 42,48 ****
>   static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
>   static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);
>   
> ! List       *extras = NIL;
>   
>   /*
>    * parse_analyze -
> --- 42,49 ----
>   static Query *transformCursorStmt(ParseState *pstate, SelectStmt *stmt);
>   static Query *transformCreateStmt(ParseState *pstate, CreateStmt *stmt);
>   
> ! List       *extras_before = NIL;
> ! List       *extras_after = NIL;
>   
>   /*
>    * parse_analyze -
> ***************
> *** 57,62 ****
> --- 58,64 ----
>   {
>       QueryTreeList *result;
>       ParseState *pstate;
> +     Query *parsetree;
>       int            i = 0;
>   
>       result = malloc(sizeof(QueryTreeList));
> ***************
> *** 66,88 ****
>       while (pl != NIL)
>       {
>           pstate = make_parsestate(parentParseState);
> !         result->qtrees[i++] = transformStmt(pstate, lfirst(pl));
>           if (pstate->p_target_relation != NULL)
>               heap_close(pstate->p_target_relation);
>   
> !         if (extras != NIL)
>           {
> !             result->len += length(extras);
>               result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras != NIL)
>               {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras));
>                   if (pstate->p_target_relation != NULL)
>                       heap_close(pstate->p_target_relation);
> !                 extras = lnext(extras);
>               }
>           }
> !         extras = NIL;
>           pl = lnext(pl);
>           pfree(pstate);
>       }
> --- 68,107 ----
>       while (pl != NIL)
>       {
>           pstate = make_parsestate(parentParseState);
> !         parsetree = transformStmt(pstate, lfirst(pl));
>           if (pstate->p_target_relation != NULL)
>               heap_close(pstate->p_target_relation);
>   
> !         if (extras_before != NIL)
>           {
> !             result->len += length(extras_before);
>               result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras_before != NIL)
>               {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_before));
>                   if (pstate->p_target_relation != NULL)
>                       heap_close(pstate->p_target_relation);
> !                 extras_before = lnext(extras_before);
>               }
>           }
> !         extras_before = NIL;
> ! 
> !         result->qtrees[i++] = parsetree;
> ! 
> !         if (extras_after != NIL)
> !         {
> !             result->len += length(extras_after);
> !             result->qtrees = (Query **) realloc(result->qtrees, result->len * sizeof(Query *));
> !             while (extras_after != NIL)
> !             {
> !                 result->qtrees[i++] = transformStmt(pstate, lfirst(extras_after));
> !                 if (pstate->p_target_relation != NULL)
> !                     heap_close(pstate->p_target_relation);
> !                 extras_after = lnext(extras_after);
> !             }
> !         }
> !         extras_after = NIL;
> ! 
>           pl = lnext(pl);
>           pfree(pstate);
>       }
> ***************
> *** 487,492 ****
> --- 506,512 ----
>       Constraint *constraint;
>       List       *keys;
>       Ident       *key;
> +     List       *blist = NIL;
>       List       *ilist = NIL;
>       IndexStmt  *index;
>       IndexElem  *iparam;
> ***************
> *** 553,559 ****
>                       elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
>                         sequence->seqname, stmt->relname, column->colname);
>   
> !                     ilist = lcons(sequence, NIL);
>                   }
>   
>                   if (column->constraints != NIL)
> --- 573,579 ----
>                       elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
>                         sequence->seqname, stmt->relname, column->colname);
>   
> !                     blist = lcons(sequence, NIL);
>                   }
>   
>                   if (column->constraints != NIL)
> ***************
> *** 745,751 ****
>       }
>   
>       q->utilityStmt = (Node *) stmt;
> !     extras = ilist;
>   
>       return q;
>   }
> --- 765,772 ----
>       }
>   
>       q->utilityStmt = (Node *) stmt;
> !     extras_before = blist;
> !     extras_after = ilist;
>   
>       return q;
>   }
> 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Open 6.4 items

От
Bruce Momjian
Дата:
> Marc wrote:
> 
> >
> > On Wed, 28 Oct 1998, Jan Wieck wrote:
> >
> > > Bruce Momjian wrote:
> > > >
> > > > Additions
> > > > ---------
> > > > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > > > regression test all platforms
> > >
> > >     The  patch  below  arranges  that the sequence(s) get created
> > >     first.  Unprivileged user now can create  table  with  serial
> > >     columns.
> >
> >    Is this safe to leave until post-v6.4 released?
> 
>     I  just  did it now to let Bruce get rid of the open item. If
>     it shouldn't be in 6.4, why is it  on  it's  open  item  list
>     then?

It has been on the open items.  In fact, it is the only hot item, except
for the 'pg args' thing, which is not as hot.

It is serious breakage, in the sense that if we don't fix it, we must
remove reference to the new SERIAL type.

As to why no one fixed it earlier, ...?  Must be the same reason 'ps
args' is not fixed.  :-)

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Open 6.4 items

От
jwieck@debis.com (Jan Wieck)
Дата:
>
> Thanks.  Applied.
>
> > Bruce Momjian wrote:
> > >
> > > Additions
> > > ---------
> > > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > > regression test all platforms
> >
> >     The  patch  below  arranges  that the sequence(s) get created
> >     first.  Unprivileged user now can create  table  with  serial
> >     columns.
> >
> >     Regression tested.

    So  Marc's  assumption  that his BETA3 is what we release was
    false.  We really know how to trigger his hot buttons  -  eh?
    :-)


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) #

Re: [HACKERS] Open 6.4 items

От
Bruce Momjian
Дата:
> >
> > Thanks.  Applied.
> >
> > > Bruce Momjian wrote:
> > > >
> > > > Additions
> > > > ---------
> > > > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > > > regression test all platforms
> > >
> > >     The  patch  below  arranges  that the sequence(s) get created
> > >     first.  Unprivileged user now can create  table  with  serial
> > >     columns.
> > >
> > >     Regression tested.
> 
>     So  Marc's  assumption  that his BETA3 is what we release was
>     false.  We really know how to trigger his hot buttons  -  eh?
>     :-)

You want even worse.  I fixed a problem in the system table just now
with the lseg_eq <> problem.  That requires an initdb for people to see
the fix.

But we might as well fix it now, because we can't ask for initdb after
the final release.

Can someone check that that fix does not affect the regression test
results?  I doubt we do lseg not-equal tests in the regression suite.
You will have to do an initdb to see the change. 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Open 6.4 items

От
"Thomas G. Lockhart"
Дата:
> It is serious breakage, in the sense that if we don't fix it, we must
> remove reference to the new SERIAL type.
> As to why no one fixed it earlier, ...?  Must be the same reason 'ps
> args' is not fixed.  :-)

I'm comfortable with Jan's patches, and it's my code he's mucking with
:) For the transformation from serial to int4 with index and sequence,
the only time that code gets traversed is for the serial type. So it
shouldn't have hidden side effects (yeah, sure...)

'Course, I see Bruce has already committed it anyway...
                - Tom


Re: [HACKERS] Open 6.4 items

От
"Thomas G. Lockhart"
Дата:
>     So  Marc's  assumption  that his BETA3 is what we release was
>     false.  We really know how to trigger his hot buttons  -  eh?
>     :-)

Good point. I just committed a _very_ small bit of code in the ODBC
interface which is non-essential, but potentially useful.

Also, he will have to rebuild a tarball one more time anyway to get the
new docs, which won't be finished until the last minute.

Just to get his blood pressure up, I'll mention that there is a chance
I'll ask for a couple of extra days to finish docs, but I'm hoping to
have them done on time :)
                 - Tom


Re: [HACKERS] Open 6.4 items

От
Tom Lane
Дата:
Bruce Momjian <maillist@candle.pha.pa.us> writes:
> But we might as well fix it now, because we can't ask for initdb after
> the final release.

> Can someone check that that fix does not affect the regression test
> results?  I doubt we do lseg not-equal tests in the regression suite.
> You will have to do an initdb to see the change. 

I just rebuilt and initdb'd.  Regression test state is the same
as before, except that the new inet test fails:

*** expected/inet.out    Tue Oct 27 14:34:02 1998
--- results/inet.out    Wed Oct 28 14:02:45 1998
***************
*** 53,66 ****   i as inet, network(i) as "network(inet)" FROM INET_TBL; eight|cidr        |network(cidr)|inet
 |network(inet) -----+------------+-------------+----------------+-------------
 
!      |192.168.1/24|  0.1.168.192|192.168.1.226/24|  0.1.168.192
!      |192.168.1/24|  0.1.168.192|192.168.1.226   |226.1.168.192
!      |10/8        |     0.0.0.10|10.1.2.3/8      |     0.0.0.10
!      |10.0.0.0/32 |     0.0.0.10|10.1.2.3/8      |     0.0.0.10
!      |10.1.2.3/32 |     3.2.1.10|10.1.2.3        |     3.2.1.10
!      |10.1.2/24   |     0.2.1.10|10.1.2.3/24     |     0.2.1.10
!      |10.1/16     |     0.0.1.10|10.1.2.3/16     |     0.0.1.10
!      |10/8        |     0.0.0.10|10.1.2.3/8      |     0.0.0.10 (8 rows)  QUERY: SELECT '' as eight, c as cidr,
masklen(c)as "masklen(cidr)",
 
--- 53,66 ----   i as inet, network(i) as "network(inet)" FROM INET_TBL; eight|cidr        |network(cidr)|inet
 |network(inet) -----+------------+-------------+----------------+-------------
 
!      |192.168.1/24|  192.168.1.0|192.168.1.226/24|  192.168.1.0
!      |192.168.1/24|  192.168.1.0|192.168.1.226   |192.168.1.226
!      |10/8        |     10.0.0.0|10.1.2.3/8      |     10.0.0.0
!      |10.0.0.0/32 |     10.0.0.0|10.1.2.3/8      |     10.0.0.0
!      |10.1.2.3/32 |     10.1.2.3|10.1.2.3        |     10.1.2.3
!      |10.1.2/24   |     10.1.2.0|10.1.2.3/24     |     10.1.2.0
!      |10.1/16     |     10.1.0.0|10.1.2.3/16     |     10.1.0.0
!      |10/8        |     10.0.0.0|10.1.2.3/8      |     10.0.0.0 (8 rows)  QUERY: SELECT '' as eight, c as cidr,
masklen(c)as "masklen(cidr)",
 

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

Offhand I would say that it's the "expected" file that is broken.
Shouldn't those octets be coming out in the other order?
        regards, tom lane


Re: [HACKERS] Open 6.4 items

От
The Hermit Hacker
Дата:
On Wed, 28 Oct 1998, Jan Wieck wrote:

> >
> > Thanks.  Applied.
> >
> > > Bruce Momjian wrote:
> > > >
> > > > Additions
> > > > ---------
> > > > CREATE TABLE test (x text, s serial) fails if no database creation permission
> > > > regression test all platforms
> > >
> > >     The  patch  below  arranges  that the sequence(s) get created
> > >     first.  Unprivileged user now can create  table  with  serial
> > >     columns.
> > >
> > >     Regression tested.
> 
>     So  Marc's  assumption  that his BETA3 is what we release was
>     false.  We really know how to trigger his hot buttons  -  eh?
>     :-)
If it was 'the release', it wouldn't have been named BETA :)  I'll
build a BETA4 tomorrow...release set for Monday...


Marc G. Fournier                                
Systems Administrator @ hub.org 
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org