Skip to content
Snippets Groups Projects
  1. Nov 22, 2005
  2. Nov 19, 2005
  3. Nov 17, 2005
    • Tom Lane's avatar
      Make SQL arrays support null elements. This commit fixes the core array · cecb6075
      Tom Lane authored
      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
  4. Oct 15, 2005
  5. Aug 15, 2005
    • Tom Lane's avatar
      array_in() and array_recv() need to be more paranoid about validating · 866ffc2f
      Tom Lane authored
      their OID parameter.  It was possible to crash the backend with
      select array_in('{123}',0,0); because that would bypass the needed step
      of initializing the workspace.  These seem to be the only two places
      with a problem, though (record_in and record_recv don't have the issue,
      and the other array functions aren't depending on user-supplied input).
      Back-patch as far as 7.4; 7.3 does not have the bug.
      866ffc2f
  6. Jul 10, 2005
    • Tom Lane's avatar
      Change typreceive function API so that receive functions get the same · d78397d3
      Tom Lane authored
      optional arguments as text input functions, ie, typioparam OID and
      atttypmod.  Make all the datatypes that use typmod enforce it the same
      way in typreceive as they do in typinput.  This fixes a problem with
      failure to enforce length restrictions during COPY FROM BINARY.
      d78397d3
  7. May 01, 2005
    • Tom Lane's avatar
      Change CREATE TYPE to require datatype output and send functions to have · 6c412f06
      Tom Lane authored
      only one argument.  (Per recent discussion, the option to accept multiple
      arguments is pretty useless for user-defined types, and would be a likely
      source of security holes if it was used.)  Simplify call sites of
      output/send functions to not bother passing more than one argument.
      6c412f06
  8. Mar 29, 2005
    • Tom Lane's avatar
      Officially decouple FUNC_MAX_ARGS from INDEX_MAX_KEYS, and set the · 8c85a34a
      Tom Lane authored
      former to 100 by default.  Clean up some of the less necessary
      dependencies on FUNC_MAX_ARGS; however, the biggie (FunctionCallInfoData)
      remains.
      8c85a34a
    • Tom Lane's avatar
      Convert oidvector and int2vector into variable-length arrays. This · 70c9763d
      Tom Lane authored
      change saves a great deal of space in pg_proc and its primary index,
      and it eliminates the former requirement that INDEX_MAX_KEYS and
      FUNC_MAX_ARGS have the same value.  INDEX_MAX_KEYS is still embedded
      in the on-disk representation (because it affects index tuple header
      size), but FUNC_MAX_ARGS is not.  I believe it would now be possible
      to increase FUNC_MAX_ARGS at little cost, but haven't experimented yet.
      There are still a lot of vestigial references to FUNC_MAX_ARGS, which
      I will clean up in a separate pass.  However, getting rid of it
      altogether would require changing the FunctionCallInfoData struct,
      and I'm not sure I want to buy into that.
      70c9763d
  9. Mar 24, 2005
  10. Feb 28, 2005
  11. Dec 31, 2004
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  12. Dec 17, 2004
  13. Sep 27, 2004
    • Tom Lane's avatar
      Rewrite ReadArrayStr() to avoid O(N^2) behavior on large strings, · ae8f7313
      Tom Lane authored
      and hopefully improve code clarity while at it.  One intentional
      semantics change: a backslashed space will not be treated as removable
      trailing whitespace, as the prior coding would do.  ISTM that if it
      wouldn't be considered removable leading whitespace, it shouldn't be
      stripped at the end either.
      ae8f7313
  14. Sep 16, 2004
  15. Sep 02, 2004
  16. Aug 29, 2004
  17. Aug 28, 2004
  18. Aug 08, 2004
    • Joe Conway's avatar
      Tighened up syntax checking of array input processing considerably. Junk that · cb50ee28
      Joe Conway authored
      was previously allowed in odd places with odd results now causes an ERROR.
      Also changed behavior with respect to whitespace -- trailing whitespace is
      now ignored as well as leading whitespace (which has always been ignored).
      
      Documentation updated to reflect change in whitespace handling. Also some
      refactoring to what I believe is a more sensible order of several paragraphs.
      cb50ee28
  19. Aug 05, 2004
    • Joe Conway's avatar
      Require that array literals produce "rectangular" arrays, i.e. all the · 0e13d627
      Joe Conway authored
      subarrays of a given dimension have the same number of elements/subarrays.
      
      Also repair a longstanding undocumented (as far as I can see) ability to
      explicitly set array bounds in the array literal syntax. It now can
      deal properly with negative array indicies. Modify array_out so that
      arrays with non-standard lower bounds (i.e. not 1) are output with
      the expicit dimension syntax. This fixes a longstanding issue whereby
      arrays with non-default lower bounds had them changed to default
      after a dump/reload cycle.
      
      Modify regression tests and docs to suit, and add some minimal
      documentation regarding the explicit dimension syntax.
      0e13d627
  20. Jun 16, 2004
    • Tom Lane's avatar
      Represent type-specific length coercion functions as pg_cast entries, · d70a42e6
      Tom Lane authored
      eliminating the former hard-wired convention about their names.  Allow
      pg_cast entries to represent both type coercion and length coercion in
      a single step --- this is represented by a function that takes an
      extra typmod argument, just like a length coercion function.  This
      nicely merges the type and length coercion mechanisms into something
      at least a little cleaner than we had before.  Make use of the single-
      coercion-step behavior to fix integer-to-bit coercion so that coercing
      to bit(n) yields the rightmost n bits of the integer instead of the
      leftmost n bits.  This should fix recurrent complaints about the odd
      behavior of this coercion.  Clean up the documentation of the bit string
      functions, and try to put it where people might actually find it.
      Also, get rid of the unreliable heuristics in ruleutils.c about whether
      to display nested coercion steps; instead require parse_coerce.c to
      label them properly in the first place.
      d70a42e6
  21. Jun 08, 2004
  22. Jun 06, 2004
    • Tom Lane's avatar
      Infrastructure for I/O of composite types: arrange for the I/O routines · c541bb86
      Tom Lane authored
      of a composite type to get that type's OID as their second parameter,
      in place of typelem which is useless.  The actual changes are mostly
      centralized in getTypeInputInfo and siblings, but I had to fix a few
      places that were fetching pg_type.typelem for themselves instead of
      using the lsyscache.c routines.  Also, I renamed all the related variables
      from 'typelem' to 'typioparam' to discourage people from assuming that
      they necessarily contain array element types.
      c541bb86
  23. Jan 07, 2004
  24. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  25. Sep 25, 2003
  26. Aug 17, 2003
    • Tom Lane's avatar
      Create a 'type cache' that keeps track of the data needed for any particular · ec646dbc
      Tom Lane authored
      datatype by array_eq and array_cmp; use this to solve problems with memory
      leaks in array indexing support.  The parser's equality_oper and ordering_oper
      routines also use the cache.  Change the operator search algorithms to look
      for appropriate btree or hash index opclasses, instead of assuming operators
      named '<' or '=' have the right semantics.  (ORDER BY ASC/DESC now also look
      at opclasses, instead of assuming '<' and '>' are the right things.)  Add
      several more index opclasses so that there is no regression in functionality
      for base datatypes.  initdb forced due to catalog additions.
      ec646dbc
  27. Aug 15, 2003
  28. Aug 08, 2003
  29. Aug 04, 2003
  30. Jul 27, 2003
  31. Jul 01, 2003
  32. Jun 27, 2003
    • Tom Lane's avatar
      Create real array comparison functions (that use the element datatype's · b3c0551e
      Tom Lane authored
      comparison functions), replacing the highly bogus bitwise array_eq.  Create
      a btree index opclass for ANYARRAY --- it is now possible to create indexes
      on array columns.
      Arrange to cache the results of catalog lookups across multiple array
      operations, instead of repeating the lookups on every call.
      Add string_to_array and array_to_string functions.
      Remove singleton_array, array_accum, array_assign, and array_subscript
      functions, since these were for proof-of-concept and not intended to become
      supported functions.
      Minor adjustments to behavior in some corner cases with empty or
      zero-dimensional arrays.
      
      Joe Conway (with some editorializing by Tom Lane).
      b3c0551e
  33. Jun 25, 2003
  34. May 10, 2003
  35. May 09, 2003
  36. Apr 09, 2003
Loading