1. 17 Apr, 2008 4 commits
    • Tom Lane's avatar
      Fix a couple of oversights associated with the "physical tlist" optimization: · 25e46a50
      Tom Lane authored
      we had several code paths where a physical tlist could be used for the input
      to a Sort node, which is a dumb idea because any unneeded table columns will
      increase the volume of data the sort has to push around.
      
      (Unfortunately the easy-looking fix of calling disuse_physical_tlist during
      make_sort_xxx doesn't work because in most cases we're already committed to
      the current input tlist --- it's been marked with sort column numbers, or
      we've built grouping column numbers using it, etc.  The tlist has to be
      selected properly at the calling level before we start constructing sort-col
      information.  This is easy enough to do, we were just failing to take the
      point into consideration.)
      
      Back-patch to 8.3.  I believe the problem probably exists clear back to 7.4
      when the physical tlist optimization was added, but I'm afraid to back-patch
      further than 8.3 without a great deal more study than I want to put into it.
      The code in this area has drifted a lot over time.  The real-world importance
      of these code paths is uncertain anyway --- I think in many cases we'd
      probably prefer hash-based methods.
      25e46a50
    • Bruce Momjian's avatar
      TODO Done: · c5c7ba1b
      Bruce Momjian authored
      > * -Allow administrators to safely terminate individual sessions
      c5c7ba1b
    • Bruce Momjian's avatar
    • Tom Lane's avatar
      Add some code to EXPLAIN to show the targetlist (ie, output columns) · c5e4e91a
      Tom Lane authored
      of each plan node.  For the moment this is debug support only and is
      not enabled unless EXPLAIN_PRINT_TLISTS is defined at build time.
      Later I'll see about the idea of letting EXPLAIN VERBOSE do it.
      c5e4e91a
  2. 16 Apr, 2008 9 commits
  3. 15 Apr, 2008 9 commits
  4. 14 Apr, 2008 3 commits
  5. 13 Apr, 2008 3 commits
    • Tom Lane's avatar
      Since createplan.c no longer cares whether index operators are lossy, it has · 226837e5
      Tom Lane authored
      no particular need to do get_op_opfamily_properties() while building an
      indexscan plan.  Postpone that lookup until executor start.  This simplifies
      createplan.c a lot more than it complicates nodeIndexscan.c, and makes things
      more uniform since we already had to do it that way for RowCompare
      expressions.  Should be a bit faster too, at least for plans that aren't
      re-used many times, since we avoid palloc'ing and perhaps copying the
      intermediate list data structure.
      226837e5
    • Tom Lane's avatar
      Phase 2 of project to make index operator lossiness be determined at runtime · 24558da1
      Tom Lane authored
      instead of plan time.  Extend the amgettuple API so that the index AM returns
      a boolean indicating whether the indexquals need to be rechecked, and make
      that rechecking happen in nodeIndexscan.c (currently the only place where
      it's expected to be needed; other callers of index_getnext are just erroring
      out for now).  For the moment, GIN and GIST have stub logic that just always
      sets the recheck flag to TRUE --- I'm hoping to get Teodor to handle pushing
      that control down to the opclass consistent() functions.  The planner no
      longer pays any attention to amopreqcheck, and that catalog column will go
      away in due course.
      24558da1
    • Tom Lane's avatar
      Turn the -i/--ignore-version options of pg_dump and pg_dumpall into no-ops: · c22ed3d5
      Tom Lane authored
      the server version check is now always enforced.  Relax the version check to
      allow a server that is of pg_dump's own major version but a later minor
      version; this is the only case that -i was at all safe to use in.
      
      pg_restore already enforced only a very weak version check, so this is
      really just a documentation change for it.
      
      Per discussion.
      c22ed3d5
  6. 12 Apr, 2008 2 commits
    • Tom Lane's avatar
      Clean up a few places where Datums were being treated as pointers without · ba1c4630
      Tom Lane authored
      going through DatumGetPointer or some other "official" conversion macro.
      Not actually a bug, since Datum the same size as pointer is the only
      supported case at the moment, but good cleanup for the future.
      
      Gavin Sherry
      ba1c4630
    • Tom Lane's avatar
      Create new routines systable_beginscan_ordered, systable_getnext_ordered, · ec498cdc
      Tom Lane authored
      systable_endscan_ordered that have API similar to systable_beginscan etc
      (in particular, the passed-in scankeys have heap not index attnums),
      but guarantee ordered output, unlike the existing functions.  For the moment
      these are just very thin wrappers around index_beginscan/index_getnext/etc.
      Someday they might need to get smarter; but for now this is just a code
      refactoring exercise to reduce the number of direct callers of index_getnext,
      in preparation for changing that function's API.
      
      In passing, remove index_getnext_indexitem, which has been dead code for
      quite some time, and will have even less use than that in the presence
      of run-time-lossy indexes.
      ec498cdc
  7. 11 Apr, 2008 8 commits
    • Tom Lane's avatar
      A quick try at un-breaking the Cygwin build. Whether it needs the · 00832809
      Tom Lane authored
      pgwin32_safestat remains to be determined, but in any case the current
      code is not tolerable.
      00832809
    • Tom Lane's avatar
      Add some debug support code to try to catch future mistakes in the area of · 65c3d05e
      Tom Lane authored
      input functions that include garbage bytes in their results.  Provide a
      compile-time option RANDOMIZE_ALLOCATED_MEMORY to make palloc fill returned
      blocks with variable contents.  This option also makes the parser perform
      conversions of literal constants twice and compare the results, emitting a
      WARNING if they don't match.  (This is the code I used to catch the input
      function bugs fixed in the previous commit.)  For the moment, I've set it
      to be activated automatically by --enable-cassert.
      65c3d05e
    • Tom Lane's avatar
      Fix several datatype input functions that were allowing unused bytes in their · c846f7ca
      Tom Lane authored
      results to contain uninitialized, unpredictable values.  While this was okay
      as far as the datatypes themselves were concerned, it's a problem for the
      parser because occurrences of the "same" literal might not be recognized as
      equal by datumIsEqual (and hence not by equal()).  It seems sufficient to fix
      this in the input functions since the only critical use of equal() is in the
      parser's comparisons of ORDER BY and DISTINCT expressions.
      Per a trouble report from Marc Cousin.
      
      Patch all the way back.  Interestingly, array_in did not have the bug before
      8.2, which may explain why the issue went unnoticed for so long.
      c846f7ca
    • Bruce Momjian's avatar
      Update wording: · 00b1827a
      Bruce Momjian authored
      < * Allow functions to control the transaction state
      > * Allow calling of a procedure outside a SELECT that can control the
      >   transaction state
      00b1827a
    • Bruce Momjian's avatar
      Changed TODO wording: · accbddc9
      Bruce Momjian authored
      < * Support procedures, which return no value
      > * Allow functions to control the transaction state
      accbddc9
    • Bruce Momjian's avatar
      Add TODO: · 94255057
      Bruce Momjian authored
      > * Support procedures, which return no value
      >
      >   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php
      94255057
    • Bruce Momjian's avatar
      Update URLs for dead space map. · a464dc07
      Bruce Momjian authored
      a464dc07
    • Bruce Momjian's avatar
      Fix main README typo. · 3fa352da
      Bruce Momjian authored
      Brendan Jurd
      3fa352da
  8. 10 Apr, 2008 2 commits