1. 21 Jul, 2000 2 commits
    • Tom Lane's avatar
      Fix sloppiness about alignment requirements in findsplitloc() space · 1ea912e1
      Tom Lane authored
      calculation, also make it stop when it has a 'good enough' split instead
      of exhaustively trying all split points.
      1ea912e1
    • Tom Lane's avatar
      Major overhaul of btree index code. Eliminate special BTP_CHAIN logic for · 9e85183b
      Tom Lane authored
      duplicate keys by letting search go to the left rather than right when an
      equal key is seen at an upper tree level.  Fix poor choice of page split
      point (leading to insertion failures) that was forced by chaining logic.
      Don't store leftmost key in non-leaf pages, since it's not necessary.
      Don't create root page until something is first stored in the index, so an
      unused index is now 8K not 16K.  (Doesn't seem to be as easy to get rid of
      the metadata page, unfortunately.)  Massive cleanup of unreadable code,
      fix poor, obsolete, and just plain wrong documentation and comments.
      See src/backend/access/nbtree/README for the gory details.
      9e85183b
  2. 30 May, 2000 1 commit
  3. 12 Apr, 2000 1 commit
  4. 18 Feb, 2000 1 commit
    • Tom Lane's avatar
      Replace inefficient _bt_invokestrat calls with direct calls to the · 8cb62426
      Tom Lane authored
      appropriate btree three-way comparison routine.  Not clear why the
      three-way comparison routines were being used in some paths and not
      others in btree --- incomplete changes by someone long ago, maybe?
      Anyway, this makes for a nice speedup in CREATE INDEX.
      8cb62426
  5. 26 Jan, 2000 1 commit
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  6. 27 Sep, 1999 1 commit
  7. 17 Jul, 1999 1 commit
  8. 16 Jul, 1999 1 commit
  9. 15 Jul, 1999 2 commits
  10. 14 Jul, 1999 1 commit
  11. 25 May, 1999 1 commit
  12. 13 Apr, 1999 1 commit
    • Bruce Momjian's avatar
      There are some bugs about backward scanning using · 174b552e
      Bruce Momjian authored
      indexes.
      
      1. Index Scan using plural indexids never scan backward
         as to the order of indexids.
      2. The cursor using Index scan is not usable after moving
         past the end.
      
      This patch solves above bugs.
      Moreover the change of _bt_first() would be useful to extend
      ORDER BY patch by Jan Wieck for all descending order cases.
      
      Hiroshi Inoue
      174b552e
  13. 13 Feb, 1999 1 commit
  14. 03 Feb, 1999 1 commit
  15. 07 Sep, 1998 1 commit
  16. 01 Sep, 1998 1 commit
  17. 19 Aug, 1998 1 commit
    • Bruce Momjian's avatar
      heap_fetch requires buffer pointer, must be released; heap_getnext · 79715390
      Bruce Momjian authored
      no longer returns buffer pointer, can be gotten from scan;
      	descriptor; bootstrap can create multi-key indexes;
      pg_procname index now is multi-key index; oidint2, oidint4, oidname
      are gone (must be removed from regression tests); use System Cache
      rather than sequential scan in many places; heap_modifytuple no
      longer takes buffer parameter; remove unused buffer parameter in
      a few other functions; oid8 is not index-able; remove some use of
      single-character variable names; cleanup Buffer variables usage
      and scan descriptor looping; cleaned up allocation and freeing of
      tuples; 18k lines of diff;
      79715390
  18. 15 Jun, 1998 1 commit
  19. 27 Apr, 1998 1 commit
    • Bruce Momjian's avatar
      This patch... · 09baa3cc
      Bruce Momjian authored
      1. Removes the unnecessary "#define AbcRegProcedure 123"'s from
      pg_proc.h.
      
      2. Changes those #defines to use the names already defined in
      fmgr.h.
      
      3. Forces the make of fmgr.h in backend/Makefile instead of having
      it
         made as a dependency in access/common/Makefile  *hack*hack*hack*
      
      4. Rearranged the #includes to a less helter-skelter arrangement,
      also
          changing <file.h> to "file.h" to signify a non-system header.
      
      5. Removed "pg_proc.h" from files where its only purpose was for
      the
         #defines removed in item #1.
      
      6. Added "fmgr.h" to each file changed for completeness sake.
      
      Turns out that #6 was not necessary for some files because fmgr.h
      was being included in a roundabout way SIX levels deep by the first
      include.
      
      "access/genam.h"
       ->"access/relscan.h"
         ->"utils/rel.h"
           ->"access/strat.h"
             ->"access/skey.h"
      	 ->"fmgr.h"
      
      So adding fmgr.h really didn't add anything to the compile, hopefully
      just made it clearer to the programmer.
      
      S Darren.
      09baa3cc
  20. 15 Jan, 1998 1 commit
    • PostgreSQL Daemon's avatar
      Thank god for searchable mail archives. · baef78d9
      PostgreSQL Daemon authored
      Patch by: wieck@sapserv.debis.de (Jan Wieck)
      
         One  of  the design rules of PostgreSQL is extensibility. And
         to follow this rule means (at least for me) that there should
         not  only  be a builtin PL.  Instead I would prefer a defined
         interface for PL implemetations.
      baef78d9
  21. 07 Jan, 1998 1 commit
  22. 05 Jan, 1998 1 commit
  23. 18 Sep, 1997 1 commit
  24. 08 Sep, 1997 2 commits
  25. 07 Sep, 1997 1 commit
  26. 19 Aug, 1997 1 commit
  27. 16 Apr, 1997 1 commit
    • Vadim B. Mikheev's avatar
      1. BTREE_VERSION_1: using bti_itup->t_tid as unique identifier for a given · 329fb112
      Vadim B. Mikheev authored
      index tuple (logical position within A LEVEL). bti_oid & bti_dummy
      taken off from BTItemData.
      2. Fix for multi-column indices (nbtsearch.c):
         _bt_binsrch() - for searches on internal pages having keysize <
      	number of attrs we point at the last item < the scankey, not at the
      	first item = the scankey;
         _bt_moveright() - if keysize < number of attrs we compare scankey with
      	_last_ item on current page to decide should we move right or
      	not.
      329fb112
  28. 24 Mar, 1997 1 commit
    • Vadim B. Mikheev's avatar
      + NULLs handling · 14f6b387
      Vadim B. Mikheev authored
      	Actually required by multi-column indices support.
      	We still don't use btree for 'A is (not) null', but
      	now btree keep items with NULL attrs using single rule
      	for placing/finding items on pages:
      	NULLs greater NOT_NULLs and NULL = NULL.
      + Bulkload code (nbtsort.c) support for multi-column indices
      	building and NULLs.
      + Fix for btendscan()->pfree(scanopaque) from Chris Dunlop.
      14f6b387
  29. 18 Mar, 1997 1 commit
  30. 05 Nov, 1996 1 commit
  31. 03 Nov, 1996 2 commits
  32. 23 Oct, 1996 1 commit
  33. 20 Oct, 1996 1 commit
  34. 30 Jul, 1996 1 commit
    • Marc G. Fournier's avatar
      Fixes: · 74cdf928
      Marc G. Fournier authored
      >   INDEXED searches in some cases DO NOT WORK.
      >   Although simple search expressions (i.e. with a constant value on
      > the right side of an operator) work, performing a join (by putting
      > a field of some other table on the right side of an operator) produces
      > empty output.
      >   WITHOUT indices, everything works fine.
      >
      
      submitted by: "Vadim B. Mikheev" <root@ais.sable.krasnoyarsk.su>
      74cdf928
  35. 09 Jul, 1996 1 commit