1. 18 7月, 2008 1 次提交
  2. 17 7月, 2008 5 次提交
  3. 16 7月, 2008 6 次提交
  4. 15 7月, 2008 12 次提交
  5. 14 7月, 2008 4 次提交
    • T
      Clean up buildfarm failures arising from the seemingly straightforward page · d92c370c
      Tom Lane 提交于
      macros patch :-(.  Results from both baiji and mastodon imply that MSVC
      fails to perceive offsetof(PageHeaderData, pd_linp[0]) as a constant
      expression in some contexts where offsetof(PageHeaderData, pd_linp) works
      fine.  Sloth, thy name is Micro.
      d92c370c
    • T
      Create a type-specific typanalyze routine for tsvector, which collects stats · 6f6d8632
      Tom Lane 提交于
      on the most common individual lexemes in place of the mostly-useless default
      behavior of counting duplicate tsvectors.  Future work: create selectivity
      estimation functions that actually do something with these stats.
      
      (Some other things we ought to look at doing: using the Lossy Counting
      algorithm in compute_minimal_stats, and using the element-counting idea for
      stats on regular arrays.)
      
      Jan Urbanski
      6f6d8632
    • T
      Change the PageGetContents() macro to guarantee its result is maxalign'd, · 6816577a
      Tom Lane 提交于
      thereby forestalling any problems with alignment of the data structure placed
      there.  Since SizeOfPageHeaderData is maxalign'd anyway in 8.3 and HEAD, this
      does not actually change anything right now, but it is foreseeable that the
      header size will change again someday.  I had to fix a couple of places that
      were assuming that the content offset is just SizeOfPageHeaderData rather than
      MAXALIGN(SizeOfPageHeaderData).  Per discussion of Zdenek's page-macros patch.
      6816577a
    • T
      Clean up the use of some page-header-access macros: principally, use · 9d035f42
      Tom Lane 提交于
      SizeOfPageHeaderData instead of sizeof(PageHeaderData) in places where that
      makes the code clearer, and avoid casting between Page and PageHeader where
      possible.  Zdenek Kotala, with some additional cleanup by Heikki Linnakangas.
      
      I did not apply the parts of the proposed patch that would have resulted in
      slightly changing the on-disk format of hash indexes; it seems to me that's
      not a win as long as there's any chance of having in-place upgrade for 8.4.
      9d035f42
  6. 13 7月, 2008 1 次提交
  7. 12 7月, 2008 4 次提交
  8. 11 7月, 2008 5 次提交
  9. 10 7月, 2008 2 次提交
    • T
      Tighten up SS_finalize_plan's computation of valid_params to exclude Params of · eaf1b5d3
      Tom Lane 提交于
      the current query level that aren't in fact output parameters of the current
      initPlans.  (This means, for example, output parameters of regular subplans.)
      To make this work correctly for output parameters coming from sibling
      initplans requires rejiggering the API of SS_finalize_plan just a bit:
      we need the siblings to be visible to it, rather than hidden as
      SS_make_initplan_from_plan had been doing.  This is really part of my response
      to bug #4290, but I concluded this part probably shouldn't be back-patched,
      since all that it's doing is to make a debugging cross-check tighter.
      eaf1b5d3
    • T
      Fix mis-calculation of extParam/allParam sets for plan nodes, as seen in · 772a6d45
      Tom Lane 提交于
      bug #4290.  The fundamental bug is that masking extParam by outer_params,
      as finalize_plan had been doing, caused us to lose the information that
      an initPlan depended on the output of a sibling initPlan.  On reflection
      the best thing to do seemed to be not to try to adjust outer_params for
      this case but get rid of it entirely.  The only thing it was really doing
      for us was to filter out param IDs associated with SubPlan nodes, and that
      can be done (with greater accuracy) while processing individual SubPlan
      nodes in finalize_primnode.  This approach was vindicated by the discovery
      that the masking method was hiding a second bug: SS_finalize_plan failed to
      remove extParam bits for initPlan output params that were referenced in the
      main plan tree (it only got rid of those referenced by other initPlans).
      It's not clear that this caused any real problems, given the limited use
      of extParam by the executor, but it's certainly not what was intended.
      
      I originally thought that there was also a problem with needing to include
      indirect dependencies on external params in initPlans' param sets, but it
      turns out that the executor handles this correctly so long as the depended-on
      initPlan is earlier in the initPlans list than the one using its output.
      That seems a bit of a fragile assumption, but it is true at the moment,
      so I just documented it in some code comments rather than making what would
      be rather invasive changes to remove the assumption.
      
      Back-patch to 8.1.  Previous versions don't have the case of initPlans
      referring to other initPlans' outputs, so while the existing logic is still
      questionable for them, there are not any known bugs to be fixed.  So I'll
      refrain from changing them for now.
      772a6d45