1. 06 6月, 2007 2 次提交
    • T
      Downgrade implicit casts to text to be assignment-only, except for the ones · 31edbadf
      Tom Lane 提交于
      from the other string-category types; this eliminates a lot of surprising
      interpretations that the parser could formerly make when there was no directly
      applicable operator.
      
      Create a general mechanism that supports casts to and from the standard string
      types (text,varchar,bpchar) for *every* datatype, by invoking the datatype's
      I/O functions.  These new casts are assignment-only in the to-string direction,
      explicit-only in the other, and therefore should create no surprising behavior.
      Remove a bunch of thereby-obsoleted datatype-specific casting functions.
      
      The "general mechanism" is a new expression node type CoerceViaIO that can
      actually convert between *any* two datatypes if their external text
      representations are compatible.  This is more general than needed for the
      immediate feature, but might be useful in plpgsql or other places in future.
      
      This commit does nothing about the issue that applying the concatenation
      operator || to non-text types will now fail, often with strange error messages
      due to misinterpreting the operator as array concatenation.  Since it often
      (not always) worked before, we should either make it succeed or at least give
      a more user-friendly error; but details are still under debate.
      
      Peter Eisentraut and Tom Lane
      31edbadf
    • J
      The session_replication_role actually can be changed at will during · 1120b994
      Jan Wieck 提交于
      a session regardless of the existence of cached plans. The plancache
      only needs to be invalidated so that rules affected by the new setting
      will be reflected in the new query plans.
      
      Jan
      1120b994
  2. 05 6月, 2007 3 次提交
  3. 04 6月, 2007 8 次提交
    • T
      Fix bundle bugs of GIN: · 853d1c31
      Teodor Sigaev 提交于
      - Fix possible deadlock between UPDATE and VACUUM queries. Bug never was
        observed in 8.2, but it still exist there. HEAD is more sensitive to
        bug after recent "ring" of buffer improvements.
      - Fix WAL creation: if parent page is stored as is after split then
        incomplete split isn't removed during replay. This happens rather rare, only
        on large tables with a lot of updates/inserts.
      - Fix WAL replay: there was wrong test of XLR_BKP_BLOCK_* for left
        page after deletion of page. That causes wrong rightlink field: it pointed
        to deleted page.
      - add checking of match of clearing incomplete split
      - cleanup incomplete split list after proceeding
      
      All of this chages doesn't change on-disk storage, so backpatch...
      But second point may be an issue for replaying logs from previous version.
      853d1c31
    • M
      On win32, retry reading when WSARecv returns WSAEWOULDBLOCK. There seem · aae54032
      Magnus Hagander 提交于
      to be cases when at least Windows 2000 can do this even though select
      just indicated that the socket is readable.
      
      Per report and analysis from Cyril VELTER.
      aae54032
    • M
      On win32, don't use SO_REUSEADDR for TCP sockets. · 0e92f981
      Magnus Hagander 提交于
      Per failure on buildfarm member baiji and subsequent discussion.
      0e92f981
    • P
      Remove gratuitous response messages from utility programs. · 9539e64b
      Peter Eisentraut 提交于
      (Possibly release notes material, lest users be confused.)
      
      The --quiet option is now obsolete and without effect in createdb,
      createuser, dropdb, dropuser; kept for compatibility but marked for
      removal in 8.4.
      
      Progress messages when acting on all databases now go to stdout instead
      of stderr, since they are not in fact errors.
      
      Ordered options in reindexdb reference page alphabetically, like in
      other programs' pages.
      9539e64b
    • P
      Update expected files for textual changes · efbd5bcb
      Peter Eisentraut 提交于
      efbd5bcb
    • P
      f4a3789b
    • B
      Remove description for: · 55477d74
      Bruce Momjian 提交于
              o -Add a GUC variable to control the tablespace for temporary objects
                and sort files
      <
      < 	  It could start with a random tablespace from a supplied list and
      < 	  cycle through the list.
      <
      55477d74
    • T
      Create a GUC parameter temp_tablespaces that allows selection of the · acfce502
      Tom Lane 提交于
      tablespace(s) in which to store temp tables and temporary files.  This is a
      list to allow spreading the load across multiple tablespaces (a random list
      element is chosen each time a temp object is to be created).  Temp files are
      not stored in per-database pgsql_tmp/ directories anymore, but per-tablespace
      directories.
      
      Jaime Casanova and Albert Cervera, with review by Bernd Helmle and Tom Lane.
      acfce502
  4. 03 6月, 2007 2 次提交
  5. 02 6月, 2007 9 次提交
  6. 01 6月, 2007 6 次提交
    • T
      Fix several hash functions that were taking chintzy shortcuts instead of · 1f559b7d
      Tom Lane 提交于
      delivering a well-randomized hash value.  I got religion on this after
      observing that performance of multi-batch hash join degrades terribly if the
      higher-order bits of hash values aren't random, as indeed was true for say
      hashes of small integer values.  It's now expected and documented that hash
      functions should use hash_any or some comparable method to ensure that all
      bits of their output are about equally random.
      
      initdb forced because this change invalidates existing hash indexes.  For the
      same reason, this isn't back-patchable; the hash join performance problem
      will get a band-aid fix in the back branches.
      1f559b7d
    • B
      Wording improvement. · 397d00af
      Bruce Momjian 提交于
      397d00af
    • B
      Update FAQ_DEV URL to output for text format. · 4dc63193
      Bruce Momjian 提交于
      4dc63193
    • B
    • T
      The shortcut exit that I recently added to ExecInitIndexScan() for · cc3e9dee
      Tom Lane 提交于
      EXPLAIN-only operation was a little too short; it skipped initializing the
      node's result tuple type, which may be needed depending on what's above the
      indexscan node.  Call ExecAssignResultTypeFromTL before exiting.  (For good
      luck I moved up the ExecAssignScanProjectionInfo call as well, so that
      everything except indexscan-specific initialization will still be done.)
      Per example from Grant Finnemore.
      cc3e9dee
    • T
      Change build_index_pathkeys() so that the expressions it builds to represent · 10f719af
      Tom Lane 提交于
      index key columns always have the type expected by the index's associated
      operators, ie, we add RelabelType nodes when dealing with binary-compatible
      index opclasses.  This is needed to get varchar indexes to play nicely with
      the new EquivalenceClass machinery, as per recent gripe from Josh Berkus that
      CVS HEAD was failing to match a varchar index column to a constant restriction
      in the query.
      
      It seems likely that this change will allow removal of a lot of ugly ad-hoc
      RelabelType-stripping that the planner has traditionally done while matching
      expressions to other expressions, but I'll worry about that some other day.
      10f719af
  7. 31 5月, 2007 10 次提交
    • P
      Make some messages more consistent · 7ce9b368
      Peter Eisentraut 提交于
      7ce9b368
    • T
      Replace ReadBuffer to ReadBufferWithStrategy in all vacuum-involved places · 54af8765
      Teodor Sigaev 提交于
      to implement limited-size "ring" of buffers for VACUUM for GIN & GIST
      54af8765
    • P
      71fb7b90
    • T
      Fix overly-strict sanity check in BeginInternalSubTransaction that made it · fa0e318f
      Tom Lane 提交于
      fail when used in a deferred trigger.  Bug goes back to 8.0; no doubt the
      reason it hadn't been noticed is that we've been discouraging use of
      user-defined constraint triggers.  Per report from Frank van Vugt.
      fa0e318f
    • B
      Update: · 9b89c13a
      Bruce Momjian 提交于
      < * Consider allowing 64-bit integers to be passed by value on 64-bit
      <   platforms
      > * Consider allowing 64-bit integers and floats to be passed by value on
      >   64-bit platforms
      >
      >   Also change 32-bit floats (float4) to be passed by value at the same
      >   time.
      >
      9b89c13a
    • T
      Make large sequential scans and VACUUMs work in a limited-size "ring" of · d526575f
      Tom Lane 提交于
      buffers, rather than blowing out the whole shared-buffer arena.  Aside from
      avoiding cache spoliation, this fixes the problem that VACUUM formerly tended
      to cause a WAL flush for every page it modified, because we had it hacked to
      use only a single buffer.  Those flushes will now occur only once per
      ring-ful.  The exact ring size, and the threshold for seqscans to switch into
      the ring usage pattern, remain under debate; but the infrastructure seems
      done.  The key bit of infrastructure is a new optional BufferAccessStrategy
      object that can be passed to ReadBuffer operations; this replaces the former
      StrategyHintVacuum API.
      
      This patch also changes the buffer usage-count methodology a bit: we now
      advance usage_count when first pinning a buffer, rather than when last
      unpinning it.  To preserve the behavior that a buffer's lifetime starts to
      decrease when it's released, the clock sweep code is modified to not decrement
      usage_count of pinned buffers.
      
      Work not done in this commit: teach GiST and GIN indexes to use the vacuum
      BufferAccessStrategy for vacuum-driven fetches.
      
      Original patch by Simon, reworked by Heikki and again by Tom.
      d526575f
    • B
      Fix wording: · 0a6f2ee8
      Bruce Momjian 提交于
      < * Consider allowing 64-bit integers to be passed by reference on 64-bit
      > * Consider allowing 64-bit integers to be passed by value on 64-bit
      0a6f2ee8
    • B
      Add: · 8a73ec13
      Bruce Momjian 提交于
      >
      > * Consider allowing 64-bit integers to be passed by reference on 64-bit
      >   platforms
      8a73ec13
    • B
      Add standard error redirection for OS/X & darwin startup script. · 18e3992e
      Bruce Momjian 提交于
      Les Hill
      18e3992e
    • B
      Update documentation mention of VACUUM FULL and CLUSTER where · 9e38d2a4
      Bruce Momjian 提交于
      appropriate.
      
      Guillaume Cottenceau
      9e38d2a4