Skip to content

Commit 8fc7c02

Browse files
committed
Add error message when prefix search is performed
1 parent c0e1500 commit 8fc7c02

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

expected/rum.out

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,3 +304,4 @@ SELECT a <=> to_tsquery('pg_catalog.english', 'w:*'), *
304304
FROM test_rum
305305
WHERE a @@ to_tsquery('pg_catalog.english', 'w:*')
306306
ORDER BY a <=> to_tsquery('pg_catalog.english', 'w:*');
307+
ERROR: Compare with prefix expressions isn't supported

rum--1.0.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ AS
8989
FUNCTION 2 rum_extract_tsvector(tsvector,internal,internal,internal,internal),
9090
FUNCTION 3 rum_extract_tsquery(tsquery,internal,smallint,internal,internal,internal,internal),
9191
FUNCTION 4 rum_tsquery_consistent(internal,smallint,tsvector,int,internal,internal,internal,internal),
92-
FUNCTION 5 gin_cmp_prefix(text,text,smallint,internal),
9392
FUNCTION 6 rum_tsvector_config(internal),
9493
FUNCTION 7 rum_tsquery_pre_consistent(internal,smallint,tsvector,int,internal,internal,internal,internal),
9594
FUNCTION 8 rum_tsquery_distance(internal,smallint,tsvector,int,internal,internal,internal,internal,internal),

rumscan.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,16 @@ rumFillScanKey(RumScanOpaque so, OffsetNumber attnum,
207207
/* set up normal entry using extractQueryFn's outputs */
208208
queryKey = queryValues[i];
209209
queryCategory = queryCategories[i];
210-
isPartialMatch =
211-
(rumstate->canPartialMatch[attnum - 1] && partial_matches)
212-
? partial_matches[i] : false;
210+
211+
/*
212+
* check inconsistence related to impossibility to do partial match
213+
* and existance of prefix expression in tsquery
214+
*/
215+
if (partial_matches && partial_matches[i] &&
216+
!rumstate->canPartialMatch[attnum - 1])
217+
elog(ERROR, "Compare with prefix expressions isn't supported");
218+
219+
isPartialMatch = (partial_matches) ? partial_matches[i] : false;
213220
this_extra = (extra_data) ? extra_data[i] : NULL;
214221
}
215222
else

0 commit comments

Comments
 (0)