1. 20 1月, 2010 8 次提交
    • P
      Before attempting to create a composite type, check whether a type of that · eb210ce8
      Peter Eisentraut 提交于
      name already exists, so we'd get an error message about a "type" instead
      of about a "relation", because the composite type code shares code with
      relation creation.
      eb210ce8
    • A
      Fix typo in Mkvcbuild.pl · 60e2fdf0
      Andrew Dunstan 提交于
      60e2fdf0
    • A
      Build plperl's new Util.xs · 3d3616cc
      Andrew Dunstan 提交于
      3d3616cc
    • R
      62b5c031
    • A
      Add utility functions to PLPerl: · 05672e50
      Andrew Dunstan 提交于
          quote_literal, quote_nullable, quote_ident,
          encode_bytea, decode_bytea, looks_like_number,
          encode_array_literal, encode_array_constructor.
      Split SPI.xs into two - SPI.xs now contains only SPI functions. Remainder
      are in new Util.xs.
      Some more code and documentation cleanup along the way, as well as
      adding some CVS markers to files missing them.
      
      Original patch from Tim Bunce, with a little editing from me.
      05672e50
    • R
      Reformat documentation of libpq escaping functions. · 5b13d1ff
      Robert Haas 提交于
      Modify the "Escaping Strings for Inclusion in SQL Commands" section
      to use a <variablelist> as the preceding and following sections do,
      and merge the "Escaping Binary Strings for Inclusion in SQL Commands"
      section into it.
      
      This changes only the formatting of these sections, not the content.
      It is intended to lay the groundwork for a follow-on patch to add
      some new escaping functions, but it makes sense to commit this first,
      for clarity.
      5b13d1ff
    • T
      When doing a parallel restore, we must guard against out-of-range dependency · 16f2eadf
      Tom Lane 提交于
      dump IDs, because the array we're using is sized according to the highest
      dump ID actually defined in the archive file.  In a partial dump there could
      be references to higher dump IDs that weren't dumped.  Treat these the same
      as references to in-range IDs that weren't dumped.  (The whole thing is a
      bit scary because the missing objects might have been part of dependency
      chains, which we won't know about.  Not much we can do though --- throwing
      an error is probably overreaction.)
      
      Also, reject parallel restore with pre-1.8 archive version (made by pre-8.0
      pg_dump).  In these old versions the dependency entries are OIDs, not dump
      IDs, and we don't have enough information to interpret them.
      
      Per bug #5288 from Jon Erdman.
      16f2eadf
    • T
      Fix thinko in my recent change to put an explicit argisrow field in NullTest: · 85b587c2
      Tom Lane 提交于
      when the planner splits apart a ROW(...) IS NULL test, the argisrow values
      of the component tests have to be determined from the component field types,
      not copied from the original NullTest (in which argisrow is surely true).
      85b587c2
  2. 19 1月, 2010 5 次提交
  3. 18 1月, 2010 4 次提交
    • T
      Fix incorrect comparison of scan key in GIN. Per report from · a0a7e634
      Teodor Sigaev 提交于
      Vyacheslav Kalinin <vka@mgcp.com>
      a0a7e634
    • T
      Fix portalmem.c to avoid keeping a dangling pointer to a cached plan list · 376c6203
      Tom Lane 提交于
      after it's released its reference count for the cached plan.  There are
      code paths that might try to examine the plan list before noticing that
      the portal is already in aborted state.  Report and diagnosis by Tatsuo
      Ishii, though this isn't exactly his proposed patch.
      376c6203
    • T
      Update SET CONSTRAINTS reference page --- it failed to mention EXCLUDE · 04ef4040
      Tom Lane 提交于
      constraints and was lacking a couple of other interesting details.
      04ef4040
    • T
      Improve the handling of SET CONSTRAINTS commands by having them search · 9a915e59
      Tom Lane 提交于
      pg_constraint before searching pg_trigger.  This allows saner handling of
      corner cases; in particular we now say "constraint is not deferrable"
      rather than "constraint does not exist" when the command is applied to
      a constraint that's inherently non-deferrable.  Per a gripe several months
      ago from hubert depesz lubaczewski.
      
      To make this work without breaking user-defined constraint triggers,
      we have to add entries for them to pg_constraint.  However, in return
      we can remove the pgconstrname column from pg_constraint, which represents
      a fairly sizable space savings.  I also replaced the tgisconstraint column
      with tgisinternal; the old meaning of tgisconstraint can now be had by
      testing for nonzero tgconstraint, while there is no other way to get
      the old meaning of nonzero tgconstraint, namely that the trigger was
      internally generated rather than being user-created.
      
      In passing, fix an old misstatement in the docs and comments, namely that
      pg_trigger.tgdeferrable is exactly redundant with pg_constraint.condeferrable.
      Actually, we mark RI action triggers as nondeferrable even when they belong to
      a nominally deferrable FK constraint.  The SET CONSTRAINTS code now relies on
      that instead of hard-coding a list of exception OIDs.
      9a915e59
  4. 17 1月, 2010 7 次提交
  5. 16 1月, 2010 14 次提交
  6. 15 1月, 2010 2 次提交