1. 23 Dec, 2009 1 commit
    • Tom Lane's avatar
      Adjust naming of indexes and their columns per recent discussion. · cfc5008a
      Tom Lane authored
      Index expression columns are now named after the FigureColname result for
      their expressions, rather than always being "pg_expression_N".  Digits are
      appended to this name if needed to make the column name unique within the
      index.  (That happens for regular columns too, thus fixing the old problem
      that CREATE INDEX fooi ON foo (f1, f1) fails.  Before exclusion indexes
      there was no real reason to do such a thing, but now maybe there is.)
      
      Default names for indexes and associated constraints now include the column
      names of all their columns, not only the first one as in previous practice.
      (Of course, this will be truncated as needed to fit in NAMEDATALEN.  Also,
      pkey indexes retain the historical behavior of not naming specific columns
      at all.)
      
      An example of the results:
      
      regression=# create table foo (f1 int, f2 text,
      regression(# exclude (f1 with =, lower(f2) with =));
      NOTICE:  CREATE TABLE / EXCLUDE will create implicit index "foo_f1_lower_exclusion" for table "foo"
      CREATE TABLE
      regression=# \d foo_f1_lower_exclusion
      Index "public.foo_f1_lower_exclusion"
       Column |  Type   | Definition
      --------+---------+------------
       f1     | integer | f1
       lower  | text    | lower(f2)
      btree, for table "public.foo"
      cfc5008a
  2. 22 Dec, 2009 2 commits
  3. 21 Dec, 2009 1 commit
  4. 20 Dec, 2009 2 commits
  5. 19 Dec, 2009 16 commits
  6. 18 Dec, 2009 4 commits
  7. 17 Dec, 2009 2 commits
    • Robert Haas's avatar
      Improve documentation for pg_largeobject changes. · f5fd651e
      Robert Haas authored
      Rewrite the documentation in more idiomatic English, and in the process make
      it somewhat more succinct.  Move the discussion of specific large object
      privileges out of the "server-side functions" section, where it certainly
      doesn't belong, and into "implementation features".  That might not be
      exactly right either, but it doesn't seem worth creating a new section for
      this amount of information. Fix a few spelling and layout problems, too.
      f5fd651e
    • Michael Meskes's avatar
      Reverting accidently commited changes. · 36d192ad
      Michael Meskes authored
      36d192ad
  8. 16 Dec, 2009 6 commits
    • Peter Eisentraut's avatar
      Don't unblock SIGQUIT in the SIGQUIT handler · d6de4309
      Peter Eisentraut authored
      This was possibly linked to a deadlock-like situation in glibc syslog code
      invoked by the ereport call in quickdie().  In any case, a signal handler
      should not unblock its own signal unless there is a specific reason to.
      d6de4309
    • Peter Eisentraut's avatar
      If there is no sigdelset(), define it as a macro. · b63b967a
      Peter Eisentraut authored
      This removes some duplicate code that recreated the identical workaround
      when the newer signal API is missing.
      b63b967a
    • Tom Lane's avatar
      Avoid a premature coercion failure in transformSetOperationTree() when · 52fc0075
      Tom Lane authored
      presented with an UNKNOWN-type Var, which can happen in cases where an
      unknown literal appeared in a subquery.  While many such cases will fail
      later on anyway in the planner, there are some cases where the planner is
      able to flatten the query and replace the Var by the constant before it has
      to coerce the union column to the final type.  I had added this check in 8.4
      to provide earlier/better error detection, but it causes a regression for
      some cases that worked OK before.  Fix by not making the check if the input
      node is UNKNOWN type and not a Const or Param.  If it isn't going to work,
      it will fail anyway at plan time, with the only real loss being inability to
      provide an error cursor.  Per gripe from Britt Piehler.
      
      In passing, rename a couple of variables to remove confusion from an
      inner scope masking the same variable names in an outer scope.
      52fc0075
    • Robert Haas's avatar
      Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN (FORMAT JSON). · ff499613
      Robert Haas authored
      ExplainSeparatePlans() was busted for both JSON and YAML output - the present
      code is a holdover from the original version of my machine-readable explain
      patch, which didn't have the grouping_stack machinery.  Also, fix an odd
      distribution of labor between ExplainBeginGroup() and ExplainYAMLLineStarting()
      when marking lists with "- ", with each providing one character.  This broke
      the output format for multi-query statements.  Also, fix ExplainDummyGroup()
      for the YAML output format.
      
      Along the way, make the YAML format use escape_yaml() in situations where the
      JSON format uses escape_json().  Right now, it doesn't matter because all the
      values are known not to need escaping, but it seems safer this way.  Finally,
      I added some comments to better explain what the YAML output format is doing.
      
      Greg Sabino Mullane reported the issues with multi-query statements.
      Analysis and remaining cleanups by me.
      ff499613
    • Magnus Hagander's avatar
      Remove spurious '22' that clearly shouldn't be there. · 3dfe7e8e
      Magnus Hagander authored
      David E. Wheeler
      3dfe7e8e
    • Michael Meskes's avatar
      Fixed auto-prepare to not try preparing statements that are not preparable. Bug · d19669e5
      Michael Meskes authored
      found and solved by Boszormenyi Zoltan <zb@cybertec.at>, some small adjustments
      by me.
      d19669e5
  9. 15 Dec, 2009 6 commits