1. 23 Apr, 2005 30 commits
  2. 22 Apr, 2005 6 commits
    • Tom Lane's avatar
      First cut at planner support for bitmap index scans. Lots to do yet, · bc843d39
      Tom Lane authored
      but the code is basically working.  Along the way, rewrite the entire
      approach to processing OR index conditions, and make it work in join
      cases for the first time ever.  orindxpath.c is now basically obsolete,
      but I left it in for the time being to allow easy comparison testing
      against the old implementation.
      bc843d39
    • Bruce Momjian's avatar
      Fix typo: · ccbb07d9
      Bruce Momjian authored
      <   Currently indexes do not have enough tuple tuple visibility
      <   information to allow data to be pulled from the index without
      <   also accessing the heap.  One way to allow this is to set a bit
      <   to index tuples to indicate if a tuple is currently visible to
      <   all transactions when the first valid heap lookup happens.  This
      <   bit would have to be cleared when a heap tuple is expired.
      >   Currently indexes do not have enough tuple visibility information
      >   to allow data to be pulled from the index without also accessing
      >   the heap.  One way to allow this is to set a bit to index tuples
      >   to indicate if a tuple is currently visible to all transactions
      >   when the first valid heap lookup happens.  This bit would have to
      >   be cleared when a heap tuple is expired.
      ccbb07d9
    • Bruce Momjian's avatar
      Typo fix. Alvaro. · 6f61ddd4
      Bruce Momjian authored
      6f61ddd4
    • Bruce Momjian's avatar
      Update URL for TODO list. · 8f4a1b3e
      Bruce Momjian authored
      8f4a1b3e
    • Bruce Momjian's avatar
      Remove pre-7.3 mention that FOR UPDATE can be before LIMIT. · d76f279a
      Bruce Momjian authored
      Document that FOR UPDATE and LIMIT together can return fewer rows that
      LIMIT specifies, and why.
      d76f279a
    • Bruce Momjian's avatar
  3. 21 Apr, 2005 4 commits
    • Bruce Momjian's avatar
    • Tom Lane's avatar
      Rethink original decision to use AND/OR Expr nodes to represent bitmap · 14c7fba3
      Tom Lane authored
      logic operations during planning.  Seems cleaner to create two new Path
      node types, instead --- this avoids duplication of cost-estimation code.
      Also, create an enable_bitmapscan GUC parameter to control use of bitmap
      plans.
      14c7fba3
    • Bruce Momjian's avatar
      Updated text for bitmaps: · c6221db3
      Bruce Momjian authored
      <   Bitmap indexes index single columns that can be combined with other bitmap
      <   indexes to dynamically create a composite index to match a specific query.
      <   Each index is a bitmap, and the bitmaps are bitwise AND'ed or OR'ed to be
      <   combined.  They can index by tid or can be lossy requiring a scan of the
      <   heap page to find matching rows, or perhaps use a mixed solution where
      <   tids are recorded for pages with only a few matches and per-page bitmaps
      <   are used for more dense pages.  Another idea is to use a 32-bit bitmap
      <   for every page and set a bit based on the item number mod(32).
      
      >   This feature allows separate indexes to be ANDed or ORed together.  This
      >   is particularly useful for data warehousing applications that need to
      >   query the database in an many permutations.  This feature scans an index
      >   and creates an in-memory bitmap, and allows that bitmap to be combined
      >   with other bitmap created in a similar way.  The bitmap can either index
      >   all TIDs, or be lossy, meaning it records just page numbers and each
      >   page tuple has to be checked for validity in a separate pass.
      c6221db3
    • Bruce Momjian's avatar
      Done: · 631e0314
      Bruce Momjian authored
      < * Add tool to query pg_stat_* tables and report indexes that aren't needed
      <   or tables that might need indexes
      631e0314