1. 28 Mar, 2014 1 commit
    • Tom Lane's avatar
      Un-break peer authentication. · b777be0d
      Tom Lane authored
      Commit 613c6d26 sloppily replaced a
      lookup of the UID obtained from getpeereid() with a lookup of the
      server's own user name, thus totally destroying peer authentication.
      Revert.  Per report from Christoph Berg.
      
      In passing, make sure get_user_name() zeroes *errstr on success on
      Windows as well as non-Windows.  I don't think any callers actually
      depend on this ATM, but we should be consistent across platforms.
      b777be0d
  2. 27 Mar, 2014 4 commits
  3. 26 Mar, 2014 10 commits
  4. 25 Mar, 2014 3 commits
  5. 24 Mar, 2014 8 commits
  6. 23 Mar, 2014 6 commits
    • Andrew Dunstan's avatar
      Fix mis-spelling in jsonb docs. · ca07cd59
      Andrew Dunstan authored
      Per Thom Brown.
      ca07cd59
    • Andrew Dunstan's avatar
      Introduce jsonb, a structured format for storing json. · d9134d0a
      Andrew Dunstan authored
      The new format accepts exactly the same data as the json type. However, it is
      stored in a format that does not require reparsing the orgiginal text in order
      to process it, making it much more suitable for indexing and other operations.
      Insignificant whitespace is discarded, and the order of object keys is not
      preserved. Neither are duplicate object keys kept - the later value for a given
      key is the only one stored.
      
      The new type has all the functions and operators that the json type has,
      with the exception of the json generation functions (to_json, json_agg etc.)
      and with identical semantics. In addition, there are operator classes for
      hash and btree indexing, and two classes for GIN indexing, that have no
      equivalent in the json type.
      
      This feature grew out of previous work by Oleg Bartunov and Teodor Sigaev, which
      was intended to provide similar facilities to a nested hstore type, but which
      in the end proved to have some significant compatibility issues.
      
      Authors: Oleg Bartunov,  Teodor Sigaev, Peter Geoghegan and Andrew Dunstan.
      Review: Andres Freund
      d9134d0a
    • Noah Misch's avatar
      Don't test xmin/xmax columns of a postgres_fdw foreign table. · b2b2491b
      Noah Misch authored
      Their values are unspecified and system-dependent.
      
      Per buildfarm member kouprey.
      b2b2491b
    • Noah Misch's avatar
      Offer triggers on foreign tables. · 7cbe57c3
      Noah Misch authored
      This covers all the SQL-standard trigger types supported for regular
      tables; it does not cover constraint triggers.  The approach for
      acquiring the old row mirrors that for view INSTEAD OF triggers.  For
      AFTER ROW triggers, we spool the foreign tuples to a tuplestore.
      
      This changes the FDW API contract; when deciding which columns to
      populate in the slot returned from data modification callbacks, writable
      FDWs will need to check for AFTER ROW triggers in addition to checking
      for a RETURNING clause.
      
      In support of the feature addition, refactor the TriggerFlags bits and
      the assembly of old tuples in ModifyTable.
      
      Ronan Dunklau, reviewed by KaiGai Kohei; some additional hacking by me.
      7cbe57c3
    • Noah Misch's avatar
    • Noah Misch's avatar
      Address ccvalid/ccnoinherit in TupleDesc support functions. · c31305de
      Noah Misch authored
      equalTupleDescs() neglected both of these ConstrCheck fields, and
      CreateTupleDescCopyConstr() neglected ccnoinherit.  At this time, the
      only known behavior defect resulting from these omissions is constraint
      exclusion disregarding a CHECK constraint validated by an ALTER TABLE
      VALIDATE CONSTRAINT statement issued earlier in the same transaction.
      Back-patch to 9.2, where these fields were introduced.
      c31305de
  7. 21 Mar, 2014 5 commits
  8. 20 Mar, 2014 3 commits
    • Tom Lane's avatar
      Again fix initialization of auto-tuned effective_cache_size. · af930e60
      Tom Lane authored
      The previous method was overly complex and underly correct; in particular,
      by assigning the default value with PGC_S_OVERRIDE, it prevented later
      attempts to change the setting in postgresql.conf, as noted by Jeff Janes.
      We should just assign the default value with source PGC_S_DYNAMIC_DEFAULT,
      which will have the desired priority relative to the boot_val as well as
      user-set values.
      
      There is still a gap in this method: if there's an explicit assignment of
      effective_cache_size = -1 in the postgresql.conf file, and that assignment
      appears before shared_buffers is assigned, the code will substitute 4 times
      the bootstrap default for shared_buffers, and that value will then persist
      (since it will have source PGC_S_FILE).  I don't see any very nice way
      to avoid that though, and it's not a case to be expected in practice.
      The existing comments in guc-file.l look forward to a redesign of the
      DYNAMIC_DEFAULT mechanism; if that ever happens, we should consider this
      case as one of the things we'd like to improve.
      af930e60
    • Bruce Momjian's avatar
      libpq: pass a memory allocation failure error up to PQconndefaults() · a4c8f143
      Bruce Momjian authored
      Previously user name memory allocation failures were ignored and the
      default user name set to NULL.
      a4c8f143
    • Robert Haas's avatar
      test_shm_mq: Improve regression tests. · d1bdab2f
      Robert Haas authored
      Per discussion with Tom Lane.
      d1bdab2f