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>
Fri, 21 Feb 2020 21:20:32 +0000 (16:20 -0500)
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 04cd425..5dd0762 100644 (file)
@@ -12985,7 +12985,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) {