pgsql: Changes * new split algorithm (as proposed in - Mailing list pgsql-committers

From teodor@postgresql.org (Teodor Sigaev)
Subject pgsql: Changes * new split algorithm (as proposed in
Date
Msg-id 20060628120017.18D2C9FA5CD@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Changes
* 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

Modified Files:
--------------
    pgsql/contrib/btree_gist:
        btree_inet.c (r1.6 -> r1.7)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_inet.c.diff?r1=1.6&r2=1.7)
        btree_interval.c (r1.7 -> r1.8)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_interval.c.diff?r1=1.7&r2=1.8)
        btree_text.c (r1.8 -> r1.9)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_text.c.diff?r1=1.8&r2=1.9)
        btree_time.c (r1.10 -> r1.11)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_time.c.diff?r1=1.10&r2=1.11)
        btree_ts.c (r1.12 -> r1.13)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_ts.c.diff?r1=1.12&r2=1.13)
        btree_utils_num.c (r1.7 -> r1.8)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_utils_num.c.diff?r1=1.7&r2=1.8)
        btree_utils_var.c (r1.11 -> r1.12)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/btree_gist/btree_utils_var.c.diff?r1=1.11&r2=1.12)
    pgsql/contrib/cube:
        cube.c (r1.25 -> r1.26)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/cube/cube.c.diff?r1=1.25&r2=1.26)
    pgsql/contrib/intarray:
        _int_gist.c (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intarray/_int_gist.c.diff?r1=1.13&r2=1.14)
        _intbig_gist.c (r1.10 -> r1.11)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intarray/_intbig_gist.c.diff?r1=1.10&r2=1.11)
    pgsql/contrib/ltree:
        _ltree_gist.c (r1.16 -> r1.17)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/ltree/_ltree_gist.c.diff?r1=1.16&r2=1.17)
        ltree_gist.c (r1.14 -> r1.15)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/ltree/ltree_gist.c.diff?r1=1.14&r2=1.15)
    pgsql/contrib/pg_trgm:
        trgm_gist.c (r1.6 -> r1.7)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/pg_trgm/trgm_gist.c.diff?r1=1.6&r2=1.7)
    pgsql/contrib/seg:
        seg.c (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/seg/seg.c.diff?r1=1.17&r2=1.18)
    pgsql/contrib/tsearch2:
        gistidx.c (r1.13 -> r1.14)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/tsearch2/gistidx.c.diff?r1=1.13&r2=1.14)
        query_gist.c (r1.6 -> r1.7)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/tsearch2/query_gist.c.diff?r1=1.6&r2=1.7)
    pgsql/src/backend/access/gist:
        Makefile (r1.15 -> r1.16)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/Makefile.diff?r1=1.15&r2=1.16)
        gist.c (r1.138 -> r1.139)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gist.c.diff?r1=1.138&r2=1.139)
        gistget.c (r1.57 -> r1.58)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c.diff?r1=1.57&r2=1.58)
        gistproc.c (r1.5 -> r1.6)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistproc.c.diff?r1=1.5&r2=1.6)
        gistutil.c (r1.15 -> r1.16)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistutil.c.diff?r1=1.15&r2=1.16)
    pgsql/src/include/access:
        gist.h (r1.53 -> r1.54)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist.h.diff?r1=1.53&r2=1.54)
        gist_private.h (r1.17 -> r1.18)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist_private.h.diff?r1=1.17&r2=1.18)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Remove embedded newline in string literal --- seems to make newer
Next
From: pgstudy@pgfoundry.org (User Pgstudy)
Date:
Subject: fulldisjunction - fd: More consolidation works.