LP1813191: Dots Need Chaperones
authorJason Boyer <JBoyer@equinoxOLI.org>
Thu, 12 Aug 2021 11:39:06 +0000 (07:39 -0400)
committerGalen Charlton <gmc@equinoxOLI.org>
Thu, 12 Aug 2021 19:47:15 +0000 (15:47 -0400)
Regular expressions are fun.

Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>

Open-ILS/src/sql/Pg/reporter-schema.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.dewey_ranges.sql

index fb427ca..ec1b6c8 100644 (file)
@@ -235,20 +235,20 @@ $$ LANGUAGE SQL;
 CREATE OR REPLACE VIEW reporter.asset_call_number_dewey AS
   SELECT id AS call_number,
     call_number_dewey(label) AS dewey,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9.]$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text))
       ELSE NULL::text
     END AS dewey_block_tens,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text))
       ELSE NULL::text
     END AS dewey_block_hundreds,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN (btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text)) || '-'::text)
       || btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision) + 9::double precision, '000'::text))
       ELSE NULL::text
     END AS dewey_range_tens,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN (btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text)) || '-'::text)
       || btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision) + 99::double precision, '000'::text))
       ELSE NULL::text
index e877290..a2a6a8c 100644 (file)
@@ -5,20 +5,20 @@ SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
 CREATE OR REPLACE VIEW reporter.asset_call_number_dewey AS
   SELECT id AS call_number,
     call_number_dewey(label) AS dewey,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9.]$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text))
       ELSE NULL::text
     END AS dewey_block_tens,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text))
       ELSE NULL::text
     END AS dewey_block_hundreds,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN (btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision), '000'::text)) || '-'::text)
       || btrim(to_char(10::double precision * floor(call_number_dewey(label)::double precision / 10::double precision) + 9::double precision, '000'::text))
       ELSE NULL::text
     END AS dewey_range_tens,
-    CASE WHEN call_number_dewey(label) ~ '^[0-9]+.?[0-9]*$'::text
+    CASE WHEN call_number_dewey(label) ~ '^[0-9]+\.?[0-9]*$'::text
       THEN (btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision), '000'::text)) || '-'::text)
       || btrim(to_char(100::double precision * floor(call_number_dewey(label)::double precision / 100::double precision) + 99::double precision, '000'::text))
       ELSE NULL::text
@@ -27,3 +27,4 @@ CREATE OR REPLACE VIEW reporter.asset_call_number_dewey AS
   WHERE call_number_dewey(label) ~ '^[0-9]'::text;
 
 COMMIT;
+