Skip to content
Snippets Groups Projects
  1. Sep 22, 2010
  2. Sep 20, 2010
  3. Aug 19, 2010
  4. Mar 25, 2010
    • Tom Lane's avatar
      Fix ginint4_queryextract() to actually do what it was intended to do for an · 5ceb13c8
      Tom Lane authored
      unsatisfiable query, such as indexcol && empty_array.  It should return -1
      to tell GIN no scan is required; but silly typo disabled the logic for that,
      resulting in unnecessary "GIN indexes do not support whole-index scans" error.
      Per bug report from Jeff Trout.
      
      Back-patch to 8.3 where the logic was introduced.
      5ceb13c8
  5. Jun 11, 2009
  6. Jun 07, 2009
    • Tom Lane's avatar
      Revert my patch of 2009-04-04 that removed contrib/intarray's definitions of · 156475a5
      Tom Lane authored
      the <@ and @> operators.  These are not in fact equivalent to the built-in
      anyarray operators of the same names, because they have different behavior for
      empty arrays, namely they don't think empty arrays are contained in anything.
      That is mathematically wrong, no doubt, but until we can persuade GIN indexes
      to implement the mathematical definition we should probably not change this.
      Another reason for not changing it now is that we can't yet ensure the
      opclasses will be updated correctly in a dump-and-reload upgrade.  Per
      recent discussions.
      156475a5
  7. Apr 05, 2009
    • Tom Lane's avatar
      Remove contrib/intarray's definitions of the <@ and @> operators, so that they · 65e758a4
      Tom Lane authored
      don't cause confusion with the built-in anyarray versions of those operators.
      Adjust the module's index opclasses to support the built-in operators in place
      of the private ones.
      
      The private implementations are still available under their historical
      names @ and ~, so no functionality is lost.  Some quick testing suggests
      that they offer no real benefit over the core operators, however.
      
      Per a complaint from Rusty Conover.
      65e758a4
  8. Mar 25, 2009
    • Tom Lane's avatar
      Adjust the APIs for GIN opclass support functions to allow the extractQuery() · 87b8db37
      Tom Lane authored
      method to pass extra data to the consistent() and comparePartial() methods.
      This is the core infrastructure needed to support the soon-to-appear
      contrib/btree_gin module.  The APIs are still upward compatible with the
      definitions used in 8.3 and before, although *not* with the previous 8.4devel
      function definitions.
      
      catversion bump for changes in pg_proc entries (although these are just
      cosmetic, since GIN doesn't actually look at the function signature before
      calling it...)
      
      Teodor Sigaev and Oleg Bartunov
      87b8db37
  9. May 17, 2008
    • Andrew Dunstan's avatar
      Add $PostgreSQL$ markers to a lot of files that were missing them. · 53972b46
      Andrew Dunstan authored
      This particular batch was just for *.c and *.h file.
      
      The changes were made with the following 2 commands:
      
      find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o  \( -name '*.[ch]'  \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | while read file ; do head -n 1 < $file | grep -q '^/\*' && echo $file; done | xargs -l sed -i -e '1s/^\// /' -e '1i/*\n * $PostgreSQL:$ \n *'
      
      find . \( \( -name 'libstemmer' -o -name 'expected' -o -name 'ppport.h' \) -prune \) -o  \( -name '*.[ch]'  \) \( -exec grep -q '\$PostgreSQL' {} \; -o -print \) | xargs -l sed -i -e '1i/*\n * $PostgreSQL:$ \n */'
      53972b46
  10. May 12, 2008
    • Alvaro Herrera's avatar
      Restructure some header files a bit, in particular heapam.h, by removing some · f8c4d7db
      Alvaro Herrera authored
      unnecessary #include lines in it.  Also, move some tuple routine prototypes and
      macros to htup.h, which allows removal of heapam.h inclusion from some .c
      files.
      
      For this to work, a new header file access/sysattr.h needed to be created,
      initially containing attribute numbers of system columns, for pg_dump usage.
      
      While at it, make contrib ltree, intarray and hstore header files more
      consistent with our header style.
      f8c4d7db
  11. Apr 14, 2008
    • Tom Lane's avatar
      Push index operator lossiness determination down to GIST/GIN opclass · 9b5c8d45
      Tom Lane authored
      "consistent" functions, and remove pg_amop.opreqcheck, as per recent
      discussion.  The main immediate benefit of this is that we no longer need
      8.3's ugly hack of requiring @@@ rather than @@ to test weight-using tsquery
      searches on GIN indexes.  In future it should be possible to optimize some
      other queries better than is done now, by detecting at runtime whether the
      index match is exact or not.
      
      Tom Lane, after an idea of Heikki's, and with some help from Teodor.
      9b5c8d45
  12. Mar 25, 2008
    • Tom Lane's avatar
      Simplify and standardize conversions between TEXT datums and ordinary C · 220db7cc
      Tom Lane authored
      strings.  This patch introduces four support functions cstring_to_text,
      cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
      two macros CStringGetTextDatum and TextDatumGetCString.  A number of
      existing macros that provided variants on these themes were removed.
      
      Most of the places that need to make such conversions now require just one
      function or macro call, in place of the multiple notational layers that used
      to be needed.  There are no longer any direct calls of textout or textin,
      and we got most of the places that were using handmade conversions via
      memcpy (there may be a few still lurking, though).
      
      This commit doesn't make any serious effort to eliminate transient memory
      leaks caused by detoasting toasted text objects before they reach
      text_to_cstring.  We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
      places where it was easy, but much more could be done.
      
      Brendan Jurd and Tom Lane
      220db7cc
  13. Nov 16, 2007
  14. Nov 15, 2007
  15. Nov 13, 2007
  16. Nov 11, 2007
  17. Sep 30, 2007
  18. Sep 14, 2007
  19. Jun 27, 2007
  20. Apr 06, 2007
    • Tom Lane's avatar
      Support varlena fields with single-byte headers and unaligned storage. · 3e23b68d
      Tom Lane authored
      This commit breaks any code that assumes that the mere act of forming a tuple
      (without writing it to disk) does not "toast" any fields.  While all available
      regression tests pass, I'm not totally sure that we've fixed every nook and
      cranny, especially in contrib.
      
      Greg Stark with some help from Tom Lane
      3e23b68d
  21. Feb 28, 2007
    • Tom Lane's avatar
      Fix up several contrib modules that were using varlena datatypes in not-so-obvious · 9f652d43
      Tom Lane authored
      ways.  I'm not totally sure that I caught everything, but at least now they pass
      their regression tests with VARSIZE/SET_VARSIZE defined to reverse byte order.
      9f652d43
    • Tom Lane's avatar
      Replace direct assignments to VARATT_SIZEP(x) with SET_VARSIZE(x, len). · 234a02b2
      Tom Lane authored
      Get rid of VARATT_SIZE and VARATT_DATA, which were simply redundant with
      VARSIZE and VARDATA, and as a consequence almost no code was using the
      longer names.  Rename the length fields of struct varlena and various
      derived structures to catch anyplace that was accessing them directly;
      and clean up various places so caught.  In itself this patch doesn't
      change any behavior at all, but it is necessary infrastructure if we hope
      to play any games with the representation of varlena headers.
      Greg Stark and Tom Lane
      234a02b2
  22. Feb 07, 2007
  23. Jan 31, 2007
  24. Jan 26, 2007
    • Neil Conway's avatar
      Squelch some VC++ compiler warnings. Mark float literals with the "f" · 8ff2bcce
      Neil Conway authored
      suffix, to distinguish them from doubles. Make some function declarations
      and definitions use the "const" qualifier for arguments consistently.
      Ignore warning 4102 ("unreferenced label"), because such warnings
      are always emitted by bison-generated code. Patch from Magnus Hagander.
      8ff2bcce
  25. Dec 23, 2006
    • Tom Lane's avatar
      Restructure operator classes to allow improved handling of cross-data-type · a78fcfb5
      Tom Lane authored
      cases.  Operator classes now exist within "operator families".  While most
      families are equivalent to a single class, related classes can be grouped
      into one family to represent the fact that they are semantically compatible.
      Cross-type operators are now naturally adjunct parts of a family, without
      having to wedge them into a particular opclass as we had done originally.
      
      This commit restructures the catalogs and cleans up enough of the fallout so
      that everything still works at least as well as before, but most of the work
      needed to actually improve the planner's behavior will come later.  Also,
      there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way
      to create a new family right now is to allow CREATE OPERATOR CLASS to make
      one by default.  I owe some more documentation work, too.  But that can all
      be done in smaller pieces once this infrastructure is in place.
      a78fcfb5
  26. Oct 04, 2006
  27. Sep 10, 2006
  28. Jul 11, 2006
  29. Jun 28, 2006
    • Teodor Sigaev's avatar
      Changes · 1f7ef548
      Teodor Sigaev authored
      * new split algorithm (as proposed in http://archives.postgresql.org/pgsql-hackers/2006-06/msg00254.php)
        * possible call pickSplit() for second and below columns
        * add spl_(l|r)datum_exists to GIST_SPLITVEC -
          pickSplit should check its values to use already defined
          spl_(l|r)datum for splitting. pickSplit should set
          spl_(l|r)datum_exists to 'false' (if they was 'true') to
          signal to caller about using spl_(l|r)datum.
        * support for old pickSplit(): not very optimal
          but correct split
      * remove 'bytes' field from GISTENTRY: in any case size of
        value is defined by it's type.
      * split GIST_SPLITVEC to two structures: one for using in picksplit
        and second - for internal use.
      * some code refactoring
      * support of subsplit to rtree opclasses
      
      TODO: add support of subsplit to contrib modules
      1f7ef548
  30. May 31, 2006
  31. May 10, 2006
  32. May 03, 2006
  33. Apr 12, 2006
  34. Apr 03, 2006
Loading