summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2023-05-11 06:33:46 +0100
committerRobert Newson <rnewson@apache.org>2023-05-11 06:33:51 +0100
commit4c80583e3de6081d664db91fd85c2bed741880dc (patch)
tree8c61b2c01a382bf18ee295cb3d0c05169e7e7401
parent8600e46f2c8ca7ced5190a710fca4acd54426d2b (diff)
downloadcouchdb-dreyfus-default-field.tar.gz
fix dreyfus after 'Improve nouveau mango integration'dreyfus-default-field
dreyfus/clouseau needs "string" type when indexing, so make a separate add_default_field_nouveau function
-rw-r--r--src/mango/src/mango_native_proc.erl19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/mango/src/mango_native_proc.erl b/src/mango/src/mango_native_proc.erl
index 7982fc787..41529a05d 100644
--- a/src/mango/src/mango_native_proc.erl
+++ b/src/mango/src/mango_native_proc.erl
@@ -254,14 +254,23 @@ add_default_text_field(Fields) ->
add_default_text_field([], Acc) ->
Acc;
add_default_text_field([{_Name, <<"string">>, Value} | Rest], Acc) ->
- NewAcc = [{<<"$default">>, <<"text">>, Value} | Acc],
- add_default_text_field(Rest, NewAcc);
-add_default_text_field([{_Name, <<"text">>, Value} | Rest], Acc) ->
- NewAcc = [{<<"$default">>, <<"text">>, Value} | Acc],
+ NewAcc = [{<<"$default">>, <<"string">>, Value} | Acc],
add_default_text_field(Rest, NewAcc);
add_default_text_field([_ | Rest], Acc) ->
add_default_text_field(Rest, Acc).
+add_default_text_field_nouveau(Fields) ->
+ DefaultFields = add_default_text_field_nouveau(Fields, []),
+ DefaultFields ++ Fields.
+
+add_default_text_field_nouveau([], Acc) ->
+ Acc;
+add_default_text_field_nouveau([{_Name, <<"string">>, Value} | Rest], Acc) ->
+ NewAcc = [{<<"$default">>, <<"text">>, Value} | Acc],
+ add_default_text_field_nouveau(Rest, NewAcc);
+add_default_text_field_nouveau([_ | Rest], Acc) ->
+ add_default_text_field_nouveau(Rest, Acc).
+
%% index of all field names
get_field_names(Fields) ->
FieldNameSet = lists:foldl(
@@ -345,7 +354,7 @@ get_nouveau_entries0(IdxProps, Doc) ->
Fields =
if
not DefaultEnabled -> Fields0;
- true -> add_default_text_field(Fields0)
+ true -> add_default_text_field_nouveau(Fields0)
end,
FieldNames0 = get_field_names(Fields),
FieldNames1 = lists:map(fun convert_to_nouveau_string_field/1, FieldNames0),