1. 06 Apr, 2005 2 commits
  2. 05 Apr, 2005 3 commits
  3. 04 Apr, 2005 5 commits
  4. 03 Apr, 2005 1 commit
  5. 02 Apr, 2005 2 commits
  6. 01 Apr, 2005 9 commits
  7. 31 Mar, 2005 6 commits
  8. 30 Mar, 2005 3 commits
  9. 29 Mar, 2005 5 commits
    • Tom Lane's avatar
      Add proallargtypes and proargmodes columns to pg_proc, as per my earlier · 0f085f6e
      Tom Lane authored
      proposal for OUT parameter support.  The columns don't actually *do*
      anything yet, they are just left NULLs.  But I thought I'd commit this
      part separately as a fairly pure example of the tasks needed when adding
      a column to pg_proc or one of the other core system tables.
      0f085f6e
    • Tom Lane's avatar
      Fix grammar for IN/OUT/INOUT parameters. This commit doesn't actually · eb47ee48
      Tom Lane authored
      implement any new feature, it just pushes the 'not implemented' error
      message deeper into the backend.  I also tweaked the grammar to accept
      Oracle-ish parameter syntax (parameter name first), as well as the
      SQL99 standard syntax (parameter mode first), since it was easy and
      people will doubtless try to use both anyway.
      eb47ee48
    • Tom Lane's avatar
      Officially decouple FUNC_MAX_ARGS from INDEX_MAX_KEYS, and set the · 8c85a34a
      Tom Lane authored
      former to 100 by default.  Clean up some of the less necessary
      dependencies on FUNC_MAX_ARGS; however, the biggie (FunctionCallInfoData)
      remains.
      8c85a34a
    • Neil Conway's avatar
      4f6f5db4
    • Tom Lane's avatar
      Convert oidvector and int2vector into variable-length arrays. This · 70c9763d
      Tom Lane authored
      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
  10. 28 Mar, 2005 2 commits
    • Tom Lane's avatar
      Remove dead push/pop rollback code. Vadim once planned to implement · 11919160
      Tom Lane authored
      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
    • Tom Lane's avatar
      Rethink the order of expression preprocessing: eval_const_expressions · 5db2e838
      Tom Lane authored
      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
  11. 27 Mar, 2005 2 commits
    • Tom Lane's avatar
      First steps towards index scans with heap access decoupled from index · bf3dbb58
      Tom Lane authored
      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
    • Tom Lane's avatar
      Teach const-expression simplification to simplify boolean equality cases, · 351519af
      Tom Lane authored
      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