Skip to content
Snippets Groups Projects
  1. Aug 15, 2003
  2. Aug 08, 2003
  3. Aug 04, 2003
  4. Jul 27, 2003
  5. Jul 01, 2003
  6. 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
  7. Jun 25, 2003
  8. May 10, 2003
  9. May 09, 2003
  10. Apr 09, 2003
  11. Jan 29, 2003
  12. Nov 13, 2002
  13. Nov 11, 2002
  14. Nov 10, 2002
  15. Nov 08, 2002
    • Bruce Momjian's avatar
      The "Allow easy display of usernames in a group (pg_hba.conf uses groups · fef731d1
      Bruce Momjian authored
      now)" item on the open items, and subsequent plpgsql function I sent in,
      made me realize it was too hard to get the upper and lower bound of an
      array. The attached creates two functions that I think will be very
      useful when combined with the ability of plpgsql to return sets.
      
      array_lower(array, dim_num)
      - and -
      array_upper(array, dim_num)
      
      They return the value (as an int) of the upper and lower bound of the
      requested dim in the provided array.
      
      Joe Conway
      fef731d1
  16. Sep 18, 2002
    • Tom Lane's avatar
      Extend pg_cast castimplicit column to a three-way value; this allows us · b26dfb95
      Tom Lane authored
      to be flexible about assignment casts without introducing ambiguity in
      operator/function resolution.  Introduce a well-defined promotion hierarchy
      for numeric datatypes (int2->int4->int8->numeric->float4->float8).
      Change make_const to initially label numeric literals as int4, int8, or
      numeric (never float8 anymore).
      Explicitly mark Func and RelabelType nodes to indicate whether they came
      from a function call, explicit cast, or implicit cast; use this to do
      reverse-listing more accurately and without so many heuristics.
      Explicit casts to char, varchar, bit, varbit will truncate or pad without
      raising an error (the pre-7.2 behavior), while assigning to a column without
      any explicit cast will still raise an error for wrong-length data like 7.3.
      This more nearly follows the SQL spec than 7.2 behavior (we should be
      reporting a 'completion condition' in the explicit-cast cases, but we have
      no mechanism for that, so just do silent truncation).
      Fix some problems with enforcement of typmod for array elements;
      it didn't work at all in 'UPDATE ... SET array[n] = foo', for example.
      Provide a generalized array_length_coerce() function to replace the
      specialized per-array-type functions that used to be needed (and were
      missing for NUMERIC as well as all the datetime types).
      Add missing conversions int8<->float4, text<->numeric, oid<->int8.
      initdb forced.
      b26dfb95
  17. Sep 04, 2002
  18. Aug 26, 2002
    • Tom Lane's avatar
      Modify array operations to include array's element type OID in the · 5cabcfcc
      Tom Lane authored
      array header, and to compute sizing and alignment of array elements
      the same way normal tuple access operations do --- viz, using the
      tupmacs.h macros att_addlength and att_align.  This makes the world
      safe for arrays of cstrings or intervals, and should make it much
      easier to write array-type-polymorphic functions; as examples see
      the cleanups of array_out and contrib/array_iterator.  By Joe Conway
      and Tom Lane.
      5cabcfcc
  19. Jun 20, 2002
  20. Mar 20, 2002
  21. Mar 16, 2002
    • Tom Lane's avatar
      Try to make array_in's behavior a tad less bizarre. Leading whitespace · 0f2fbbba
      Tom Lane authored
      before a data item is now always skipped, rather than only sometimes.
      Backslashes not within double-quoted text are treated reasonably, as
      are multiple sequences of quoted text in a single data item.  But it
      still seems rather prone to misbehavior if the input is not completely
      syntactically correct --- in particular, garbage following a right brace
      will be ignored.
      0f2fbbba
  22. Mar 02, 2002
  23. Mar 01, 2002
  24. Feb 18, 2002
  25. Nov 29, 2001
    • Tom Lane's avatar
      Fix array_out's failure to backslash backslashes, per bug# 524. Also, · 636a939f
      Tom Lane authored
      remove brain-dead rule that double quotes are needed if and only if the
      datatype is pass-by-reference; neither direction of the implication holds
      water.  Instead, examine the actual data string to see if it contains
      any characters that force us to quote it.
      Add some documentation about quoting of array values, which was previously
      explained nowhere AFAICT.
      636a939f
  26. Oct 25, 2001
  27. Mar 22, 2001
  28. Jan 24, 2001
  29. Dec 28, 2000
    • Tom Lane's avatar
      Fix portability problems recently exposed by regression tests on Alphas. · 8609d4ab
      Tom Lane authored
      1. Distinguish cases where a Datum representing a tuple datatype is an OID
      from cases where it is a pointer to TupleTableSlot, and make sure we use
      the right typlen in each case.
      2. Make fetchatt() and related code support 8-byte by-value datatypes on
      machines where Datum is 8 bytes.  Centralize knowledge of the available
      by-value datatype sizes in two macros in tupmacs.h, so that this will be
      easier if we ever have to do it again.
      8609d4ab
  30. Dec 03, 2000
  31. Nov 16, 2000
  32. Nov 15, 2000
  33. Jul 27, 2000
  34. Jul 23, 2000
    • Tom Lane's avatar
      Further cleanup of array behavior. Slice assignments to arrays with · e4e6459c
      Tom Lane authored
      varlena elements work now.  Allow assignment to previously-nonexistent
      subscript position to extend array, but only for 1-D arrays and only
      if adjacent to existing positions (could do more if we had a way to
      represent nulls in arrays, but I don't want to tackle that now).
      Arrange for assignment of NULL to an array element in UPDATE to be a
      no-op, rather than setting the entire array to NULL as it used to.
      (Throwing an error would be a reasonable alternative, but it's never
      done that...)  Update regress test accordingly.
      e4e6459c
  35. Jul 22, 2000
    • Tom Lane's avatar
      Arrays are toastable. (At least if you initdb, which I didn't force.) · d0e17e21
      Tom Lane authored
      Remove a bunch of crufty code for large-object-based arrays, which is
      superseded by TOAST and likely hasn't worked in a long time anyway.
      Clean up array code a little, and in particular eliminate its habit
      of scribbling on the input array (ie, modifying the input tuple :-().
      d0e17e21
  36. Jul 17, 2000
    • Tom Lane's avatar
      Revise aggregate functions per earlier discussions in pghackers. · bec98a31
      Tom Lane authored
      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
  37. Jul 04, 2000
    • Jan Wieck's avatar
      TOAST · 57d8080a
      Jan Wieck authored
          WARNING: This is actually broken - we have self-deadlocks
      	         due to concurrent changes in buffer management.
      			 Vadim and me are working on it.
      
      Jan
      57d8080a
  38. Jun 14, 2000
Loading