Skip to content
Snippets Groups Projects
  1. Dec 22, 2005
    • Tom Lane's avatar
      Adjust string comparison so that only bitwise-equal strings are considered · 656beff5
      Tom Lane authored
      equal: if strcoll claims two strings are equal, check it with strcmp, and
      sort according to strcmp if not identical.  This fixes inconsistent
      behavior under glibc's hu_HU locale, and probably under some other locales
      as well.  Also, take advantage of the now-well-defined behavior to speed up
      texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise
      comparison and not bother with strcoll at all.
      
      NOTE: affected databases may need to REINDEX indexes on text columns to be
      sure they are self-consistent.
      656beff5
  2. Oct 15, 2005
  3. Jul 29, 2005
  4. 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
  5. May 29, 2005
  6. Apr 12, 2005
    • Tom Lane's avatar
      Add aggsortop column to pg_aggregate, so that MIN/MAX optimization can · 2e7a6889
      Tom Lane authored
      be supported for all datatypes.  Add CREATE AGGREGATE and pg_dump support
      too.  Add specialized min/max aggregates for bpchar, instead of depending
      on text's min/max, because otherwise the possible use of bpchar indexes
      cannot be recognized.
      initdb forced because of catalog changes.
      2e7a6889
  7. 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
  8. Aug 29, 2004
  9. Aug 02, 2004
    • Tom Lane's avatar
      While perusing SQL92 I realized that we are delivering the wrong SQLSTATE · d5299891
      Tom Lane authored
      error code for string-too-long errors.  It should be STRING_DATA_RIGHT_TRUNCATION
      not STRING_DATA_LENGTH_MISMATCH.  The latter probably should only be
      applied to cases where a string must be exactly so many bits --- there are
      no cases at all where it applies to character strings, only bit strings.
      d5299891
  10. Feb 01, 2004
  11. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  12. Aug 04, 2003
  13. Jul 27, 2003
  14. Jun 23, 2003
    • Tom Lane's avatar
      Revise hash join and hash aggregation code to use the same datatype- · bff0422b
      Tom Lane authored
      specific hash functions used by hash indexes, rather than the old
      not-datatype-aware ComputeHashFunc routine.  This makes it safe to do
      hash joining on several datatypes that previously couldn't use hashing.
      The sets of datatypes that are hash indexable and hash joinable are now
      exactly the same, whereas before each had some that weren't in the other.
      bff0422b
  15. May 26, 2003
    • Tom Lane's avatar
      Cause CHAR(n) to TEXT or VARCHAR conversion to automatically strip trailing · f45df8c0
      Tom Lane authored
      blanks, in hopes of reducing the surprise factor for newbies.  Remove
      redundant operators for VARCHAR (it depends wholly on TEXT operations now).
      Clean up resolution of ambiguous operators/functions to avoid surprising
      choices for domains: domains are treated as equivalent to their base types
      and binary-coercibility is no longer considered a preference item when
      choosing among multiple operators/functions.  IsBinaryCoercible now correctly
      reflects the notion that you need *only* relabel the type to get from type
      A to type B: that is, a domain is binary-coercible to its base type, but
      not vice versa.  Various marginal cleanup, including merging the essentially
      duplicate resolution code in parse_func.c and parse_oper.c.  Improve opr_sanity
      regression test to understand about binary compatibility (using pg_cast),
      and fix a couple of small errors in the catalogs revealed thereby.
      Restructure "special operator" handling to fetch operators via index opclasses
      rather than hardwiring assumptions about names (cleans up the pattern_ops
      stuff a little).
      f45df8c0
  16. May 13, 2003
  17. 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
  18. Sep 04, 2002
  19. Sep 03, 2002
  20. Aug 29, 2002
  21. 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
  22. Jun 20, 2002
  23. Apr 11, 2002
    • Tom Lane's avatar
      Restructure representation of aggregate functions so that they have pg_proc · 902a6a0a
      Tom Lane authored
      entries, per pghackers discussion.  This fixes aggregates to live in
      namespaces, and also simplifies/speeds up lookup in parse_func.c.
      Also, add a 'proimplicit' flag to pg_proc that controls whether a type
      coercion function may be invoked implicitly, or only explicitly.  The
      current settings of these flags are more permissive than I would like,
      but we will need to debate and refine the behavior; for now, I avoided
      breaking regression tests as much as I could.
      902a6a0a
  24. Mar 09, 2002
  25. Nov 18, 2001
  26. Nov 08, 2001
  27. Oct 25, 2001
  28. Oct 07, 2001
    • Tom Lane's avatar
      Rearrange fmgr.c and relcache so that it's possible to keep FmgrInfo · 85801a4d
      Tom Lane authored
      lookup info in the relcache for index access method support functions.
      This makes a huge difference for dynamically loaded support functions,
      and should save a few cycles even for built-in ones.  Also tweak dfmgr.c
      so that load_external_function is called only once, not twice, when
      doing fmgr_info for a dynamically loaded function.  All per performance
      gripe from Teodor Sigaev, 5-Oct-01.
      85801a4d
  29. Oct 03, 2001
    • Thomas G. Lockhart's avatar
      Implement precision support for timestamp and time, both with and without · 3e1beda2
      Thomas G. Lockhart authored
       time zones.
      SQL99 spec requires a default of zero (round to seconds) which is set
       in gram.y as typmod is set in the parse tree. We *could* change to a
       default of either 6 (for internal compatibility with previous versions)
       or 2 (for external compatibility with previous versions).
      Evaluate entries in pg_proc wrt the iscachable attribute for timestamp and
       other date/time types. Try to recognize cases where side effects like the
       current time zone setting may have an effect on results to decide whether
       something is cachable or not.
      3e1beda2
  30. Sep 11, 2001
  31. Jul 15, 2001
    • Tatsuo Ishii's avatar
      TODO item: · 1032445e
      Tatsuo Ishii authored
      * Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
      1032445e
  32. Jun 10, 2001
  33. Jun 01, 2001
    • Tom Lane's avatar
      New improved version of bpcharin() may have got the truncation case · 7c0c9b3c
      Tom Lane authored
      right, but it failed to get the padding case right.
      
      This was obscured by subsequent application of bpchar() in all but one
      regression test case, and that one didn't fail in an obvious way ---
      trailing blanks are hard to see.  Add another test case to make it
      more obvious if it breaks again.
      7c0c9b3c
  34. May 21, 2001
  35. May 03, 2001
    • Tom Lane's avatar
      Ensure that btree sort ordering functions and boolean comparison operators · 2792374c
      Tom Lane authored
      give consistent results for all datatypes.  Types float4, float8, and
      numeric were broken for NaN values; abstime, timestamp, and interval
      were broken for INVALID values; timetz was just plain broken (some
      possible pairs of values were neither < nor = nor >).  Also clean up
      text, bpchar, varchar, and bit/varbit to eliminate duplicate code and
      thereby reduce the probability of similar inconsistencies arising in
      the future.
      2792374c
  36. Apr 19, 2001
  37. Mar 22, 2001
Loading