1. 02 Feb, 2007 1 commit
    • Tom Lane's avatar
      Repair failure to check that a table is still compatible with a previously · 5413eef8
      Tom Lane authored
      made query plan.  Use of ALTER COLUMN TYPE creates a hazard for cached
      query plans: they could contain Vars that claim a column has a different
      type than it now has.  Fix this by checking during plan startup that Vars
      at relation scan level match the current relation tuple descriptor.  Since
      at that point we already have at least AccessShareLock, we can be sure the
      column type will not change underneath us later in the query.  However,
      since a backend's locks do not conflict against itself, there is still a
      hole for an attacker to exploit: he could try to execute ALTER COLUMN TYPE
      while a query is in progress in the current backend.  Seal that hole by
      rejecting ALTER TABLE whenever the target relation is already open in
      the current backend.
      
      This is a significant security hole: not only can one trivially crash the
      backend, but with appropriate misuse of pass-by-reference datatypes it is
      possible to read out arbitrary locations in the server process's memory,
      which could allow retrieving database content the user should not be able
      to see.  Our thanks to Jeff Trout for the initial report.
      
      Security: CVE-2007-0556
      5413eef8
  2. 05 Jan, 2007 1 commit
  3. 04 Oct, 2006 1 commit
  4. 05 Mar, 2006 1 commit
  5. 28 Feb, 2006 1 commit
    • Tom Lane's avatar
      Extend the ExecInitNode API so that plan nodes receive a set of flag · 2c0ef977
      Tom Lane authored
      bits indicating which optional capabilities can actually be exercised
      at runtime.  This will allow Sort and Material nodes, and perhaps later
      other nodes, to avoid unnecessary overhead in common cases.
      This commit just adds the infrastructure and arranges to pass the correct
      flag values down to plan nodes; none of the actual optimizations are here
      yet.  I'm committing this separately in case anyone wants to measure the
      added overhead.  (It should be negligible.)
      
      Simon Riggs and Tom Lane
      2c0ef977
  6. 22 Nov, 2005 1 commit
  7. 15 Oct, 2005 1 commit
  8. 31 Dec, 2004 1 commit
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  9. 29 Aug, 2004 1 commit
  10. 29 Nov, 2003 1 commit
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  11. 04 Aug, 2003 2 commits
  12. 21 Jul, 2003 1 commit
  13. 05 May, 2003 1 commit
  14. 27 Jan, 2003 1 commit
    • Tom Lane's avatar
      Upgrade cost estimation for joins, per discussion with Bradley Baetz. · 70fba704
      Tom Lane authored
      Try to model the effect of rescanning input tuples in mergejoins;
      account for JOIN_IN short-circuiting where appropriate.  Also, recognize
      that mergejoin and hashjoin clauses may now be more than single operator
      calls, so we have to charge appropriate execution costs.
      70fba704
  15. 20 Jan, 2003 1 commit
    • Tom Lane's avatar
      IN clauses appearing at top level of WHERE can now be handled as joins. · bdfbfde1
      Tom Lane authored
      There are two implementation techniques: the executor understands a new
      JOIN_IN jointype, which emits at most one matching row per left-hand row,
      or the result of the IN's sub-select can be fed through a DISTINCT filter
      and then joined as an ordinary relation.
      Along the way, some minor code cleanup in the optimizer; notably, break
      out most of the jointree-rearrangement preprocessing in planner.c and
      put it in a new file prep/prepjointree.c.
      bdfbfde1
  16. 15 Dec, 2002 1 commit
  17. 13 Dec, 2002 1 commit
  18. 05 Dec, 2002 1 commit
    • Tom Lane's avatar
      Phase 1 of read-only-plans project: cause executor state nodes to point · 1fd0c59e
      Tom Lane authored
      to plan nodes, not vice-versa.  All executor state nodes now inherit from
      struct PlanState.  Copying of plan trees has been simplified by not
      storing a list of SubPlans in Plan nodes (eliminating duplicate links).
      The executor still needs such a list, but it can build it during
      ExecutorStart since it has to scan the plan tree anyway.
      No initdb forced since no stored-on-disk structures changed, but you
      will need a full recompile because of node-numbering changes.
      1fd0c59e
  19. 20 Jun, 2002 1 commit
  20. 25 Oct, 2001 1 commit
  21. 22 Mar, 2001 2 commits
  22. 24 Jan, 2001 1 commit
  23. 12 Sep, 2000 1 commit
  24. 24 Aug, 2000 1 commit
  25. 13 Aug, 2000 1 commit
    • Tom Lane's avatar
      Clean up handling of variable-free qual clauses. System now does the · 37168b8d
      Tom Lane authored
      right thing with variable-free clauses that contain noncachable functions,
      such as 'WHERE random() < 0.5' --- these are evaluated once per
      potential output tuple.  Expressions that contain only Params are
      now candidates to be indexscan quals --- for example, 'var = ($1 + 1)'
      can now be indexed.  Cope with RelabelType nodes atop potential indexscan
      variables --- this oversight prevents 7.0.* from recognizing some
      potentially indexscanable situations.
      37168b8d
  26. 17 Jul, 2000 1 commit
    • Tom Lane's avatar
      Revise aggregate functions per earlier discussions in pghackers. · bec98a31
      Tom Lane authored
      There's now only one transition value and transition function.
      NULL handling in aggregates is a lot cleaner.  Also, use Numeric
      accumulators instead of integer accumulators for sum/avg on integer
      datatypes --- this avoids overflow at the cost of being a little slower.
      Implement VARIANCE() and STDDEV() aggregates in the standard backend.
      
      Also, enable new LIKE selectivity estimators by default.  Unrelated
      change, but as long as I had to force initdb anyway...
      bec98a31
  27. 12 Jul, 2000 1 commit
  28. 15 Jun, 2000 1 commit
  29. 26 Jan, 2000 1 commit
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  30. 19 Jan, 2000 1 commit
    • Tom Lane's avatar
      Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result · 6d1efd76
      Tom Lane authored
      from a constraint condition does not violate the constraint (cf. discussion
      on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
      specifying whether to return TRUE or FALSE when the qual result is
      really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
      the only caller that asks for TRUE, but if we find any other places that
      have the wrong response to NULL, it'll be easy to fix them.
      6d1efd76
  31. 16 Jul, 1999 1 commit
  32. 15 Jul, 1999 1 commit
  33. 13 Feb, 1999 1 commit
  34. 15 Jun, 1998 1 commit
  35. 26 Feb, 1998 1 commit
  36. 13 Feb, 1998 1 commit
    • Vadim B. Mikheev's avatar
      Support for subselects. · 1a105cef
      Vadim B. Mikheev authored
      ExecReScan for nodeAgg, nodeHash, nodeHashjoin, nodeNestloop and nodeResult.
      Fixed ExecReScan for nodeMaterial.
      Get rid of #ifdef INDEXSCAN_PATCH.
      Get rid of ExecMarkPos and ExecRestrPos in nodeNestloop.
      1a105cef
  37. 08 Sep, 1997 2 commits