1. 05 1月, 2001 1 次提交
    • T
      Remove not-really-standard implementation of CREATE TABLE's UNDER clause, · 2fb6cc90
      Tom Lane 提交于
      and revert documentation to describe the existing INHERITS clause
      instead, per recent discussion in pghackers.  Also fix implementation
      of SQL_inheritance SET variable: it is not cool to look at this var
      during the initial parsing phase, only during parse_analyze().  See
      recent bug report concerning misinterpretation of date constants just
      after a SET TIMEZONE command.  gram.y really has to be an invariant
      transformation of the query string to a raw parsetree; anything that
      can vary with time must be done during parse analysis.
      2fb6cc90
  2. 15 12月, 2000 1 次提交
    • T
      Planner speedup hacking. Avoid saving useless pathkeys, so that path · ea166f11
      Tom Lane 提交于
      comparison does not consider paths different when they differ only in
      uninteresting aspects of sort order.  (We had a special case of this
      consideration for indexscans already, but generalize it to apply to
      ordered join paths too.)  Be stricter about what is a canonical pathkey
      to allow faster pathkey comparison.  Cache canonical pathkeys and
      dispersion stats for left and right sides of a RestrictInfo's clause,
      to avoid repeated computation.  Total speedup will depend on number of
      tables in a query, but I see about 4x speedup of planning phase for
      a sample seven-table query.
      ea166f11
  3. 13 12月, 2000 1 次提交
  4. 04 12月, 2000 1 次提交
  5. 25 11月, 2000 1 次提交
  6. 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
  7. 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
  8. 15 11月, 2000 1 次提交
    • T
      Extend CREATE DATABASE to allow selection of a template database to be · 2cf48ca0
      Tom Lane 提交于
      cloned, rather than always cloning template1.  Modify initdb to generate
      two identical databases rather than one, template0 and template1.
      Connections to template0 are disallowed, so that it will always remain
      in its virgin as-initdb'd state.  pg_dumpall now dumps databases with
      restore commands that say CREATE DATABASE foo WITH TEMPLATE = template0.
      This allows proper behavior when there is user-added data in template1.
      initdb forced!
      2cf48ca0
  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. 06 11月, 2000 1 次提交
  11. 05 11月, 2000 1 次提交
  12. 31 10月, 2000 2 次提交
  13. 27 10月, 2000 1 次提交
  14. 23 10月, 2000 1 次提交
    • P
      Makeover for Unixware 7.1.1 · fba790ad
      Peter Eisentraut 提交于
      * Makefile: Add more standard targets.  Improve shell redirection in GNU
      make detection.
      * src/backend/access/transam/rmgr.c: Fix incorrect(?) C.
      * src/backend/libpq/pqcomm.c (StreamConnection): Work around accept() bug.
      * src/include/port/unixware.h: ...with help from here.
      * src/backend/nodes/print.c (plannode_type): Remove some "break"s after
      "return"s.
      * src/backend/tcop/dest.c (DestToFunction): ditto.
      * src/backend/nodes/readfuncs.c: Add proper prototypes.
      * src/backend/utils/adt/numutils.c (pg_atoi): Cope specially with strtol()
      setting EINVAL. This saves us from creating an extra set of regression test
      output for the affected systems.
      * src/include/storage/s_lock.h (tas): Correct prototype.
      * src/interfaces/libpq/fe-connect.c (parseServiceInfo): Don't use variable
      as dimension in array definition.
      * src/makefiles/Makefile.unixware: Add support for GCC.
      * src/template/unixware: same here
      * src/test/regress/expected/abstime-solaris-1947.out: Adjust whitespace.
      * src/test/regress/expected/horology-solaris-1947.out: Part of this file
      was evidently missing.
      * src/test/regress/pg_regress.sh: Fix shell.  mkdir -p returns non-zero if
      the directory exists.
      * src/test/regress/resultmap: Add entries for Unixware.
      fba790ad
  15. 19 10月, 2000 1 次提交
    • B
      The following patch was sent to the patches list: · 73677dd9
      Bruce Momjian 提交于
      This patch forces the use of 'DROP VIEW' to destroy views.
      
      It also changes the syntax of DROP VIEW to
      DROP VIEW v1, v2, ...
      to match the syntax of DROP TABLE.
      
      Some error messages were changed so this patch also includes changes to the
      appropriate expected/*.out files.
      
      Doc changes for 'DROP TABLE" and 'DROP VIEW' are included.
      
      
      --
      Mark Hollomon
      73677dd9
  16. 07 10月, 2000 1 次提交
    • T
      Arrange that no database accesses are attempted during parser() --- this · fbd26d69
      Tom Lane 提交于
      took some rejiggering of typename and ACL parsing, as well as moving
      parse_analyze call out of parser().  Restructure postgres.c processing
      so that parse analysis and rewrite are skipped when in abort-transaction
      state.  Only COMMIT and ABORT statements will be processed beyond the raw
      parser() phase.  This addresses problem of parser failing with database access
      errors while in aborted state (see pghackers discussions around 7/28/00).
      Also fix some bugs with COMMIT/ABORT statements appearing in the middle of
      a single query input string.
      Function, operator, and aggregate arguments/results can now use full
      TypeName production, in particular foo[] for array types.
      DROP OPERATOR and COMMENT ON OPERATOR were broken for unary operators.
      Allow CREATE AGGREGATE to accept unquoted numeric constants for initcond.
      fbd26d69
  17. 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
  18. 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
  19. 26 9月, 2000 1 次提交
  20. 20 9月, 2000 1 次提交
  21. 13 9月, 2000 1 次提交
  22. 01 9月, 2000 1 次提交
  23. 12 8月, 2000 1 次提交
    • T
      copyObject() and equal() now know about all parse-time node types, · 4951a882
      Tom Lane 提交于
      including utility statements.  Still can't copy or compare executor
      state, but at present that doesn't seem to be necessary.  This makes
      it possible to execute most (all?) utility statements in plpgsql.
      Had to change parsetree representation of CreateTrigStmt so that it
      contained only legal Nodes, and not bare string constants.
      4951a882
  24. 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
  25. 22 7月, 2000 1 次提交
  26. 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
  27. 15 7月, 2000 1 次提交
  28. 12 7月, 2000 1 次提交
  29. 29 6月, 2000 2 次提交
    • T
      Add test code to copy all parse/plan trees. Repair essential omissions · 43ba1b44
      Tom Lane 提交于
      in copyfuncs and equalfuncs exposed by regression tests.  We still have
      some work to do: these modules really ought to handle most or all of
      the utility statement node types.  But it's better than it was.
      43ba1b44
    • T
      Remove freefuncs.c, which hasn't been used in a long time and is not · d1080d19
      Tom Lane 提交于
      worth the effort to continue to maintain.  Since freeObject() is not
      capable of coping with cases like multiple links to a node, it's
      unlikely that it ever will be useful again.  We now have memory
      context management that offers a faster and more reliable way of
      getting rid of arbitrary node trees (at the cost of having to know
      in advance of building the tree that you'll want to get rid of it).
      d1080d19
  30. 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
  31. 16 6月, 2000 1 次提交
  32. 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
  33. 09 6月, 2000 2 次提交
  34. 30 5月, 2000 1 次提交
  35. 29 5月, 2000 2 次提交
  36. 26 5月, 2000 1 次提交