1. 22 3月, 2001 1 次提交
  2. 25 1月, 2001 1 次提交
  3. 20 1月, 2001 1 次提交
  4. 08 1月, 2001 1 次提交
  5. 07 1月, 2001 1 次提交
    • T
      Modify readfuncs so that recursive use of stringToNode will not crash · 4057b64f
      Tom Lane 提交于
      and burn.  Just for added luck, change reading of CONST nodes so that
      we do not need to consult pg_type rows while reading them; this means
      that no database access occurs during stringToNode.  This requires
      changing the order in which const-node fields are written, which means
      an initdb is forced.
      4057b64f
  6. 04 12月, 2000 1 次提交
  7. 17 11月, 2000 1 次提交
    • T
      Change SearchSysCache coding conventions so that a reference count is · a933ee38
      Tom Lane 提交于
      maintained for each cache entry.  A cache entry will not be freed until
      the matching ReleaseSysCache call has been executed.  This eliminates
      worries about cache entries getting dropped while still in use.  See
      my posting to pg-hackers of even date for more info.
      a933ee38
  8. 16 11月, 2000 1 次提交
    • B
      Make pgsql compile on FreeBSD-alpha. · 312063c9
      Bruce Momjian 提交于
      Context diff this time.
      
      Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386.
      
      Compile with only -O on alpha for codegen safety.
      
      Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD.
      
      Fix a lot of bogus string formats for outputting pointers (cast to int
      and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now
      cast to 'unsigned long' and output with %lu/
      
      Remove an unused variable.
      
      Alfred Perlstein
      312063c9
  9. 12 11月, 2000 1 次提交
    • T
      Restructure handling of inheritance queries so that they work with outer · 6543d81d
      Tom Lane 提交于
      joins, and clean things up a good deal at the same time.  Append plan node
      no longer hacks on rangetable at runtime --- instead, all child tables are
      given their own RT entries during planning.  Concept of multiple target
      tables pushed up into execMain, replacing bug-prone implementation within
      nodeAppend.  Planner now supports generating Append plans for inheritance
      sets either at the top of the plan (the old way) or at the bottom.  Expanding
      at the bottom is appropriate for tables used as sources, since they may
      appear inside an outer join; but we must still expand at the top when the
      target of an UPDATE or DELETE is an inheritance set, because we actually need
      a different targetlist and junkfilter for each target table in that case.
      Fortunately a target table can't be inside an outer join...  Bizarre mutual
      recursion between union_planner and prepunion.c is gone --- in fact,
      union_planner doesn't really have much to do with union queries anymore,
      so I renamed it grouping_planner.
      6543d81d
  10. 31 10月, 2000 2 次提交
  11. 27 10月, 2000 1 次提交
  12. 06 10月, 2000 1 次提交
    • T
      Reimplementation of UNION/INTERSECT/EXCEPT. INTERSECT/EXCEPT now meet the · 05e3d0ee
      Tom Lane 提交于
      SQL92 semantics, including support for ALL option.  All three can be used
      in subqueries and views.  DISTINCT and ORDER BY work now in views, too.
      This rewrite fixes many problems with cross-datatype UNIONs and INSERT/SELECT
      where the SELECT yields different datatypes than the INSERT needs.  I did
      that by making UNION subqueries and SELECT in INSERT be treated like
      subselects-in-FROM, thereby allowing an extra level of targetlist where the
      datatype conversions can be inserted safely.
      INITDB NEEDED!
      05e3d0ee
  13. 30 9月, 2000 1 次提交
    • T
      Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. · 3a94e789
      Tom Lane 提交于
      (Don't forget that an alias is required.)  Views reimplemented as expanding
      to subselect-in-FROM.  Grouping, aggregates, DISTINCT in views actually
      work now (he says optimistically).  No UNION support in subselects/views
      yet, but I have some ideas about that.  Rule-related permissions checking
      moved out of rewriter and into executor.
      INITDB REQUIRED!
      3a94e789
  14. 13 9月, 2000 1 次提交
  15. 08 8月, 2000 1 次提交
    • T
      Remove 'func_tlist' from Func expression nodes, likewise 'param_tlist' · 62e29fe2
      Tom Lane 提交于
      from Param nodes, per discussion a few days ago on pghackers.  Add new
      expression node type FieldSelect that implements the functionality where
      it's actually needed.  Clean up some other unused fields in Func nodes
      as well.
      NOTE: initdb forced due to change in stored expression trees for rules.
      62e29fe2
  16. 22 7月, 2000 1 次提交
  17. 17 7月, 2000 1 次提交
    • T
      Revise aggregate functions per earlier discussions in pghackers. · bec98a31
      Tom Lane 提交于
      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
  18. 15 7月, 2000 1 次提交
  19. 12 7月, 2000 1 次提交
  20. 19 6月, 2000 1 次提交
    • T
      Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the · 1ee26b77
      Tom Lane 提交于
      materialized tupleset is small enough) instead of a temporary relation.
      This was something I was thinking of doing anyway for performance, and Jan
      says he needs it for TOAST because he doesn't want to cope with toasting
      noname relations.  With this change, the 'noname table' support in heap.c
      is dead code, and I have accordingly removed it.  Also clean up 'noname'
      plan handling in planner --- nonames are either sort or materialize plans,
      and it seems less confusing to handle them separately under those names.
      1ee26b77
  21. 16 6月, 2000 1 次提交
  22. 15 6月, 2000 1 次提交
    • P
      Big warnings cleanup for Solaris/GCC. Down to about 40 now, but · 44d1abeb
      Peter Eisentraut 提交于
      we'll get there one day.
      
      Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
      have automake installed.
      
      Only run the autoconf rule in the top-level GNUmakefile if the
      invoker specified `make configure', don't run it automatically
      because of CVS timestamp skew.
      44d1abeb
  23. 29 5月, 2000 1 次提交
  24. 26 5月, 2000 1 次提交
  25. 27 4月, 2000 1 次提交
  26. 13 4月, 2000 1 次提交
  27. 24 3月, 2000 1 次提交
  28. 23 3月, 2000 1 次提交
    • T
      Repair logic flaw in cost estimator: cost_nestloop() was estimating CPU · 1d5e7a6f
      Tom Lane 提交于
      costs using the inner path's parent->rows count as the number of tuples
      processed per inner scan iteration.  This is wrong when we are using an
      inner indexscan with indexquals based on join clauses, because the rows
      count in a Relation node reflects the selectivity of the restriction
      clauses for that rel only.  Upshot was that if join clause was very
      selective, we'd drastically overestimate the true cost of the join.
      Fix is to calculate correct output-rows estimate for an inner indexscan
      when the IndexPath node is created and save it in the path node.
      Change of path node doesn't require initdb, since path nodes don't
      appear in saved rules.
      1d5e7a6f
  29. 17 3月, 2000 1 次提交
  30. 22 2月, 2000 1 次提交
    • T
      Change parse-time representation of float literals (which include oversize · 393f3132
      Tom Lane 提交于
      integers) to be strings instead of 'double'.  We convert from string form
      to internal representation only after type resolution has determined the
      correct type for the constant.  This eliminates loss-of-precision worries
      and gets rid of the change in behavior seen at 17 digits with the
      previous kluge.
      393f3132
  31. 21 2月, 2000 1 次提交
    • T
      Create a new expression node type RelabelType, which exists solely to · 57b30e8e
      Tom Lane 提交于
      represent the result of a binary-compatible type coercion.  At runtime
      it just evaluates its argument --- but during type resolution, exprType
      will pick up the output type of the RelabelType node instead of the type
      of the argument.  This solves some longstanding problems with dropped
      type coercions, an example being 'select now()::abstime::int4' which
      used to produce date-formatted output, not an integer, because the
      coercion to int4 was dropped on the floor.
      57b30e8e
  32. 16 2月, 2000 1 次提交
    • T
      New cost model for planning, incorporating a penalty for random page · b1577a7c
      Tom Lane 提交于
      accesses versus sequential accesses, a (very crude) estimate of the
      effects of caching on random page accesses, and cost to evaluate WHERE-
      clause expressions.  Export critical parameters for this model as SET
      variables.  Also, create SET variables for the planner's enable flags
      (enable_seqscan, enable_indexscan, etc) so that these can be controlled
      more conveniently than via PGOPTIONS.
      
      Planner now estimates both startup cost (cost before retrieving
      first tuple) and total cost of each path, so it can optimize queries
      with LIMIT on a reasonable basis by interpolating between these costs.
      Same facility is a win for EXISTS(...) subqueries and some other cases.
      
      Redesign pathkey representation to achieve a major speedup in planning
      (I saw as much as 5X on a 10-way join); also minor changes in planner
      to reduce memory consumption by recycling discarded Path nodes and
      not constructing unnecessary lists.
      
      Minor cleanups to display more-plausible costs in some cases in
      EXPLAIN output.
      
      Initdb forced by change in interface to index cost estimation
      functions.
      b1577a7c
  33. 15 2月, 2000 1 次提交
  34. 07 2月, 2000 1 次提交
    • T
      Repair planning bugs caused by my misguided removal of restrictinfo link · d8733ce6
      Tom Lane 提交于
      fields in JoinPaths --- turns out that we do need that after all :-(.
      Also, rearrange planner so that only one RelOptInfo is created for a
      particular set of joined base relations, no matter how many different
      subsets of relations it can be created from.  This saves memory and
      processing time compared to the old method of making a bunch of RelOptInfos
      and then removing the duplicates.  Clean up the jointree iteration logic;
      not sure if it's better, but I sure find it more readable and plausible
      now, particularly for the case of 'bushy plans'.
      d8733ce6
  35. 28 1月, 2000 1 次提交
    • T
      Redesign DISTINCT ON as discussed in pgsql-sql 1/25/00: syntax is now · dd979f66
      Tom Lane 提交于
      SELECT DISTINCT ON (expr [, expr ...]) targetlist ...
      and there is a check to make sure that the user didn't specify an ORDER BY
      that's incompatible with the DISTINCT operation.
      Reimplement nodeUnique and nodeGroup to use the proper datatype-specific
      equality function for each column being compared --- they used to do
      bitwise comparisons or convert the data to text strings and strcmp().
      (To add insult to injury, they'd look up the conversion functions once
      for each tuple...)  Parse/plan representation of DISTINCT is now a list
      of SortClause nodes.
      initdb forced by querytree change...
      dd979f66
  36. 26 1月, 2000 1 次提交
    • B
      Add: · 5c25d602
      Bruce Momjian 提交于
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  37. 17 1月, 2000 1 次提交
  38. 14 1月, 2000 1 次提交
  39. 09 1月, 2000 1 次提交