1. 13 Jun, 2017 8 commits
  2. 12 Jun, 2017 9 commits
  3. 11 Jun, 2017 2 commits
    • Tom Lane's avatar
      Handle unqualified SEQUENCE NAME options properly in parse_utilcmd.c. · 51893985
      Tom Lane authored
      generateSerialExtraStmts() was sloppy about handling the case where
      SEQUENCE NAME is given with a not-schema-qualified name.  It was generating
      a CreateSeqStmt with an unqualified sequence name, and an AlterSeqStmt
      whose "owned_by" DefElem contained a T_String Value with a null string
      pointer in the schema-name position.  The generated nextval() argument was
      also underqualified.  This accidentally failed to fail at runtime, but only
      so long as the current default creation namespace at runtime is the right
      namespace.  That's bogus; the parse-time transformation is supposed to be
      inserting the right schema name in all cases, so as to avoid any possible
      skew in that selection.  I'm not sure this could fail in pg_dump's usage,
      but it's still wrong; we have had real bugs in this area before adopting
      the policy that parse_utilcmd.c should generate only fully-qualified
      auxiliary commands.  A slightly lesser problem, which is what led me to
      notice this in the first place, is that pprint() dumped core on the
      AlterSeqStmt because of the bogus T_String.
      
      Noted while poking into the open problem with ALTER SEQUENCE breaking
      pg_upgrade.
      51893985
    • Joe Conway's avatar
      Apply RLS policies to partitioned tables. · 4f7a95be
      Joe Conway authored
      The new partitioned table capability added a new relkind, namely
      RELKIND_PARTITIONED_TABLE. Update fireRIRrules() to apply RLS
      policies on RELKIND_PARTITIONED_TABLE as it does RELKIND_RELATION.
      
      In addition, add RLS regression test coverage for partitioned tables.
      
      Issue raised by Fakhroutdinov Evgenievich and patch by Mike Palmiotto.
      Regression test editorializing by me.
      
      Discussion: https://postgr.es/m/flat/20170601065959.1486.69906@wrigleys.postgresql.org
      4f7a95be
  4. 10 Jun, 2017 2 commits
  5. 09 Jun, 2017 10 commits
  6. 08 Jun, 2017 9 commits
    • Andres Freund's avatar
      Use standard interrupt handling in logical replication launcher. · 2c48f5db
      Andres Freund authored
      Previously the exit handling was only able to exit from within the
      main loop, and not from within the backend code it calls.  Fix that by
      using the standard die() SIGTERM handler, and adding the necessary
      CHECK_FOR_INTERRUPTS() call.
      
      This requires adding yet another process-type-specific branch to
      ProcessInterrupts(), which hints that we probably should generalize
      that handling.  But that's work for another day.
      
      Author: Petr Jelinek
      Reviewed-By: Andres Freund
      Discussion: https://postgr.es/m/fe072153-babd-3b5d-8052-73527a6eb657@2ndquadrant.com
      2c48f5db
    • Andres Freund's avatar
      Again report a useful error message when walreceiver's connection closes. · 5fd56b9f
      Andres Freund authored
      Since 7c4f5240 (merged in v10), a shutdown master is reported as
        FATAL:  unexpected result after CommandComplete: server closed the connection unexpectedly
      by walsender. It used to be
        LOG:  replication terminated by primary server
        FATAL:  could not send end-of-streaming message to primary: no COPY in progress
      while the old message clearly is not perfect, it's definitely better
      than what's reported now.
      
      The change comes from the attempt to handle finished COPYs without
      erroring out, needed for the new logical replication, which wasn't
      needed before.
      
      There's probably better ways to handle this, but for now just
      explicitly check for a closed connection.
      
      Author: Petr Jelinek
      Reviewed-By: Andres Freund
      Discussion: https://postgr.es/m/f7c7dd08-855c-e4ed-41f4-d064a6c0665a@2ndquadrant.com
      Backpatch: -
      5fd56b9f
    • Peter Eisentraut's avatar
      Update key words table for version 10 · 5c4109f2
      Peter Eisentraut authored
      5c4109f2
    • Andrew Dunstan's avatar
      Mark to_tsvector(regconfig,json[b]) functions immutable · f7e6853e
      Andrew Dunstan authored
      This make them consistent with the text function and means they can be
      used in functional indexes.
      
      Catalog version bumped.
      
      Per gripe from Josh Berkus.
      f7e6853e
    • Tom Lane's avatar
      Fix bit-rot in pg_upgrade's test.sh, and improve documentation. · 5bab1985
      Tom Lane authored
      Doing a cross-version upgrade test with test.sh evidently hasn't been
      tested since circa 9.2, because the script lacked case branches for
      old-version servers newer than 9.1.  Future-proof that a bit, and
      clean up breakage induced by our recent drop of V0 function call
      protocol (namely that oldstyle_length() isn't in the regression
      suite anymore).
      
      (This isn't enough to make the test work perfectly cleanly across
      versions, but at least it finishes and provides dump files that
      you can diff manually.  One issue I didn't touch is that we might
      want to execute the "reindex_hash.sql" file in the new DB before
      dumping it, so that the hash indexes don't vanish from the dump.)
      
      Improve the TESTING doc file: put the tl;dr version at the top not
      the bottom, and bring its explanation of how to run a cross-version
      test up to speed, since the installcheck target isn't there and won't
      be resurrected.  Improve the comment in the Makefile about why not.
      
      In passing, teach .gitignore and "make clean" about a couple more
      junk output files.
      
      Discussion: https://postgr.es/m/14058.1496892482@sss.pgh.pa.us
      5bab1985
    • Heikki Linnakangas's avatar
      Improve authentication error messages. · e3df8f8b
      Heikki Linnakangas authored
      Most of the improvements were in the new SCRAM code:
      
      * In SCRAM protocol violation messages, use errdetail to provide the
        details.
      
      * If pg_backend_random() fails, throw an ERROR rather than just LOG. We
        shouldn't continue authentication if we can't generate a random nonce.
      
      * Use ereport() rather than elog() for the "invalid SCRAM verifier"
        messages. They shouldn't happen, if everything works, but it's not
        inconceivable that someone would have invalid scram verifiers in
        pg_authid, e.g. if a broken client application was used to generate the
        verifier.
      
      But this change applied to old code:
      
      * Use ERROR rather than COMMERROR for protocol violation errors. There's
        no reason to not tell the client what they did wrong. The client might be
        confused already, so that it cannot read and display the error correctly,
        but let's at least try. In the "invalid password packet size" case, we
        used to actually continue with authentication anyway, but that is now a
        hard error.
      
      Patch by Michael Paquier and me. Thanks to Daniel Varrazzo for spotting
      the typo in one of the messages that spurred the discussion and these
      larger changes.
      
      Discussion: https://www.postgresql.org/message-id/CA%2Bmi_8aZYLhuyQi1Jo0hO19opNZ2OEATEOM5fKApH7P6zTOZGg%40mail.gmail.com
      e3df8f8b
    • Peter Eisentraut's avatar
      7ff9812f
    • Robert Haas's avatar
      Add statistics subdirectory to Makefile. · 0eac8e7f
      Robert Haas authored
      Commit 7b504eb2 overlooked this.
      
      Report and patch by Kyotaro Horiguchi
      
      Discussion: http://postgr.es/m/20170608.145852.54673832.horiguchi.kyotaro@lab.ntt.co.jp
      0eac8e7f
    • Joe Conway's avatar
      Fix contrib/sepgsql regr tests for tup-routing constraint check change. · 06c0afe5
      Joe Conway authored
      Commit 15ce775f changed tuple-routing constraint checking logic.
      This affects the expected output for contrib/sepgsql, because
      there's no longer LOG entries reporting allowance of int4eq()
      execution. Per buildfarm.
      06c0afe5