diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-05-30 19:53:40 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-05-30 19:53:40 +0000 |
| commit | f1d5d0905c16021cd715ea078c806bf7e0673a83 (patch) | |
| tree | 6b038b087cf15e8bf144450bb90a941c54f53eb9 /src/backend/access/rtree/rtstrat.c | |
| parent | f504ad1b4d6ebf991bb824765aa1f91eedf52a16 (diff) | |
| download | postgresql-f1d5d0905c16021cd715ea078c806bf7e0673a83.tar.gz | |
Tweak StrategyEvaluation data structure to eliminate hardwired limit on
number of strategies supported by an index AM. Add missing copyright
notices and CVS $Header$ markers to GIST source files.
Diffstat (limited to 'src/backend/access/rtree/rtstrat.c')
| -rw-r--r-- | src/backend/access/rtree/rtstrat.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/backend/access/rtree/rtstrat.c b/src/backend/access/rtree/rtstrat.c index e176b064f9..74ee6a39a4 100644 --- a/src/backend/access/rtree/rtstrat.c +++ b/src/backend/access/rtree/rtstrat.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtstrat.c,v 1.16 2001/01/24 19:42:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtstrat.c,v 1.17 2001/05/30 19:53:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -96,7 +96,7 @@ static StrategyNumber RTNegateCommute[RTNStrategies] = { * Early in the development of the POSTGRES access methods, it was believed * that writing functions was harder than writing arrays. This is wrong; * TermData is hard to understand and hard to get right. In general, when - * someone populates a new operator class, the populate it completely. If + * someone populates a new operator class, they populate it completely. If * Mike Hirohama had forced Cimarron Taylor to populate the strategy map * for btree int2_ops completely in 1988, you wouldn't have to deal with * all this now. Too bad for you. @@ -157,24 +157,23 @@ static StrategyTerm RTEqualExpressionData[] = { * in the access methods just isn't worth the trouble, though. */ +static StrategyExpression RTEvaluationExpressions[RTNStrategies] = { + NULL, /* express left */ + NULL, /* express overleft */ + NULL, /* express overlap */ + NULL, /* express overright */ + NULL, /* express right */ + (StrategyExpression) RTEqualExpressionData, /* express same */ + NULL, /* express contains */ + NULL /* express contained-by */ +}; + static StrategyEvaluationData RTEvaluationData = { RTNStrategies, /* # of strategies */ (StrategyTransformMap) RTNegate, /* how to do (not qual) */ (StrategyTransformMap) RTCommute, /* how to swap operands */ (StrategyTransformMap) RTNegateCommute, /* how to do both */ - { - NULL, /* express left */ - NULL, /* express overleft */ - NULL, /* express over */ - NULL, /* express overright */ - NULL, /* express right */ - (StrategyExpression) RTEqualExpressionData, /* express same */ - NULL, /* express contains */ - NULL, /* express contained-by */ - NULL, - NULL, - NULL - } + RTEvaluationExpressions }; /* |
