1. 31 5月, 2006 1 次提交
    • T
      Code review for magic-block patch. Remove separate header file pgmagic.h, · e60cb3a3
      Tom Lane 提交于
      as this seems only likely to create headaches for module developers.  Put
      the macro in the pre-existing fmgr.h file instead.  Avoid being too cute
      about how many fields we can cram into a word, and avoid trying to fetch
      from a library we've already unlinked.
      Along the way, it occurred to me that the magic block really ought to be
      'const' so it can be stored in the program text area.  Do the same for
      the existing data blocks for PG_FUNCTION_INFO_V1 functions.
      e60cb3a3
  2. 30 5月, 2006 1 次提交
    • B
      Add pgmagic header block to store compile-time constants: · 01b2168c
      Bruce Momjian 提交于
      It now only checks four things:
      
      Major version number (7.4 or 8.1 for example)
      NAMEDATALEN
      FUNC_MAX_ARGS
      INDEX_MAX_KEYS
      
      The three constants were chosen because:
      
      1. We document them in the config page in the docs
      2. We mark them as changable in pg_config_manual.h
      3. Changing any of these will break some of the more popular modules:
      
      FUNC_MAX_ARGS changes fmgr interface, every module uses this NAMEDATALEN
      changes syscache interface, every PL as well as tsearch uses this
      INDEX_MAX_KEYS breaks tsearch and anything using GiST.
      
      Martijn van Oosterhout
      01b2168c
  3. 23 4月, 2006 1 次提交
  4. 11 3月, 2006 1 次提交
  5. 20 1月, 2006 1 次提交
  6. 29 11月, 2005 1 次提交
  7. 18 11月, 2005 1 次提交
    • T
      Make SQL arrays support null elements. This commit fixes the core array · cecb6075
      Tom Lane 提交于
      functionality, but I still need to make another pass looking at places
      that incidentally use arrays (such as ACL manipulation) to make sure they
      are null-safe.  Contrib needs work too.
      I have not changed the behaviors that are still under discussion about
      array comparison and what to do with lower bounds.
      cecb6075
  8. 16 10月, 2005 1 次提交
  9. 15 10月, 2005 2 次提交
  10. 15 9月, 2005 1 次提交
    • N
      Various documentation improvements. Add a lot of index entries for · 3b0453b2
      Neil Conway 提交于
      the builtin functions (although some more entries are still needed),
      and remove the duplicate index entries that have been causing
      collateindex.pl warnings. Consistently use "int" and "bigint", rather
      than a mix of "int", "integer", "int4", "bigint", and "int8". Make
      parenthesis style in syntax examples more consistent. Various
      copy-editing for newly-added documentation and SGML markup fixes.
      3b0453b2
  11. 31 5月, 2005 1 次提交
  12. 01 4月, 2005 1 次提交
  13. 17 3月, 2005 1 次提交
    • T
      Revise TupleTableSlot code to avoid unnecessary construction and disassembly · f97aebd1
      Tom Lane 提交于
      of tuples when passing data up through multiple plan nodes.  A slot can now
      hold either a normal "physical" HeapTuple, or a "virtual" tuple consisting
      of Datum/isnull arrays.  Upper plan levels can usually just copy the Datum
      arrays, avoiding heap_formtuple() and possible subsequent nocachegetattr()
      calls to extract the data again.  This work extends Atsushi Ogawa's earlier
      patch, which provided the key idea of adding Datum arrays to TupleTableSlots.
      (I believe however that something like this was foreseen way back in Berkeley
      days --- see the old comment on ExecProject.)  A test case involving many
      levels of join of fairly wide tables (about 80 columns altogether) showed
      about 3x overall speedup, though simple queries will probably not be
      helped very much.
      
      I have also duplicated some code in heaptuple.c in order to provide versions
      of heap_formtuple and friends that use "bool" arrays to indicate null
      attributes, instead of the old convention of "char" arrays containing either
      'n' or ' '.  This provides a better match to the convention used by
      ExecEvalExpr.  While I have not made a concerted effort to get rid of uses
      of the old routines, I think they should be deprecated and eventually removed.
      f97aebd1
  14. 13 3月, 2005 1 次提交
    • T
      Adjust the API for aggregate function calls so that a C-coded function · fa5e4401
      Tom Lane 提交于
      can tell whether it is being used as an aggregate or not.  This allows
      such a function to avoid re-pallocing a pass-by-reference transition
      value; normally it would be unsafe for a function to scribble on an input,
      but in the aggregate case it's safe to reuse the old transition value.
      Make int8inc() do this.  This gets a useful improvement in the speed of
      COUNT(*), at least on narrow tables (it seems to be swamped by I/O when
      the table rows are wide).  Per a discussion in early December with
      Neil Conway.  I also fixed int_aggregate.c to check this, thereby
      turning it into something approaching a supportable technique instead
      of being a crude hack.
      fa5e4401
  15. 21 2月, 2005 1 次提交
  16. 23 1月, 2005 2 次提交
  17. 15 1月, 2005 1 次提交
  18. 09 1月, 2005 1 次提交
  19. 08 1月, 2005 2 次提交
  20. 31 12月, 2004 1 次提交
  21. 30 12月, 2004 1 次提交
  22. 14 12月, 2004 1 次提交
  23. 15 11月, 2004 1 次提交
  24. 21 9月, 2004 1 次提交
  25. 14 9月, 2004 1 次提交
    • T
      Redesign query-snapshot timing so that volatile functions in READ COMMITTED · b2c40712
      Tom Lane 提交于
      mode see a fresh snapshot for each command in the function, rather than
      using the latest interactive command's snapshot.  Also, suppress fresh
      snapshots as well as CommandCounterIncrement inside STABLE and IMMUTABLE
      functions, instead using the snapshot taken for the most closely nested
      regular query.  (This behavior is only sane for read-only functions, so
      the patch also enforces that such functions contain only SELECT commands.)
      As per my proposal of 6-Sep-2004; I note that I floated essentially the
      same proposal on 19-Jun-2002, but that discussion tailed off without any
      action.  Since 8.0 seems like the right place to be taking possibly
      nontrivial backwards compatibility hits, let's get it done now.
      b2c40712
  26. 24 8月, 2004 1 次提交
  27. 30 7月, 2004 1 次提交
  28. 17 5月, 2004 1 次提交
  29. 15 5月, 2004 1 次提交
    • N
      Implement the width_bucket() function, per SQL2003. This commit only adds · 0079547b
      Neil Conway 提交于
      a variant of the function for the 'numeric' datatype; it would be possible
      to add additional variants for other datatypes, but I haven't done so yet.
      
      This commit includes regression tests and minimal documentation; if we
      want developers to actually use this function in applications, we'll
      probably need to document what it does more fully.
      0079547b
  30. 11 5月, 2004 1 次提交
    • T
      Promote row expressions to full-fledged citizens of the expression syntax, · 2f63232d
      Tom Lane 提交于
      rather than allowing them only in a few special cases as before.  In
      particular you can now pass a ROW() construct to a function that accepts
      a rowtype parameter.  Internal generation of RowExprs fixes a number of
      corner cases that used to not work very well, such as referencing the
      whole-row result of a JOIN or subquery.  This represents a further step in
      the work I started a month or so back to make rowtype values into
      first-class citizens.
      2f63232d
  31. 02 4月, 2004 1 次提交
    • T
      Replace TupleTableSlot convention for whole-row variables and function · 375369ac
      Tom Lane 提交于
      results with tuples as ordinary varlena Datums.  This commit does not
      in itself do much for us, except eliminate the horrid memory leak
      associated with evaluation of whole-row variables.  However, it lays the
      groundwork for allowing composite types as table columns, and perhaps
      some other useful features as well.  Per my proposal of a few days ago.
      375369ac
  32. 10 3月, 2004 1 次提交
  33. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  34. 13 11月, 2003 1 次提交
  35. 01 11月, 2003 1 次提交
  36. 23 10月, 2003 1 次提交
  37. 13 9月, 2003 1 次提交