Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit096fa86

Browse files
committed
revert b2ef47c8eb72dd44048ca363a91a4488bea65859 to have natural oredering
1 parentcac93d3 commit096fa86

File tree

2 files changed

+15
-36
lines changed

2 files changed

+15
-36
lines changed

‎rum--1.0.sql

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,6 @@ CREATE OPERATOR |=> (
104104

105105
-- timestamp operator class
106106

107-
CREATEFUNCTIONrum_timestamp_cmp(timestamp,timestamp)
108-
RETURNSint
109-
AS'MODULE_PATHNAME'
110-
LANGUAGE C STRICT IMMUTABLE;
111-
112107
CREATEFUNCTIONrum_timestamp_extract_value(timestamp,internal,internal,internal,internal)
113108
RETURNS internal
114109
AS'MODULE_PATHNAME'
@@ -148,7 +143,7 @@ AS
148143
OPERATOR4>=,
149144
OPERATOR5>,
150145
--support
151-
FUNCTION1rum_timestamp_cmp(timestamp,timestamp),
146+
FUNCTION1timestamp_cmp(timestamp,timestamp),
152147
FUNCTION2 rum_timestamp_extract_value(timestamp,internal,internal,internal,internal),
153148
FUNCTION3 rum_timestamp_extract_query(timestamp,internal,smallint,internal,internal,internal,internal),
154149
FUNCTION4 rum_timestamp_consistent(internal,smallint,timestamp,int,internal,internal,internal,internal),

‎rum_timestamp.c

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,14 @@ rum_timestamp_extract_query(PG_FUNCTION_ARGS)
5555

5656
switch (strategy)
5757
{
58-
caseBTGreaterEqualStrategyNumber:
59-
caseBTGreaterStrategyNumber:
60-
entries[0]=TimestampGetDatum(DT_NOEND);/* leftmost */
61-
*ptr_partialmatch= true;
62-
break;
63-
6458
caseBTLessStrategyNumber:
6559
caseBTLessEqualStrategyNumber:
60+
entries[0]=TimestampGetDatum(DT_NOBEGIN);/* leftmost */
61+
*ptr_partialmatch= true;
62+
break;
63+
caseBTGreaterEqualStrategyNumber:
64+
caseBTGreaterStrategyNumber:
6665
*ptr_partialmatch= true;
67-
6866
caseBTEqualStrategyNumber:
6967
caseRUM_TMST_DISTANCE:
7068
caseRUM_TMST_LEFT_DISTANCE:
@@ -78,20 +76,6 @@ rum_timestamp_extract_query(PG_FUNCTION_ARGS)
7876
PG_RETURN_POINTER(entries);
7977
}
8078

81-
PG_FUNCTION_INFO_V1(rum_timestamp_cmp);
82-
Datum
83-
rum_timestamp_cmp(PG_FUNCTION_ARGS)
84-
{
85-
Datuma=PG_GETARG_DATUM(0);
86-
Datumb=PG_GETARG_DATUM(1);
87-
int32cmp;
88-
89-
cmp=-DatumGetInt32(DirectFunctionCall2Coll(timestamp_cmp,
90-
PG_GET_COLLATION(),
91-
a,b));
92-
PG_RETURN_INT32(cmp);
93-
}
94-
9579
PG_FUNCTION_INFO_V1(rum_timestamp_compare_prefix);
9680
Datum
9781
rum_timestamp_compare_prefix(PG_FUNCTION_ARGS)
@@ -102,22 +86,22 @@ rum_timestamp_compare_prefix(PG_FUNCTION_ARGS)
10286
int32res,
10387
cmp;
10488

105-
cmp=DatumGetInt32(DirectFunctionCall2Coll(rum_timestamp_cmp,
89+
cmp=DatumGetInt32(DirectFunctionCall2Coll(timestamp_cmp,
10690
PG_GET_COLLATION(),
107-
(data->strategy==BTGreaterStrategyNumber||
108-
data->strategy==BTGreaterEqualStrategyNumber)
91+
(data->strategy==BTLessStrategyNumber||
92+
data->strategy==BTLessEqualStrategyNumber)
10993
?data->datum :a,b));
11094

11195
switch (data->strategy)
11296
{
113-
caseBTGreaterStrategyNumber:
97+
caseBTLessStrategyNumber:
11498
/* If original datum > indexed one then return match */
11599
if (cmp>0)
116100
res=0;
117101
else
118102
res=1;
119103
break;
120-
caseBTGreaterEqualStrategyNumber:
104+
caseBTLessEqualStrategyNumber:
121105
/* The same except equality */
122106
if (cmp >=0)
123107
res=0;
@@ -130,14 +114,14 @@ rum_timestamp_compare_prefix(PG_FUNCTION_ARGS)
130114
else
131115
res=0;
132116
break;
133-
caseBTLessEqualStrategyNumber:
117+
caseBTGreaterEqualStrategyNumber:
134118
/* If original datum <= indexed one then return match */
135119
if (cmp <=0)
136120
res=0;
137121
else
138122
res=1;
139123
break;
140-
caseBTLessStrategyNumber:
124+
caseBTGreaterStrategyNumber:
141125
/* If original datum <= indexed one then return match */
142126
/* If original datum == indexed one then continue scan */
143127
if (cmp<0)
@@ -281,10 +265,10 @@ rum_timestamp_config(PG_FUNCTION_ARGS)
281265
config->addInfoTypeOid=InvalidOid;
282266

283267
config->strategyInfo[0].strategy=RUM_TMST_LEFT_DISTANCE;
284-
config->strategyInfo[0].direction=ForwardScanDirection;
268+
config->strategyInfo[0].direction=BackwardScanDirection;
285269

286270
config->strategyInfo[1].strategy=RUM_TMST_RIGHT_DISTANCE;
287-
config->strategyInfo[1].direction=BackwardScanDirection;
271+
config->strategyInfo[1].direction=ForwardScanDirection;
288272

289273
config->strategyInfo[2].strategy=InvalidStrategy;
290274

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp