remove bib field primary key, not necessarily unique
authorBill Erickson <berickxx@gmail.com>
Wed, 18 Sep 2019 21:44:56 +0000 (17:44 -0400)
committerBill Erickson <berickxx@gmail.com>
Tue, 22 Oct 2019 13:18:21 +0000 (09:18 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/lib/OpenILS/Elastic/Bib/Search.pm

index 0eee883..94a3e12 100644 (file)
@@ -12984,7 +12984,7 @@ SELECT  usr,
                oils_persist:tablename="elastic.bib_field"
                reporter:label="Elastic Bib Index field"
                oils_persist:readonly="true">
-               <fields oils_persist:primary="name">
+               <fields> <!-- no guaranteed unique field => no oils_persist:primary -->
                        <field reporter:label="Metabib Field" name="metabib_field" reporter:datatype="link"/>
                        <field reporter:label="Name" name="name" reporter:datatype="text"/>
                        <field reporter:label="Label" name="label" reporter:datatype="text"/>
index 7afd378..7c7a8ce 100644 (file)
@@ -211,7 +211,10 @@ sub create_index {
         } foreach qw/title subject series keyword/;
     }
 
-    my $fields = new_editor()->retrieve_all_elastic_bib_field();
+    # elastic.bib_field has no primary key field, so retrieve_all won't work.
+    # Note the name value may be repeated across search group depending
+    # on local configuration.
+    my $fields = new_editor()->search_elastic_bib_field({name => {'!=' => undef}});
 
     for my $field (@$fields) {