1. 10 3月, 2007 1 次提交
  2. 04 3月, 2007 3 次提交
  3. 17 2月, 2007 3 次提交
  4. 16 2月, 2007 3 次提交
    • A
      Fix the timestamptz test problem, by moving the tests that use the · 7f1d68a4
      Alvaro Herrera 提交于
      timestamp_tbl table into the timestamp test.  Also, restore a test that
      used to exist as a valid test in the timestamptz test.
      7f1d68a4
    • B
      Add two new format fields for use with to_char(), to_date() and · 4ebb0cf9
      Bruce Momjian 提交于
      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
    • T
      Restructure code that is responsible for ensuring that clauseless joins are · 6bef118b
      Tom Lane 提交于
      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
  5. 15 2月, 2007 1 次提交
  6. 14 2月, 2007 1 次提交
    • T
      Fix up foreign-key mechanism so that there is a sound semantic basis for the · 7bddca34
      Tom Lane 提交于
      equality checks it applies, instead of a random dependence on whatever
      operators might be named "=".  The equality operators will now be selected
      from the opfamily of the unique index that the FK constraint depends on to
      enforce uniqueness of the referenced columns; therefore they are certain to be
      consistent with that index's notion of equality.  Among other things this
      should fix the problem noted awhile back that pg_dump may fail for foreign-key
      constraints on user-defined types when the required operators aren't in the
      search path.  This also means that the former warning condition about "foreign
      key constraint will require costly sequential scans" is gone: if the
      comparison condition isn't indexable then we'll reject the constraint
      entirely. All per past discussions.
      
      Along the way, make the RI triggers look into pg_constraint for their
      information, instead of using pg_trigger.tgargs; and get rid of the always
      error-prone fixed-size string buffers in ri_triggers.c in favor of building up
      the RI queries in StringInfo buffers.
      
      initdb forced due to columns added to pg_constraint and pg_trigger.
      7bddca34
  7. 10 2月, 2007 2 次提交
  8. 09 2月, 2007 3 次提交
  9. 08 2月, 2007 3 次提交
    • B
      Win32 regression test fixes: · 6fea31b6
      Bruce Momjian 提交于
      For win32 in general, this makes it possible to run the regression tests
      as an admin user by using the same restricted token method that's used
      by pg_ctl and initdb.
      
      For vc++, it adds building of pg_regress.exe, adds a resultmap, and
      fixes how it runs the install.
      
      Magnus Hagander
      6fea31b6
    • T
      Add a function pg_stat_clear_snapshot() that discards any statistics snapshot · aec4cf1c
      Tom Lane 提交于
      already collected in the current transaction; this allows plpgsql functions to
      watch for stats updates even though they are confined to a single transaction.
      Use this instead of the previous kluge involving pg_stat_file() to wait for
      the stats collector to update in the stats regression test.  Internally,
      decouple storage of stats snapshots from transaction boundaries; they'll
      now stick around until someone calls pgstat_clear_snapshot --- which xact.c
      still does at transaction end, to maintain the previous behavior.  This makes
      the logic a lot cleaner, at the price of a couple dozen cycles per transaction
      exit.
      aec4cf1c
    • T
      Modify the stats regression test to delay until the stats file actually · d9ce6887
      Tom Lane 提交于
      changes (with an upper limit of 30 seconds), and record the delay time in
      the postmaster log.  This should give us some info about what's happening
      with the intermittent stats failures in buildfarm.  After an idea of
      Andrew Dunstan's.
      d9ce6887
  10. 07 2月, 2007 1 次提交
  11. 06 2月, 2007 2 次提交
  12. 03 2月, 2007 1 次提交
  13. 02 2月, 2007 3 次提交
  14. 01 2月, 2007 2 次提交
    • N
      Add missing Makefile dependencies for the "bigtest" and "bigcheck" · 67a1ae9f
      Neil Conway 提交于
      targets, and refactor the tablespace setup code into a separate
      Makefile target.
      67a1ae9f
    • N
      Rewrite uuid input and output routines to avoid dependency on the · 05ce7d6a
      Neil Conway 提交于
      nonportable "hh" sprintf(3) length modifier. Instead, do the parsing
      and output by hand. The code to do this isn't ideal, but this is
      an interim measure anyway: the uuid type should probably use the
      in-memory struct layout specified by RFC 4122. For now, this patch
      should hopefully rectify the buildfarm failures for the uuid test.
      
      Along the way, re-add pg_cast entries for uuid <-> varchar, which
      I mistakenly removed earlier, and bump the catversion.
      05ce7d6a
  15. 29 1月, 2007 1 次提交
  16. 28 1月, 2007 1 次提交
  17. 25 1月, 2007 1 次提交
    • P
      Various fixes in the logic of XML functions: · 22bd156f
      Peter Eisentraut 提交于
      - Add new SQL command SET XML OPTION (also available via regular GUC) to
        control the DOCUMENT vs. CONTENT option in implicit parsing and
        serialization operations.
      
      - Subtle corrections in the handling of the standalone property in
        xmlroot().
      
      - Allow xmlroot() to work on content fragments.
      
      - Subtle corrections in the handling of the version property in
        xmlconcat().
      
      - Code refactoring for producing XML declarations.
      22bd156f
  18. 24 1月, 2007 1 次提交
  19. 22 1月, 2007 1 次提交
    • T
      Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc · 5a7471c3
      Tom Lane 提交于
      columns procost and prorows, to allow simple user adjustment of the estimated
      cost of a function call, as well as control of the estimated number of rows
      returned by a set-returning function.  We might eventually wish to extend this
      to allow function-specific estimation routines, but there seems to be
      consensus that we should try a simple constant estimate first.  In particular
      this provides a relatively simple way to control the order in which different
      WHERE clauses are applied in a plan node, which is a Good Thing in view of the
      fact that the recent EquivalenceClass planner rewrite made that much less
      predictable than before.
      5a7471c3
  20. 21 1月, 2007 2 次提交
  21. 20 1月, 2007 4 次提交