1. 16 Feb, 2007 8 commits
    • Peter Eisentraut's avatar
    • Bruce Momjian's avatar
      Remove extra character erroneously added. · bb0a8a3a
      Bruce Momjian authored
      bb0a8a3a
    • Bruce Momjian's avatar
      Remove tabs from SGML files to help tag alingment and improve · 4ab7ea5a
      Bruce Momjian authored
      detection of tabs are added in the future.
      4ab7ea5a
    • Tom Lane's avatar
      Fix another problem in 8.2 changes that allowed "one-time" qual conditions to · 7ea758b0
      Tom Lane authored
      be checked at plan levels below the top; namely, we have to allow for Result
      nodes inserted just above a nestloop inner indexscan.  Should think about
      using the general Param mechanism to pass down outer-relation variables, but
      for the moment we need a back-patchable solution.  Per report from Phil Frost.
      7ea758b0
    • Bruce Momjian's avatar
      Add two new format fields for use with to_char(), to_date() and · 4ebb0cf9
      Bruce Momjian authored
      to_timestamp():
          - ID for day-of-week
          - IDDD for day-of-year
      
      This makes it possible to convert ISO week dates to and from text
      fully represented in either week ('IYYY-IW-ID') or day-of-year
      ('IYYY-IDDD') format.
      
      I have also added an 'isoyear' field for use with extract / date_part.
      
      Brendan Jurd
      4ebb0cf9
    • Bruce Momjian's avatar
      SSL improvements: · c7b08050
      Bruce Momjian authored
      	o read global SSL configuration file
      	o add GUC "ssl_ciphers" to control allowed ciphers
      	o add libpq environment variable PGSSLKEY to control SSL hardware keys
      
      Victor B. Wagner
      c7b08050
    • Alvaro Herrera's avatar
      Remove useless database name from bootstrap argument processing (including · 68046a20
      Alvaro Herrera authored
      startup and bgwriter processes), and the -y flag.  It's not used anywhere.
      68046a20
    • Tom Lane's avatar
      Restructure code that is responsible for ensuring that clauseless joins are · 6bef118b
      Tom Lane authored
      considered when it is necessary to do so because of a join-order restriction
      (that is, an outer-join or IN-subselect construct).  The former coding was a
      bit ad-hoc and inconsistent, and it missed some cases, as exposed by Mario
      Weilguni's recent bug report.  His specific problem was that an IN could be
      turned into a "clauseless" join due to constant-propagation removing the IN's
      joinclause, and if the IN's subselect involved more than one relation and
      there was more than one such IN linking to the same upper relation, then the
      only valid join orders involve "bushy" plans but we would fail to consider the
      specific paths needed to get there.  (See the example case added to the join
      regression test.)  On examining the code I wonder if there weren't some other
      problem cases too; in particular it seems that GEQO was defending against a
      different set of corner cases than the main planner was.  There was also an
      efficiency problem, in that when we did realize we needed a clauseless join
      because of an IN, we'd consider clauseless joins against every other relation
      whether this was sensible or not.  It seems a better design is to use the
      outer-join and in-clause lists as a backup heuristic, just as the rule of
      joining only where there are joinclauses is a heuristic: we'll join two
      relations if they have a usable joinclause *or* this might be necessary to
      satisfy an outer-join or IN-clause join order restriction.  I refactored the
      code to have just one place considering this instead of three, and made sure
      that it covered all the cases that any of them had been considering.
      
      Backpatch as far as 8.1 (which has only the IN-clause form of the disease).
      By rights 8.0 and 7.4 should have the bug too, but they accidentally fail
      to fail, because the joininfo structure used in those releases preserves some
      memory of there having once been a joinclause between the inner and outer
      sides of an IN, and so it leads the code in the right direction anyway.
      I'll be conservative and not touch them.
      6bef118b
  2. 15 Feb, 2007 3 commits
    • Alvaro Herrera's avatar
      Restructure autovacuum in two processes: a dummy process, which runs · 18206509
      Alvaro Herrera authored
      continuously, and requests vacuum runs of "autovacuum workers" to postmaster.
      The workers do the actual vacuum work.  This allows for future improvements,
      like allowing multiple autovacuum jobs running in parallel.
      
      For now, the code keeps the original behavior of having a single autovac
      process at any time by sleeping until the previous worker has finished.
      18206509
    • Tom Lane's avatar
      Add ORDER BY to a query on information_schema.views, to avoid possible · eecbb332
      Tom Lane authored
      platform-specific result ordering.  Per buildfarm results.
      eecbb332
    • Tom Lane's avatar
      Repair oversight in 8.2 change that improved the handling of "pseudoconstant" · bfe553fb
      Tom Lane authored
      WHERE clauses.  createplan.c is now willing to stick a gating Result node
      almost anywhere in the plan tree, and in particular one can wind up directly
      underneath a MergeJoin node.  This means it had better be willing to handle
      Mark/Restore.  Fortunately, that's trivial in such cases, since we can just
      pass off the call to the input node (which the planner has previously ensured
      can handle Mark/Restore).  Per report from Phil Frost.
      bfe553fb
  3. 14 Feb, 2007 13 commits
  4. 13 Feb, 2007 16 commits