Fix sorting by pubdate for records migrated to 2.1
authorDan Scott <dscott@laurentian.ca>
Sun, 22 Jan 2012 19:29:16 +0000 (14:29 -0500)
committerDan Scott <dscott@laurentian.ca>
Sun, 4 Mar 2012 06:37:09 +0000 (01:37 -0500)
The 'pubdate' attribute is necessary for sorting by publication date to
work correctly. It was not populated in the 2.0-2.1 upgrade script, so
populate it now based on the 'date1' attribute.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Open-ILS/src/sql/Pg/version-upgrade/2.0-2.1-upgrade-db.sql
Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql [new file with mode: 0644]

index e245c83..0d66ddc 100644 (file)
@@ -8927,5 +8927,7 @@ UPDATE  metabib.record_attr
         GROUP BY 1) x
   WHERE x.record = metabib.record_attr.id;
 
-
-
+UPDATE metabib.record_attr
+   SET attrs = attrs || ('pubdate' => (attrs->'date1'))
+   WHERE defined(attrs, 'pubdate') IS FALSE
+   AND defined(attrs, 'date1') IS TRUE;
diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.1.1-2.1.2-upgrade-db.sql
new file mode 100644 (file)
index 0000000..301edd4
--- /dev/null
@@ -0,0 +1,6 @@
+-- Fix sorting by pubdate by ensuring migrated records
+-- have a pubdate attribute in metabib.record_attr.attrs
+UPDATE metabib.record_attr
+   SET attrs = attrs || ('pubdate' => (attrs->'date1'))
+   WHERE defined(attrs, 'pubdate') IS FALSE
+   AND defined(attrs, 'date1') IS TRUE;