Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add support for renaming domain constraints

  1. nodes/*funcs.c inconsistencies

    Noah Misch <noah@leadboat.com> — 2012-04-16T10:25:15Z

    I observed these inconsistencies in node support functions:
    
    - _copyReassignOwnedStmt() uses COPY_SCALAR_FIELD() on the string field
      "newrole", and _equalReassignOwnedStmt() uses COMPARE_NODE_FIELD().
    
    - _outCreateForeignTableStmt() calls _outCreateStmt() directly.  This produces
      the label "CREATEFOREIGNTABLESTMTCREATESTMT".  The attached patch splits
      things out the way we normally do in outfuncs.c.  There's no readfuncs.c
      support, so this is strictly cosmetic.
    
    - _outColumnDef() uses WRITE_INT_FIELD for the "storage" field, a char.
      Again, no readfuncs.c support to create a compatibility problem.
    
    - _copyRenameStmt() and _equalRenameStmt() ignore the "relationType" field,
      but I can't see a good reason to do so.  PostgreSQL 9.1 added this field,
      but only recent master (after commit 38b9693f of 3 April 2012) references
      the field beyond setting it in the parser.
    
    - _copyViewStmt() and _equalViewStmt() ignore the "options" field, and
      _equalColumnDef() ignores "fdwoptions".  These are new in PostgreSQL 9.2,
      and I see no good reason to ignore them.
    
    I'd suggest backpatching the ReassignOwnedStmt() bits; the wrong code could
    produce crashes.  The rest are for master only.
    
    Thanks,
    nm
    
  2. Re: nodes/*funcs.c inconsistencies

    Robert Haas <robertmhaas@gmail.com> — 2012-04-18T14:47:37Z

    On Mon, Apr 16, 2012 at 6:25 AM, Noah Misch <noah@leadboat.com> wrote:
    > I'd suggest backpatching the ReassignOwnedStmt() bits; the wrong code could
    > produce crashes.  The rest are for master only.
    
    Done, in the manner you suggest.
    
    -- 
    Robert Haas
    EnterpriseDB: http://www.enterprisedb.com
    The Enterprise PostgreSQL Company
    
    
  3. Re: nodes/*funcs.c inconsistencies

    Alvaro Herrera <alvherre@commandprompt.com> — 2012-04-18T15:03:14Z

    Excerpts from Robert Haas's message of mié abr 18 11:47:37 -0300 2012:
    > On Mon, Apr 16, 2012 at 6:25 AM, Noah Misch <noah@leadboat.com> wrote:
    > > I'd suggest backpatching the ReassignOwnedStmt() bits; the wrong code could
    > > produce crashes.  The rest are for master only.
    > 
    > Done, in the manner you suggest.
    
    Pah.  I was just done with it and was about to push it ...
    
    -- 
    Álvaro Herrera <alvherre@commandprompt.com>
    The PostgreSQL Company - Command Prompt, Inc.
    PostgreSQL Replication, Consulting, Custom Development, 24x7 support
    
    
  4. Re: nodes/*funcs.c inconsistencies

    Noah Misch <noah@leadboat.com> — 2015-08-02T20:28:43Z

    On Mon, Apr 16, 2012 at 06:25:15AM -0400, Noah Misch wrote:
    > I observed these inconsistencies in node support functions:
    
    A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    INT/UINT or field order corrections.  The non-cosmetic changes involve
    CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    "cmd" string pointer as a scalar) were deliberate, please let me know.
    
    Thanks,
    nm
    
    [1] The _equalCreateEventTrigStmt() cosmetic change is relevant as far back as
    9.3, but I won't back-patch it further than the others (9.5).
    
  5. Re: nodes/*funcs.c inconsistencies

    Tom Lane <tgl@sss.pgh.pa.us> — 2015-08-02T21:37:42Z

    Noah Misch <noah@leadboat.com> writes:
    > On Mon, Apr 16, 2012 at 06:25:15AM -0400, Noah Misch wrote:
    >> I observed these inconsistencies in node support functions:
    
    > A fresh audit found the attached problems new in 9.5[1].
    
    Many thanks for doing that; I'd had the same checking on my personal to-do
    list, but now will not need to.
    
    			regards, tom lane
    
    
    
  6. Re: nodes/*funcs.c inconsistencies

    Peter Geoghegan <pg@heroku.com> — 2015-08-02T22:07:34Z

    On Sun, Aug 2, 2015 at 1:28 PM, Noah Misch <noah@leadboat.com> wrote:
    > A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    > INT/UINT or field order corrections.
    
    I was responsible for a couple of the cosmetic ones. Sorry about that.
    
    It occurs to me that we could do a little more to prevent this
    automatically. Couldn't we adopt
    AssertVariableIsOfType()/AssertVariableIsOfTypeMacro() to macros like
    READ_UINT_FIELD()?
    
    I'm surprised that this stuff was only ever used for logical decoding
    infrastructure so far.
    -- 
    Peter Geoghegan
    
    
    
  7. Re: nodes/*funcs.c inconsistencies

    Peter Geoghegan <pg@heroku.com> — 2015-08-02T22:18:02Z

    On Sun, Aug 2, 2015 at 3:07 PM, Peter Geoghegan <pg@heroku.com> wrote:
    > I'm surprised that this stuff was only ever used for logical decoding
    > infrastructure so far.
    
    On second thought, having tried it, one reason is that that breaks
    things that are considered legitimate for historical reasons. For
    example, AttrNumber is often used with READ_INT_FIELD(), which is an
    int16. Whether or not it's worth fixing that by introducing a
    READ_ATTRNUM_FIELD() (and so on) is not obvious to me.
    
    -- 
    Peter Geoghegan
    
    
    
  8. Re: nodes/*funcs.c inconsistencies

    Stephen Frost <sfrost@snowman.net> — 2015-08-03T00:32:23Z

    Noah,
    
    * Noah Misch (noah@leadboat.com) wrote:
    > On Mon, Apr 16, 2012 at 06:25:15AM -0400, Noah Misch wrote:
    > > I observed these inconsistencies in node support functions:
    > 
    > A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    > INT/UINT or field order corrections.  The non-cosmetic changes involve
    > CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    > existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    > "cmd" string pointer as a scalar) were deliberate, please let me know.
    
    Thanks for the review.  The change you have is correct for
    CreatePolicyStmt, at least.  I imagine I confused it with polcmd, which
    is actually just a char.
    
    Barring objections, I'll change it to cmd_name after your commit, to
    reduce the chances of future confusion.
    
    	Thanks again!
    
    		Stephen
    
  9. Re: nodes/*funcs.c inconsistencies

    Kouhei Kaigai <kaigai@ak.jp.nec.com> — 2015-08-03T01:32:10Z

    > On Mon, Apr 16, 2012 at 06:25:15AM -0400, Noah Misch wrote:
    > > I observed these inconsistencies in node support functions:
    > 
    > A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    > INT/UINT or field order corrections.  The non-cosmetic changes involve
    > CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    > existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    > "cmd" string pointer as a scalar) were deliberate, please let me know.
    >
    Thanks for your works.
    
    I also noticed one other inconsistent point; _outMergeJoin() dumps
    mergeNullsFirst[] array but it does not use booltostr() macro.
    
    Best regards,
    --
    NEC Business Creation Division / PG-Strom Project
    KaiGai Kohei <kaigai@ak.jp.nec.com>
    
    
    
    
  10. Re: nodes/*funcs.c inconsistencies

    Noah Misch <noah@leadboat.com> — 2015-08-03T02:20:12Z

    On Mon, Aug 03, 2015 at 01:32:10AM +0000, Kouhei Kaigai wrote:
    > > On Mon, Apr 16, 2012 at 06:25:15AM -0400, Noah Misch wrote:
    > > > I observed these inconsistencies in node support functions:
    > > 
    > > A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    > > INT/UINT or field order corrections.  The non-cosmetic changes involve
    > > CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    > > existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    > > "cmd" string pointer as a scalar) were deliberate, please let me know.
    > >
    > Thanks for your works.
    > 
    > I also noticed one other inconsistent point; _outMergeJoin() dumps
    > mergeNullsFirst[] array but it does not use booltostr() macro.
    
    Good catch.  All supported branches work that way, and it's not wrong.  I
    recommend keeping it unchanged.
    
    
    
  11. Re: nodes/*funcs.c inconsistencies

    Tom Lane <tgl@sss.pgh.pa.us> — 2015-08-03T03:31:16Z

    Stephen Frost <sfrost@snowman.net> writes:
    > Noah,
    >> A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    >> INT/UINT or field order corrections.  The non-cosmetic changes involve
    >> CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    >> existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    >> "cmd" string pointer as a scalar) were deliberate, please let me know.
    
    > Thanks for the review.  The change you have is correct for
    > CreatePolicyStmt, at least.  I imagine I confused it with polcmd, which
    > is actually just a char.
    
    > Barring objections, I'll change it to cmd_name after your commit, to
    > reduce the chances of future confusion.
    
    Both of you please keep in mind that these "cosmetic" changes are
    initdb-forcing, at least if they affect node types that can appear
    in stored rules.
    
    That being the case, it would probably be a good idea to get them done
    before alpha2, as there may not be a good opportunity afterwards.
    
    			regards, tom lane
    
    
    
  12. Re: nodes/*funcs.c inconsistencies

    Noah Misch <noah@leadboat.com> — 2015-08-03T03:47:40Z

    On Sun, Aug 02, 2015 at 11:31:16PM -0400, Tom Lane wrote:
    > Stephen Frost <sfrost@snowman.net> writes:
    > > Noah,
    > >> A fresh audit found the attached problems new in 9.5[1].  Most are cosmetic
    > >> INT/UINT or field order corrections.  The non-cosmetic changes involve
    > >> CustomPath, CustomScan, and CreatePolicyStmt.  Feature committers, if the
    > >> existing treatments (ignore custom_plans/custom_paths fields; copy/compare
    > >> "cmd" string pointer as a scalar) were deliberate, please let me know.
    > 
    > > Thanks for the review.  The change you have is correct for
    > > CreatePolicyStmt, at least.  I imagine I confused it with polcmd, which
    > > is actually just a char.
    > 
    > > Barring objections, I'll change it to cmd_name after your commit, to
    > > reduce the chances of future confusion.
    
    The existing identifier seems fine, but won't I mind that change, either.
    
    > Both of you please keep in mind that these "cosmetic" changes are
    > initdb-forcing, at least if they affect node types that can appear
    > in stored rules.
    
    Right; Stephen's does not force initdb, but some of what I posted does so.
    
    > That being the case, it would probably be a good idea to get them done
    > before alpha2, as there may not be a good opportunity afterwards.
    
    Freedom to bump catversion after alpha2 will be barely-distinguishable from
    freedom to do so now.  I have planned to leave my usual comment period of a
    few days, though skipping that would be rather innocuous in this case.
    
    
    
  13. Re: nodes/*funcs.c inconsistencies

    Stephen Frost <sfrost@snowman.net> — 2015-08-03T16:55:42Z

    * Noah Misch (noah@leadboat.com) wrote:
    > On Sun, Aug 02, 2015 at 11:31:16PM -0400, Tom Lane wrote:
    > > That being the case, it would probably be a good idea to get them done
    > > before alpha2, as there may not be a good opportunity afterwards.
    > 
    > Freedom to bump catversion after alpha2 will be barely-distinguishable from
    > freedom to do so now.  I have planned to leave my usual comment period of a
    > few days, though skipping that would be rather innocuous in this case.
    
    This is clearly necessary, of course, and I wouldn't be surprised if we
    have another necessary bump post-alpha2, but at the same time, it'd
    certainly be nice if we are able to put out alpha2 and then a beta1 in
    the future without needing to do a bump.
    
    In other words, +1 from me for going ahead and committing this for
    alpha2, if possible.
    
    	Thanks!
    
    		Stephen
    
  14. Re: nodes/*funcs.c inconsistencies

    Alvaro Herrera <alvherre@2ndquadrant.com> — 2015-08-03T16:57:12Z

    Peter Geoghegan wrote:
    > On Sun, Aug 2, 2015 at 3:07 PM, Peter Geoghegan <pg@heroku.com> wrote:
    > > I'm surprised that this stuff was only ever used for logical decoding
    > > infrastructure so far.
    > 
    > On second thought, having tried it, one reason is that that breaks
    > things that are considered legitimate for historical reasons. For
    > example, AttrNumber is often used with READ_INT_FIELD(), which is an
    > int16. Whether or not it's worth fixing that by introducing a
    > READ_ATTRNUM_FIELD() (and so on) is not obvious to me.
    
    If it allows us to introduce additional checking for new code, I'm all
    for it.
    
    -- 
    Álvaro Herrera                http://www.2ndQuadrant.com/
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
    
    
    
  15. Re: nodes/*funcs.c inconsistencies

    Joe Conway <mail@joeconway.com> — 2015-08-03T16:57:52Z

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1
    
    On 08/03/2015 09:55 AM, Stephen Frost wrote:
    > * Noah Misch (noah@leadboat.com) wrote:
    >> On Sun, Aug 02, 2015 at 11:31:16PM -0400, Tom Lane wrote:
    >>> That being the case, it would probably be a good idea to get
    >>> them done before alpha2, as there may not be a good opportunity
    >>> afterwards.
    >> 
    >> Freedom to bump catversion after alpha2 will be
    >> barely-distinguishable from freedom to do so now.  I have planned
    >> to leave my usual comment period of a few days, though skipping
    >> that would be rather innocuous in this case.
    > 
    > This is clearly necessary, of course, and I wouldn't be surprised
    > if we have another necessary bump post-alpha2, but at the same
    > time, it'd certainly be nice if we are able to put out alpha2 and
    > then a beta1 in the future without needing to do a bump.
    > 
    > In other words, +1 from me for going ahead and committing this for 
    > alpha2, if possible.
    
    +1
    
    
    - -- 
    Joe Conway
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2.0.22 (GNU/Linux)
    
    iQIcBAEBAgAGBQJVv52QAAoJEDfy90M199hl/skP+wXfyo8axMipFwyV9fqesFHF
    xRc8j2QHUOVTyqAA9TdksSL1+t8h7a6PmEL6ucIUyGIfcBZaY5kw9/IOQxac8i0W
    ZxAElSzFSL8xpimSehZCKLHTF4fTlypSA1srVOb2py6vjOQK+7PZAnlP42TXEgBT
    gk6HnAFQBJ6cx8KckYHdqQFPtTKLyglSFLeOCBfbwymOBZgjEopdzTDsE17Z07m8
    ZQq08jiSPJKGmwiLI7SCMlA5DMI6B9OV2/h8GXfxP833oR8Z8wQrvzQkM0GnJU5w
    Hirk8ECEJndBuLyyVl0suzabNUNdzVWvXQHMIP2+0aW/secAiUbkVdF7o0B5l8qI
    GZaHFCZ37BdKgppjApCCLmA/1Th2hHKEwGsIWGiBMQhWfKeRzXxuUZYqSF+YZDRN
    ju5ZhJOlmKiLv0AyuMPw9T25X8fTzBwAppjL7r6HM610rNOM0izYz8+7K0ckq74/
    jfbt+FuKxGwp8Phz7mm7APOsDsrhNkQgmn1WpnqgJBQwXTRZGzn2ne9npvmUAo3C
    4Hiaib2fTIq2Q39scT51b5enjtkPa9S2o4MF+32JP6g5UmLMe3GMpa5V2itvCuN3
    ue8AzgNoeyd3oOlqPh9XJi/Kk68it4UacXRkiZAJ9cLTEMixVUjuaVkCyFxsmKxb
    vvNa2Of440JgSc2Hw21p
    =vdZZ
    -----END PGP SIGNATURE-----
    
    
    
  16. Re: nodes/*funcs.c inconsistencies

    Alvaro Herrera <alvherre@2ndquadrant.com> — 2015-08-03T17:00:15Z

    Peter Geoghegan wrote:
    
    > Couldn't we adopt
    > AssertVariableIsOfType()/AssertVariableIsOfTypeMacro() to macros like
    > READ_UINT_FIELD()?
    > 
    > I'm surprised that this stuff was only ever used for logical decoding
    > infrastructure so far.
    
    The reason it's only used there is that Andres is the one who introduced
    those macros precisely for that code.  We've not yet had time to adjust 
    the rest of the code to have more sanity checks.
    
    -- 
    Álvaro Herrera                http://www.2ndQuadrant.com/
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
    
    
    
  17. Re: nodes/*funcs.c inconsistencies

    Noah Misch <noah@leadboat.com> — 2015-08-06T01:16:01Z

    On Mon, Aug 03, 2015 at 09:57:52AM -0700, Joe Conway wrote:
    > On 08/03/2015 09:55 AM, Stephen Frost wrote:
    > > * Noah Misch (noah@leadboat.com) wrote:
    > >> On Sun, Aug 02, 2015 at 11:31:16PM -0400, Tom Lane wrote:
    > >>> That being the case, it would probably be a good idea to get
    > >>> them done before alpha2, as there may not be a good opportunity
    > >>> afterwards.
    > >> 
    > >> Freedom to bump catversion after alpha2 will be
    > >> barely-distinguishable from freedom to do so now.  I have planned
    > >> to leave my usual comment period of a few days, though skipping
    > >> that would be rather innocuous in this case.
    > > 
    > > This is clearly necessary, of course, and I wouldn't be surprised
    > > if we have another necessary bump post-alpha2, but at the same
    > > time, it'd certainly be nice if we are able to put out alpha2 and
    > > then a beta1 in the future without needing to do a bump.
    > > 
    > > In other words, +1 from me for going ahead and committing this for 
    > > alpha2, if possible.
    > 
    > +1
    
    Rather than commit on an emergency basis in the few hours between these +1's
    and the wrap, I kept to my original schedule.  FYI, if it hadn't required
    emergency procedures (cancelling the day's plans so I could get to a notebook
    computer), I would have committed early based on the three +1s.
    
    
    
  18. Re: nodes/*funcs.c inconsistencies

    Stephen Frost <sfrost@snowman.net> — 2015-08-06T14:46:03Z

    Noah,
    
    * Noah Misch (noah@leadboat.com) wrote:
    > Rather than commit on an emergency basis in the few hours between these +1's
    > and the wrap, I kept to my original schedule.  FYI, if it hadn't required
    > emergency procedures (cancelling the day's plans so I could get to a notebook
    > computer), I would have committed early based on the three +1s.
    
    No worries, fully agreed that this was not an emergency in any way.
    
    	Thanks!
    
    		Stephen
    
  19. Re: nodes/*funcs.c inconsistencies

    Peter Geoghegan <pg@heroku.com> — 2015-11-07T01:25:11Z

    On Mon, Aug 3, 2015 at 10:00 AM, Alvaro Herrera
    <alvherre@2ndquadrant.com> wrote:
    >> Couldn't we adopt
    >> AssertVariableIsOfType()/AssertVariableIsOfTypeMacro() to macros like
    >> READ_UINT_FIELD()?
    >>
    >> I'm surprised that this stuff was only ever used for logical decoding
    >> infrastructure so far.
    >
    > The reason it's only used there is that Andres is the one who introduced
    > those macros precisely for that code.  We've not yet had time to adjust
    > the rest of the code to have more sanity checks.
    
    Any chance of picking this up, Andres?
    
    -- 
    Peter Geoghegan