1. 11 4月, 2008 1 次提交
  2. 10 4月, 2008 2 次提交
  3. 09 4月, 2008 4 次提交
  4. 08 4月, 2008 3 次提交
  5. 07 4月, 2008 3 次提交
    • P
      Implement a few changes to how shared libraries and dynamically loadable · 46e76373
      Peter Eisentraut 提交于
      modules are built.  Foremost, it creates a solid distinction between these two
      types of targets based on what had already been implemented and duplicated in
      ad hoc ways before.  Specifically,
      
      - Dynamically loadable modules no longer get a soname.  The numbers previously
      set in the makefiles were dummy numbers anyway, and the presence of a soname
      upset a few packaging tools, so it is nicer not to have one.
      
      - The cumbersome detour taken on installation (build a libfoo.so.0.0.0 and
      then override the rule to install foo.so instead) is removed.
      
      - Lots of duplicated code simplified.
      46e76373
    • T
      Make plpgsql support FOR over a query specified by a cursor declaration, · 347dd6a1
      Tom Lane 提交于
      for improved compatibility with Oracle.
      
      Pavel Stehule, with some fixes by me.
      347dd6a1
    • T
      Improve hash_any() to use word-wide fetches when hashing suitably aligned · 26043592
      Tom Lane 提交于
      data.  This makes for a significant speedup at the cost that the results
      now vary between little-endian and big-endian machines; which forces us
      to add explicit ORDER BYs in a couple of regression tests to preserve
      machine-independent comparison results.  Also, force initdb by bumping
      catversion, since the contents of hash indexes will change (at least on
      big-endian machines).
      
      Kenneth Marshall and Tom Lane, based on work from Bob Jenkins.  This commit
      does not adopt Bob's new faster mix() algorithm, however, since we still need
      to convince ourselves that that doesn't degrade the quality of the hashing.
      26043592
  6. 05 4月, 2008 8 次提交
  7. 04 4月, 2008 5 次提交
  8. 03 4月, 2008 3 次提交
    • M
      Oops, add proper #ifdef for systems without support for syslog. · f1e0d5a8
      Magnus Hagander 提交于
      Per buildfarm member mastodon.
      f1e0d5a8
    • M
      Convert syslog_facility guc to enum type. · 409e386b
      Magnus Hagander 提交于
      409e386b
    • T
      Revert my bad decision of about a year ago to make PortalDefineQuery · 1591fcbe
      Tom Lane 提交于
      responsible for copying the query string into the new Portal.  Such copying
      is unnecessary in the common code path through exec_simple_query, and in
      this case it can be enormously expensive because the string might contain
      a large number of individual commands; we were copying the entire, long
      string for each command, resulting in O(N^2) behavior for N commands.
      (This is the cause of bug #4079.)  A second problem with it is that
      PortalDefineQuery really can't risk error, because if it elog's before
      having set up the Portal, we will leak the plancache refcount that the
      caller is trying to hand off to the portal.  So go back to the design in
      which the caller is responsible for making sure everything is copied into
      the portal if necessary.
      1591fcbe
  9. 02 4月, 2008 1 次提交
  10. 01 4月, 2008 4 次提交
    • T
      Support EXECUTE USING in plpgsql. · e2a88043
      Tom Lane 提交于
      Pavel Stehule, with some improvements by myself.
      e2a88043
    • T
      Add SPI-level support for executing SQL commands with one-time-use plans, · d5466e38
      Tom Lane 提交于
      that is commands that have out-of-line parameters but the plan is prepared
      assuming that the parameter values are constants.  This is needed for the
      plpgsql EXECUTE USING patch, but will probably have use elsewhere.
      
      This commit includes the SPI functions and documentation, but no callers
      nor regression tests.  The upcoming EXECUTE USING patch will provide
      regression-test coverage.  I thought committing this separately made
      sense since it's logically a distinct feature.
      d5466e38
    • T
      Fix an oversight I made in a cleanup patch over a year ago: · 6b73d7e5
      Tom Lane 提交于
      eval_const_expressions needs to be passed the PlannerInfo ("root") structure,
      because in some cases we want it to substitute values for Param nodes.
      (So "constant" is not so constant as all that ...)  This mistake partially
      disabled optimization of unnamed extended-Query statements in 8.3: in
      particular the LIKE-to-indexscan optimization would never be applied if the
      LIKE pattern was passed as a parameter, and constraint exclusion depending
      on a parameter value didn't work either.
      6b73d7e5
    • T
      Apply my original fix for Taiki Yamaguchi's bug report about DISTINCT MAX(). · d3441155
      Tom Lane 提交于
      Add some regression tests for plausible failures in this area.
      d3441155
  11. 31 3月, 2008 5 次提交
    • T
      Fix my brain fade in TRUNCATE triggers patch: can't release relcache refcounts · e86237ff
      Tom Lane 提交于
      while EState still contains pointers to those relations.  Exposed by the
      CLOBBER_CACHE_ALWAYS tests that buildfarm member jaguar is running (I knew
      those cycles would pay off...)
      e86237ff
    • T
      Use error message wordings for permissions checks on .pgpass and SSL private · 3405f2b9
      Tom Lane 提交于
      key files that are similar to the one for the postmaster's data directory
      permissions check.  (I chose to standardize on that one since it's the most
      heavily used and presumably best-wordsmithed by now.)  Also eliminate explicit
      tests on file ownership in these places, since the ensuing read attempt must
      fail anyway if it's wrong, and there seems no value in issuing the same error
      message for distinct problems.  (But I left in the explicit ownership test in
      postmaster.c, since it had its own error message anyway.)  Also be more
      specific in the documentation's descriptions of these checks.  Per a gripe
      from Kevin Hunter.
      3405f2b9
    • T
      Fix a number of places that were making file-type tests infelicitously. · c5f11f9d
      Tom Lane 提交于
      The places that did, eg,
      	(statbuf.st_mode & S_IFMT) == S_IFDIR
      were correct, but there is no good reason not to use S_ISDIR() instead,
      especially when that's what the other 90% of our code does.  The places
      that did, eg,
      	(statbuf.st_mode & S_IFDIR)
      were flat out *wrong* and would fail in various platform-specific ways,
      eg a symlink could be mistaken for a regular file on most Unixen.
      
      The actual impact of this is probably small, since the problem cases
      seem to always involve symlinks or sockets, which are unlikely to be
      found in the directories that PG code might be scanning.  But it's
      clearly trouble waiting to happen, so patch all the way back anyway.
      (There seem to be no occurrences of the mistake in 7.4.)
      c5f11f9d
    • T
      Show database access privileges in psql's \l command. For \l+, also show · b65a5097
      Tom Lane 提交于
      database size, when available to the current user.
      
      Andrew Gilligan
      b65a5097
    • T
      Display incoming as well as outgoing foreign-key constraints in psql's · 2be368a5
      Tom Lane 提交于
      \d output for a table.
      
      Kenneth D'Souza, some changes by myself.
      2be368a5
  12. 30 3月, 2008 1 次提交