@@ -287,9 +287,9 @@ extract_selector_hints(Selector) ->
287
287
Modules = lists :flatmap (AsIndex , ? CURSOR_MODULES ),
288
288
Populate =
289
289
fun ({Module , IndexType }) ->
290
- AllFields = set_from_list (mango_selector :fields (Selector )),
290
+ AllFields = couch_util : set_from_list (mango_selector :fields (Selector )),
291
291
Normalize = fun (N ) -> hd (string :split (N , " :" )) end ,
292
- IndexableFields = set_from_list (
292
+ IndexableFields = couch_util : set_from_list (
293
293
lists :map (Normalize , Module :indexable_fields (Selector ))
294
294
),
295
295
UnindexableFields = sets :subtract (AllFields , IndexableFields ),
@@ -442,7 +442,8 @@ maybe_add_warning(UserFun, #cursor{index = Index, opts = Opts}, Stats, UserAcc)
442
442
% create a dummy cursor in absence of usable indexes, utilized by _explain
443
443
create_cursor (Db , {[], Trace0 }, Selector , Opts ) ->
444
444
Blank = #{
445
- filtered_indexes => sets :new ([{version , 2 }]), indexes_of_type => sets :new ([{version , 2 }])
445
+ filtered_indexes => couch_util :new_set (),
446
+ indexes_of_type => couch_util :new_set ()
446
447
},
447
448
Trace = maps :merge (Trace0 , Blank ),
448
449
Limit = couch_util :get_value (limit , Opts , mango_opts :default_limit ()),
@@ -463,9 +464,9 @@ create_cursor(Db, {[], Trace0}, Selector, Opts) ->
463
464
execution_stats = Stats
464
465
}};
465
466
create_cursor (Db , {Indexes , Trace0 }, Selector , Opts ) ->
466
- Trace1 = maps :merge (Trace0 , #{filtered_indexes => set_from_list (Indexes )}),
467
+ Trace1 = maps :merge (Trace0 , #{filtered_indexes => couch_util : set_from_list (Indexes )}),
467
468
[{CursorMod , CursorModIndexes } | _ ] = group_indexes_by_type (Indexes ),
468
- Trace = maps :merge (Trace1 , #{indexes_of_type => set_from_list (CursorModIndexes )}),
469
+ Trace = maps :merge (Trace1 , #{indexes_of_type => couch_util : set_from_list (CursorModIndexes )}),
469
470
CursorMod :create (Db , {CursorModIndexes , Trace }, Selector , Opts ).
470
471
471
472
group_indexes_by_type (Indexes ) ->
@@ -585,9 +586,6 @@ ddoc_name(<<"_design/", Name/binary>>) ->
585
586
ddoc_name (Name ) ->
586
587
Name .
587
588
588
- set_from_list (KVs ) ->
589
- sets :from_list (KVs , [{version , 2 }]).
590
-
591
589
-ifdef (TEST ).
592
590
-include_lib (" couch/include/couch_eunit.hrl" ).
593
591
@@ -618,8 +616,8 @@ t_create_regular(_) ->
618
616
Trace1 = #{},
619
617
Trace2 =
620
618
#{
621
- filtered_indexes => set_from_list (FilteredIndexes ),
622
- indexes_of_type => set_from_list (IndexesOfType )
619
+ filtered_indexes => couch_util : set_from_list (FilteredIndexes ),
620
+ indexes_of_type => couch_util : set_from_list (IndexesOfType )
623
621
},
624
622
Options = [{use_index , []}, {allow_fallback , true }],
625
623
meck :expect (mango_selector , normalize , [selector ], meck :val (normalized_selector )),
@@ -648,8 +646,8 @@ t_create_user_specified_index(_) ->
648
646
Trace1 = #{},
649
647
Trace2 =
650
648
#{
651
- filtered_indexes => set_from_list (FilteredIndexes ),
652
- indexes_of_type => set_from_list (IndexesOfType )
649
+ filtered_indexes => couch_util : set_from_list (FilteredIndexes ),
650
+ indexes_of_type => couch_util : set_from_list (IndexesOfType )
653
651
},
654
652
Options = [{use_index , [<<" _design/view_idx2" >>]}],
655
653
meck :expect (mango_selector , normalize , [selector ], meck :val (normalized_selector )),
@@ -677,8 +675,8 @@ t_create_invalid_user_specified_index(_) ->
677
675
Trace1 = #{},
678
676
Trace2 =
679
677
#{
680
- filtered_indexes => set_from_list (UsableIndexes ),
681
- indexes_of_type => set_from_list (IndexesOfType )
678
+ filtered_indexes => couch_util : set_from_list (UsableIndexes ),
679
+ indexes_of_type => couch_util : set_from_list (IndexesOfType )
682
680
},
683
681
Options = [{use_index , [<<" foobar" >>]}, {allow_fallback , true }],
684
682
meck :expect (mango_selector , normalize , [selector ], meck :val (normalized_selector )),
@@ -706,8 +704,8 @@ t_create_invalid_user_specified_index_no_fallback(_) ->
706
704
Trace1 = #{},
707
705
Trace2 =
708
706
#{
709
- filtered_indexes => set_from_list (UsableIndexes ),
710
- indexes_of_type => set_from_list (IndexesOfType )
707
+ filtered_indexes => couch_util : set_from_list (UsableIndexes ),
708
+ indexes_of_type => couch_util : set_from_list (IndexesOfType )
711
709
},
712
710
UseIndex = [<<" design" >>, <<" foobar" >>],
713
711
Options = [{use_index , UseIndex }, {allow_fallback , false }],
@@ -734,8 +732,8 @@ t_create_no_suitable_index_no_fallback(_) ->
734
732
Trace1 = #{},
735
733
Trace2 =
736
734
#{
737
- filtered_indexes => set_from_list (UsableIndexes ),
738
- indexes_of_type => set_from_list (IndexesOfType )
735
+ filtered_indexes => couch_util : set_from_list (UsableIndexes ),
736
+ indexes_of_type => couch_util : set_from_list (IndexesOfType )
739
737
},
740
738
Options = [{use_index , []}, {allow_fallback , false }],
741
739
meck :expect (mango_selector , normalize , [selector ], meck :val (normalized_selector )),
@@ -782,7 +780,7 @@ extract_candidate_indexes_test_() ->
782
780
}.
783
781
784
782
t_extract_candidate_indexes_empty (_ ) ->
785
- Indexes = sets : new ([{ version , 2 }] ),
783
+ Indexes = couch_util : new_set ( ),
786
784
UsabilityMap = [],
787
785
Trace =
788
786
#{
@@ -804,7 +802,7 @@ t_extract_candidate_indexes_empty(_) ->
804
802
? assertEqual (Candidates , extract_candidate_indexes (Cursor )).
805
803
806
804
t_extract_candidate_indexes_singleton (_ ) ->
807
- Indexes = set_from_list ([winner ]),
805
+ Indexes = couch_util : set_from_list ([winner ]),
808
806
UsabilityMap = [{winner , {true , #{reason => []}}}],
809
807
Trace =
810
808
#{
@@ -840,15 +838,17 @@ t_extract_candidate_indexes_user_specified(_) ->
840
838
],
841
839
Trace =
842
840
#{
843
- all_indexes => set_from_list ([
841
+ all_indexes => couch_util : set_from_list ([
844
842
winner , Partial , Partitioned , NotUsable , Filtered , Unfavored
845
843
]),
846
- global_indexes => set_from_list ([winner , Partitioned , NotUsable , Filtered , Unfavored ]),
847
- partition_indexes => set_from_list ([winner , NotUsable , Filtered , Unfavored ]),
848
- usable_indexes => set_from_list ([winner , Filtered , Unfavored ]),
844
+ global_indexes => couch_util :set_from_list ([
845
+ winner , Partitioned , NotUsable , Filtered , Unfavored
846
+ ]),
847
+ partition_indexes => couch_util :set_from_list ([winner , NotUsable , Filtered , Unfavored ]),
848
+ usable_indexes => couch_util :set_from_list ([winner , Filtered , Unfavored ]),
849
849
usability_map => UsabilityMap ,
850
- filtered_indexes => set_from_list ([winner , Unfavored ]),
851
- indexes_of_type => set_from_list ([winner ])
850
+ filtered_indexes => couch_util : set_from_list ([winner , Unfavored ]),
851
+ indexes_of_type => couch_util : set_from_list ([winner ])
852
852
},
853
853
Cursor =
854
854
# cursor {
@@ -940,7 +940,7 @@ t_extract_candidate_indexes_regular(_) ->
940
940
],
941
941
Trace =
942
942
#{
943
- all_indexes => set_from_list ([
943
+ all_indexes => couch_util : set_from_list ([
944
944
winner ,
945
945
Partial1 ,
946
946
Partial2 ,
@@ -953,7 +953,7 @@ t_extract_candidate_indexes_regular(_) ->
953
953
Usable2 ,
954
954
Usable3
955
955
]),
956
- global_indexes => set_from_list ([
956
+ global_indexes => couch_util : set_from_list ([
957
957
winner ,
958
958
Partitioned1 ,
959
959
Partitioned2 ,
@@ -964,17 +964,17 @@ t_extract_candidate_indexes_regular(_) ->
964
964
Usable2 ,
965
965
Usable3
966
966
]),
967
- partition_indexes => set_from_list ([
967
+ partition_indexes => couch_util : set_from_list ([
968
968
winner , NotUsable , Unfavored1 , Unfavored2 , Usable1 , Usable2 , Usable3
969
969
]),
970
- usable_indexes => set_from_list ([
970
+ usable_indexes => couch_util : set_from_list ([
971
971
winner , Unfavored1 , Unfavored2 , Usable1 , Usable2 , Usable3
972
972
]),
973
973
usability_map => UsabilityMap ,
974
- filtered_indexes => set_from_list ([
974
+ filtered_indexes => couch_util : set_from_list ([
975
975
winner , Unfavored1 , Unfavored2 , Usable1 , Usable2 , Usable3
976
976
]),
977
- indexes_of_type => set_from_list ([winner , Usable1 , Usable2 , Usable3 ]),
977
+ indexes_of_type => couch_util : set_from_list ([winner , Usable1 , Usable2 , Usable3 ]),
978
978
sorted_index_ranges => SortedIndexRanges
979
979
},
980
980
Cursor =
@@ -1193,7 +1193,7 @@ explain_test_() ->
1193
1193
1194
1194
t_explain_empty (_ ) ->
1195
1195
Selector = {[]},
1196
- Indexes = sets : new ([{ version , 2 }] ),
1196
+ Indexes = couch_util : new_set ( ),
1197
1197
Trace =
1198
1198
#{
1199
1199
all_indexes => Indexes ,
@@ -1241,7 +1241,7 @@ t_explain_regular(_) ->
1241
1241
type = <<" special" >>, name = index , def = all_docs , dbname = db , partitioned = partitioned
1242
1242
},
1243
1243
Selector = {[]},
1244
- Indexes = set_from_list ([Index ]),
1244
+ Indexes = couch_util : set_from_list ([Index ]),
1245
1245
Fields = some_fields ,
1246
1246
Trace =
1247
1247
#{
0 commit comments