1. 05 4月, 2005 3 次提交
  2. 04 4月, 2005 4 次提交
  3. 03 4月, 2005 1 次提交
  4. 02 4月, 2005 7 次提交
  5. 01 4月, 2005 6 次提交
  6. 31 3月, 2005 4 次提交
  7. 30 3月, 2005 5 次提交
  8. 29 3月, 2005 3 次提交
    • T
      Officially decouple FUNC_MAX_ARGS from INDEX_MAX_KEYS, and set the · 8c85a34a
      Tom Lane 提交于
      former to 100 by default.  Clean up some of the less necessary
      dependencies on FUNC_MAX_ARGS; however, the biggie (FunctionCallInfoData)
      remains.
      8c85a34a
    • N
      Add SPI_getnspname(), including documentation. · 4f6f5db4
      Neil Conway 提交于
      4f6f5db4
    • T
      Convert oidvector and int2vector into variable-length arrays. This · 70c9763d
      Tom Lane 提交于
      change saves a great deal of space in pg_proc and its primary index,
      and it eliminates the former requirement that INDEX_MAX_KEYS and
      FUNC_MAX_ARGS have the same value.  INDEX_MAX_KEYS is still embedded
      in the on-disk representation (because it affects index tuple header
      size), but FUNC_MAX_ARGS is not.  I believe it would now be possible
      to increase FUNC_MAX_ARGS at little cost, but haven't experimented yet.
      There are still a lot of vestigial references to FUNC_MAX_ARGS, which
      I will clean up in a separate pass.  However, getting rid of it
      altogether would require changing the FunctionCallInfoData struct,
      and I'm not sure I want to buy into that.
      70c9763d
  9. 28 3月, 2005 5 次提交
    • T
      Remove dead push/pop rollback code. Vadim once planned to implement · 11919160
      Tom Lane 提交于
      transaction rollback via UNDO but I think that's highly unlikely to
      happen, so we may as well remove the stubs.  (Someday we ought to
      rip out the stub xxx_undo routines, too.)  Per Alvaro.
      11919160
    • T
      Rethink the order of expression preprocessing: eval_const_expressions · 5db2e838
      Tom Lane 提交于
      really ought to run before canonicalize_qual, because it can now produce
      forms that canonicalize_qual knows how to improve (eg, NOT clauses).
      Also, because eval_const_expressions already knows about flattening
      nested ANDs and ORs into N-argument form, the initial flatten_andors
      pass in canonicalize_qual is now completely redundant and can be
      removed.  This doesn't save a whole lot of code, but the time and
      palloc traffic eliminated is a useful gain on large expression trees.
      5db2e838
    • T
      First steps towards index scans with heap access decoupled from index · bf3dbb58
      Tom Lane 提交于
      access: define new index access method functions 'amgetmulti' that can
      fetch multiple TIDs per call.  (The functions exist but are totally
      untested as yet.)  Since I was modifying pg_am anyway, remove the
      no-longer-needed 'rel' parameter from amcostestimate functions, and
      also remove the vestigial amowner column that was creating useless
      work for Alvaro's shared-object-dependencies project.
      Initdb forced due to changes in pg_am.
      bf3dbb58
    • T
      Teach const-expression simplification to simplify boolean equality cases, · 351519af
      Tom Lane 提交于
      that is 'x = true' becomes 'x' and 'x = false' becomes 'NOT x'.  This isn't
      all that amazingly useful in itself, but it ensures that we will recognize
      the different forms as being logically equivalent when checking partial
      index predicates.  Per example from Patrick Clery.
      351519af
    • T
      Eliminate duplicate hasnulls bit testing in index tuple access, and · 617dd33b
      Tom Lane 提交于
      clean up itup.h a little bit.
      617dd33b
  10. 27 3月, 2005 2 次提交
    • T
      Add a back-link from IndexOptInfo structs to their parent RelOptInfo · 926e8a00
      Tom Lane 提交于
      structs.  There are many places in the planner where we were passing
      both a rel and an index to subroutines, and now need only pass the
      index struct.  Notationally simpler, and perhaps a tad faster.
      926e8a00
    • T
      Expand the 'special index operator' machinery to handle special cases · febc9a61
      Tom Lane 提交于
      for boolean indexes.  Previously we would only use such an index with
      WHERE clauses like 'indexkey = true' or 'indexkey = false'.  The new
      code transforms the cases 'indexkey', 'NOT indexkey', 'indexkey IS TRUE',
      and 'indexkey IS FALSE' into one of these.  While this is only marginally
      useful in itself, I intend soon to change constant-expression simplification
      so that 'foo = true' and 'foo = false' are reduced to just 'foo' and
      'NOT foo' ... which would lose the ability to use boolean indexes for
      such queries at all, if the indexscan machinery couldn't make the
      reverse transformation.
      febc9a61