Skip to content
Snippets Groups Projects
  1. Dec 09, 2003
  2. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  3. Oct 29, 2003
  4. Aug 18, 2003
  5. Aug 08, 2003
  6. Aug 04, 2003
  7. Jul 28, 2003
  8. Jul 25, 2003
  9. Jul 03, 2003
  10. Jul 01, 2003
  11. Jun 29, 2003
    • Tom Lane's avatar
      Support expressions of the form 'scalar op ANY (array)' and · bee21792
      Tom Lane authored
      'scalar op ALL (array)', where the operator is applied between the
      lefthand scalar and each element of the array.  The operator must
      yield boolean; the result of the construct is the OR or AND of the
      per-element results, respectively.
      
      Original coding by Joe Conway, after an idea of Peter's.  Rewritten
      by Tom to keep the implementation strictly separate from subqueries.
      bee21792
  12. Jun 25, 2003
  13. Jun 06, 2003
    • Tom Lane's avatar
      Implement outer-level aggregates to conform to the SQL spec, with · e649796f
      Tom Lane authored
      extensions to support our historical behavior.  An aggregate belongs
      to the closest query level of any of the variables in its argument,
      or the current query level if there are no variables (e.g., COUNT(*)).
      The implementation involves adding an agglevelsup field to Aggref,
      and treating outer aggregates like outer variables at planning time.
      e649796f
  14. May 29, 2003
  15. May 28, 2003
    • Tom Lane's avatar
      Replace functional-index facility with expressional indexes. Any column · fc8d970c
      Tom Lane authored
      of an index can now be a computed expression instead of a simple variable.
      Restrictions on expressions are the same as for predicates (only immutable
      functions, no sub-selects).  This fixes problems recently introduced with
      inlining SQL functions, because the inlining transformation is applied to
      both expression trees so the planner can still match them up.  Along the
      way, improve efficiency of handling index predicates (both predicates and
      index expressions are now cached by the relcache) and fix 7.3 oversight
      that didn't record dependencies of predicate expressions.
      fc8d970c
  16. Apr 30, 2003
    • Tom Lane's avatar
      Infrastructure for deducing Param types from context, in the same way · aa282d44
      Tom Lane authored
      that the types of untyped string-literal constants are deduced (ie,
      when coerce_type is applied to 'em, that's what the type must be).
      Remove the ancient hack of storing the input Param-types array as a
      global variable, and put the info into ParseState instead.  This touches
      a lot of files because of adjustment of routine parameter lists, but
      it's really not a large patch.  Note: PREPARE statement still insists on
      exact specification of parameter types, but that could easily be relaxed
      now, if we wanted to do so.
      aa282d44
  17. Apr 27, 2003
    • Tom Lane's avatar
      Put back encoding-conversion step in processing of incoming queries; · 982430f8
      Tom Lane authored
      I had inadvertently omitted it while rearranging things to support
      length-counted incoming messages.  Also, change the parser's API back
      to accepting a 'char *' query string instead of 'StringInfo', as the
      latter wasn't buying us anything except overhead.  (I think when I put
      it in I had some notion of making the parser API 8-bit-clean, but
      seeing that flex depends on null-terminated input, that's not really
      ever gonna happen.)
      982430f8
  18. Apr 09, 2003
  19. Mar 22, 2003
    • Tom Lane's avatar
      Adjust subquery qual pushdown rules to be more forgiving: if a qual · 05f916e6
      Tom Lane authored
      refers to a non-DISTINCT output column of a DISTINCT ON subquery, or
      if it refers to a function-returning-set, we cannot push it down.
      But the old implementation refused to push down *any* quals if the
      subquery had any such 'dangerous' outputs.  Now we just look at the
      output columns actually referenced by each qual expression.  More code
      than before, but probably no slower since we don't make unnecessary checks.
      05f916e6
  20. Mar 14, 2003
  21. Mar 10, 2003
    • Tom Lane's avatar
      Restructure parsetree representation of DECLARE CURSOR: now it's a · aa83bc04
      Tom Lane authored
      utility statement (DeclareCursorStmt) with a SELECT query dangling from
      it, rather than a SELECT query with a few unusual fields in it.  Add
      code to determine whether a planned query can safely be run backwards.
      If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run
      backwards by adding a Materialize plan node if it can't.  Without SCROLL,
      you get an error if you try to fetch backwards from a cursor that can't
      handle it.  (There is still some discussion about what the exact
      behavior should be, but this is necessary infrastructure in any case.)
      Along the way, make EXPLAIN DECLARE CURSOR work.
      aa83bc04
  22. Feb 16, 2003
  23. Feb 09, 2003
  24. Feb 08, 2003
  25. Feb 04, 2003
  26. Feb 03, 2003
  27. Jan 20, 2003
    • 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
  28. Jan 17, 2003
  29. Jan 15, 2003
    • Tom Lane's avatar
      Allow merge and hash joins to occur on arbitrary expressions (anything not · de97072e
      Tom Lane authored
      containing a volatile function), rather than only on 'Var = Var' clauses
      as before.  This makes it practical to do flatten_join_alias_vars at the
      start of planning, which in turn eliminates a bunch of klugery inside the
      planner to deal with alias vars.  As a free side effect, we now detect
      implied equality of non-Var expressions; for example in
      	SELECT ... WHERE a.x = b.y and b.y = 42
      we will deduce a.x = 42 and use that as a restriction qual on a.  Also,
      we can remove the restriction introduced 12/5/02 to prevent pullup of
      subqueries whose targetlists contain sublinks.
      Still TODO: make statistical estimation routines in selfuncs.c and costsize.c
      smarter about expressions that are more complex than plain Vars.  The need
      for this is considerably greater now that we have to be able to estimate
      the suitability of merge and hash join techniques on such expressions.
      de97072e
  30. Jan 10, 2003
  31. Dec 15, 2002
  32. Dec 14, 2002
    • Tom Lane's avatar
      Clean up plantree representation of SubPlan-s --- SubLink does not appear · 2d8d6662
      Tom Lane authored
      in the planned representation of a subplan at all any more, only SubPlan.
      This means subselect.c doesn't scribble on its input anymore, which seems
      like a good thing; and there are no longer three different possible
      interpretations of a SubLink.  Simplify node naming and improve comments
      in primnodes.h.  No change to stored rules, though.
      2d8d6662
  33. Dec 13, 2002
  34. Dec 12, 2002
    • Tom Lane's avatar
      Preliminary code review for domain CHECK constraints patch: add documentation, · b0422b21
      Tom Lane authored
      make VALUE a non-reserved word again, use less invasive method of passing
      ConstraintTestValue into transformExpr, fix problems with nested constraint
      testing, do correct thing with NULL result from a constraint expression,
      remove memory leak.  Domain checks still need much more work if we are going
      to allow ALTER DOMAIN, however.
      b0422b21
Loading