1. 27 Feb, 2011 2 commits
  2. 26 Feb, 2011 7 commits
  3. 25 Feb, 2011 4 commits
    • Tom Lane's avatar
      Support data-modifying commands (INSERT/UPDATE/DELETE) in WITH. · 389af951
      Tom Lane authored
      This patch implements data-modifying WITH queries according to the
      semantics that the updates all happen with the same command counter value,
      and in an unspecified order.  Therefore one WITH clause can't see the
      effects of another, nor can the outer query see the effects other than
      through the RETURNING values.  And attempts to do conflicting updates will
      have unpredictable results.  We'll need to document all that.
      
      This commit just fixes the code; documentation updates are waiting on
      author.
      
      Marko Tiikkaja and Hitoshi Harada
      389af951
    • Alvaro Herrera's avatar
      Update pageinspect--1.0.sql to match the upgrade script · 0056066d
      Alvaro Herrera authored
      Per comment from Tom
      0056066d
    • Alvaro Herrera's avatar
      Fix pageinspect's heap_page_item to return infomasks as 32 bit values · a338d654
      Alvaro Herrera authored
      HeapTupleHeader's t_infomask and t_infomask2 are defined as 16-bit
      unsigned integers, so when the 16th bit was set, heap_page_item was
      returning them as negative values, which was ugly.
      
      The change to pageinspect--unpackaged--1.0.sql allows a module upgraded
      from 9.0 to be cleanly updated from the previous definition.
      a338d654
    • Robert Haas's avatar
      Named restore point improvements. · 79ad8fc5
      Robert Haas authored
      Emit a log message when creating a named restore point, and improve
      documentation for pg_create_restore_point().
      
      Euler Taveira de Oliveira, 	per suggestions from Thom Brown, with some
      additional wordsmithing by me.
      79ad8fc5
  4. 24 Feb, 2011 2 commits
  5. 23 Feb, 2011 3 commits
  6. 22 Feb, 2011 7 commits
    • Peter Eisentraut's avatar
      Add PL/Python functions for quoting strings · 1c51c7d5
      Peter Eisentraut authored
      Add functions plpy.quote_ident, plpy.quote_literal,
      plpy.quote_nullable, which wrap the equivalent SQL functions.
      
      To be able to propagate char * constness properly, make the argument
      of quote_literal_cstr() const char *.  This also makes it more
      consistent with quote_identifier().
      
      Jan Urbański, reviewed by Hitoshi Harada, some refinements by Peter
      Eisentraut
      1c51c7d5
    • Robert Haas's avatar
      Fix a couple of unlogged tables goofs. · 3e6b305d
      Robert Haas authored
      "SELECT ... INTO UNLOGGED tabname" works, but wasn't documented; CREATE
      UNLOGGED SEQUENCE and CREATE UNLOGGED VIEW failed an assertion, instead
      of throwing a sensible error.
      
      Latter issue reported by Itagaki Takahiro; patch review by Tom Lane.
      3e6b305d
    • Tom Lane's avatar
      Allow binary I/O of type "void". · 1ab9b012
      Tom Lane authored
      void_send is useful for the same reason that void_out doesn't throw error,
      namely that someone might do "select void_returning_func(...)"  from a
      client that prefers to operate in binary mode.  The void_recv function may
      or may not have any practical use, but we provide it for symmetry.
      
      Radosław Smogura
      1ab9b012
    • Bruce Momjian's avatar
    • Tom Lane's avatar
      Remove ExecRemoveJunk(), which is no longer used anywhere. · 2e852e54
      Tom Lane authored
      This was a leftover from the pre-8.1 design of junkfilters.  It doesn't
      seem to have any reason to live, since it's merely a combination of two
      easy function calls, and not a well-designed combination at that (it
      encourages callers to leak the result tuple).
      2e852e54
    • Tom Lane's avatar
      Fix dangling-pointer problem in before-row update trigger processing. · a210be77
      Tom Lane authored
      ExecUpdate checked for whether ExecBRUpdateTriggers had returned a new
      tuple value by seeing if the returned tuple was pointer-equal to the old
      one.  But the "old one" was in estate->es_junkFilter's result slot, which
      would be scribbled on if we had done an EvalPlanQual update in response to
      a concurrent update of the target tuple; therefore we were comparing a
      dangling pointer to a live one.  Given the right set of circumstances we
      could get a false match, resulting in not forcing the tuple to be stored in
      the slot we thought it was stored in.  In the case reported by Maxim Boguk
      in bug #5798, this led to "cannot extract system attribute from virtual
      tuple" failures when trying to do "RETURNING ctid".  I believe there is a
      very-low-probability chance of more serious errors, such as generating
      incorrect index entries based on the original rather than the
      trigger-modified version of the row.
      
      In HEAD, change all of ExecBRInsertTriggers, ExecIRInsertTriggers,
      ExecBRUpdateTriggers, and ExecIRUpdateTriggers so that they continue to
      have similar APIs.  In the back branches I just changed
      ExecBRUpdateTriggers, since there is no bug in the ExecBRInsertTriggers
      case.
      a210be77
    • Bruce Momjian's avatar
      Move information_schema duplicate constraint note to the top of the · fee78027
      Bruce Momjian authored
      information schema documentation because it affects several tables.
      fee78027
  7. 21 Feb, 2011 4 commits
  8. 20 Feb, 2011 5 commits
  9. 19 Feb, 2011 6 commits
    • Bruce Momjian's avatar
      Document that an SQL-standard-compliant query that expects a unique row · e07ae21f
      Bruce Momjian authored
      from information_schema.referential_constraints might return several in
      Postgres because we allow duplicate-named constraints in the same
      schema.
      e07ae21f
    • Peter Eisentraut's avatar
      Invalidate PL/Python functions with composite type argument when the · b05186f8
      Peter Eisentraut authored
      type changes.
      
      The invalidation will cause the type information to be refetched, and
      everything will work.
      
      Jan Urbański, reviewed by Alex Hunsaker
      b05186f8
    • Bruce Momjian's avatar
      Initialize variable to quiet compiler. · 964b46d0
      Bruce Momjian authored
      964b46d0
    • Peter Eisentraut's avatar
      Set psql client encoding from locale by default · 02e14562
      Peter Eisentraut authored
      Add a new libpq connection option client_encoding (which includes the
      existing PGCLIENTENCODING environment variable), which besides an
      encoding name accepts a special value "auto" that tries to determine
      the encoding from the locale in the client's environment, using the
      mechanisms that have been in use in initdb.
      
      psql sets this new connection option to "auto" when running from a
      terminal and not overridden by setting PGCLIENTENCODING.
      
      original code by Heikki Linnakangas, with subsequent contributions by
      Jaime Casanova, Peter Eisentraut, Stephen Frost, Ibrar Ahmed
      02e14562
    • Tom Lane's avatar
      Create the catalog infrastructure for foreign-data-wrapper handlers. · 327e0250
      Tom Lane authored
      Add a fdwhandler column to pg_foreign_data_wrapper, plus HANDLER options
      in the CREATE FOREIGN DATA WRAPPER and ALTER FOREIGN DATA WRAPPER commands,
      plus pg_dump support for same.  Also invent a new pseudotype fdw_handler
      with properties similar to language_handler.
      
      This is split out of the "FDW API" patch for ease of review; it's all stuff
      we will certainly need, regardless of any other details of the FDW API.
      FDW handler functions will not actually get called yet.
      
      In passing, fix some omissions and infelicities in foreigncmds.c.
      
      Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
      327e0250
    • Bruce Momjian's avatar
      Improve text search prefix doc addition. · 4077980d
      Bruce Momjian authored
      4077980d