1. 02 1月, 2009 5 次提交
  2. 01 1月, 2009 1 次提交
  3. 31 12月, 2008 2 次提交
    • T
      Add a WINDOW attribute to CREATE FUNCTION, and teach pg_dump about it, · 26ce4e85
      Tom Lane 提交于
      so that user-defined window functions are possible.  For the moment you'll
      have to write them in C, for lack of any interface to the WindowObject API
      in the available PLs, but it's better than no support at all.
      
      There was some debate about the best syntax for this.  I ended up choosing
      the "it's an attribute" position --- the other approach will inevitably be
      more work, and the likely market for user-defined window functions is
      probably too small to justify it.
      26ce4e85
    • T
      Add some basic support for window frame clauses to the window-functions · 8e8854da
      Tom Lane 提交于
      patch.  This includes the ability to force the frame to cover the whole
      partition, and the ability to make the frame end exactly on the current row
      rather than its last ORDER BY peer.  Supporting any more of the full SQL
      frame-clause syntax will require nontrivial hacking on the window aggregate
      code, so it'll have to wait for 8.5 or beyond.
      8e8854da
  4. 30 12月, 2008 1 次提交
  5. 29 12月, 2008 1 次提交
  6. 28 12月, 2008 1 次提交
    • T
      Make a couple of small changes to the tuplestore API, for the benefit of the · 38e93482
      Tom Lane 提交于
      upcoming window-functions patch.  First, tuplestore_trim is now an
      exported function that must be explicitly invoked by callers at
      appropriate times, rather than something that tuplestore tries to do
      behind the scenes.  Second, a read pointer that is marked as allowing
      backward scan no longer prevents truncation.  This means that a read pointer
      marked as having BACKWARD but not REWIND capability can only safely read
      backwards as far as the oldest other read pointer.  (The expected use pattern
      for this involves having another read pointer that serves as the truncation
      fencepost.)
      38e93482
  7. 25 12月, 2008 1 次提交
  8. 21 12月, 2008 1 次提交
  9. 20 12月, 2008 4 次提交
  10. 19 12月, 2008 3 次提交
  11. 17 12月, 2008 3 次提交
    • H
      Don't reset pg_class.reltuples and relpages in VACUUM, if any pages were · dcf84099
      Heikki Linnakangas 提交于
      skipped. We could update relpages anyway, but it seems better to only
      update it together with reltuples, because we use the reltuples/relpages
      ratio in the planner. Also don't update n_live_tuples in pgstat.
      
      ANALYZE in VACUUM ANALYZE now needs to update pg_class, if the
      VACUUM-phase didn't do so. Added some boolean-passing to let analyze_rel
      know if it should update pg_class or not.
      
      I also moved the relcache invalidation (to update rd_targblock) from
      vac_update_relstats to where RelationTruncate is called, because
      vac_update_relstats is not called for partial vacuums anymore. It's more
      obvious to send the invalidation close to the truncation that requires it.
      
      Per report by Ned T. Crigler.
      dcf84099
    • B
      The attached patch contains a couple of fixes in the existing probes and · 5a90bc1f
      Bruce Momjian 提交于
      includes a few new ones.
      
      - Fixed compilation errors on OS X for probes that use typedefs
      - Fixed a number of probes to pass ForkNumber per the relation forks
      patch
      - The new probes are those that were taken out from the previous
      submitted patch and required simple fixes. Will submit the other probes
      that may require more discussion in a separate patch.
      
      Robert Lor
      5a90bc1f
    • T
      Make heap_update() set newtup->t_tableOid correctly, for consistency with · fc3297d8
      Tom Lane 提交于
      the other major heapam.c functions.  The only known consequence of this
      omission is that UPDATE RETURNING failed to return the correct value for
      "tableoid", as per report from KaiGai Kohei.
      
      Back-patch to 8.2.  Arguably it's wrong all the way back; but without
      evidence of visible breakage before RETURNING was added, I'll desist from
      patching the older branches.
      fc3297d8
  12. 16 12月, 2008 3 次提交
  13. 15 12月, 2008 4 次提交
    • T
      Reduce the scaling factor for attstattarget to number-of-lexemes from 100 · 301194f8
      Tom Lane 提交于
      to 10, to compensate for the recent change in default statistics target.
      The original number was pulled out of the air anyway :-(, but it was picked
      in the context of the old default, so holding the default size of the
      MCELEM array constant seems the best thing.  Per discussion.
      301194f8
    • T
      Remove our dependencies on MB_CUR_MAX in favor of believing that · b4d64a6d
      Tom Lane 提交于
      pg_database_encoding_max_length() predicts the maximum character length
      returned by wchar2char().  Per Hiroshi Inoue, MB_CUR_MAX isn't usable on
      Windows because we allow encoding = UTF8 when the locale says differently;
      and getting rid of it seems a good idea on general principles because it
      narrows our dependence on libc's locale API just a little bit more.
      
      Also install a check for overflow of the buffer size computation.
      b4d64a6d
    • T
      Restore enforce_generic_type_consistency's pre-8.3 behavior of allowing an · a9d5f30b
      Tom Lane 提交于
      actual argument type of ANYARRAY to match an argument declared ANYARRAY,
      so long as ANYELEMENT etc aren't used.  I had overlooked the fact that this
      is a possible case while fixing bug #3852; but it is possible because
      pg_statistic contains columns declared ANYARRAY.  Per gripe from Corey Horton.
      a9d5f30b
    • M
      Replace both send and receive BIO routines in the SSL code with our own, · b8753e59
      Magnus Hagander 提交于
      calling recv() and send(). This makes the calls go through the socket
      emulation code on Win32, making them for example properly interruptible.
      b8753e59
  14. 14 12月, 2008 1 次提交
  15. 13 12月, 2008 2 次提交
    • T
      Remove pg_plan_queries()'s now-useless needSnapshot parameter. It's useless · b69bde77
      Tom Lane 提交于
      in 8.3, too, but I'm not back-patching this change since it would break any
      extension modules that might be calling that function.
      b69bde77
    • T
      Fix failure to ensure that a snapshot is available to datatype input functions · c98a9237
      Tom Lane 提交于
      when they are invoked by the parser.  We had been setting up a snapshot at
      plan time but really it needs to be done earlier, before parse analysis.
      Per report from Dmitry Koterov.
      
      Also fix two related problems discovered while poking at this one:
      exec_bind_message called datatype input functions without establishing a
      snapshot, and SET CONSTRAINTS IMMEDIATE could call trigger functions without
      establishing a snapshot.
      
      Backpatch to 8.2.  The underlying problem goes much further back, but it is
      masked in 8.1 and before because we didn't attempt to invoke domain check
      constraints within datatype input.  It would only be exposed if a C-language
      datatype input function used the snapshot; which evidently none do, or we'd
      have heard complaints sooner.  Since this code has changed a lot over time,
      a back-patch is hardly risk-free, and so I'm disinclined to patch further
      than absolutely necessary.
      c98a9237
  16. 12 12月, 2008 1 次提交
  17. 11 12月, 2008 3 次提交
  18. 09 12月, 2008 2 次提交
  19. 08 12月, 2008 1 次提交