CREATE INDEX asset_copy_tag_copy_map_tag_idx
ON asset.copy_tag_copy_map (tag);
-CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
+CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
DECLARE
last_circ_stop TEXT;
the_copy asset.copy%ROWTYPE;
BEGIN
SELECT * INTO the_copy FROM asset.copy WHERE id = cid;
- RETURN NULL WHEN NOT FOUND;
+ IF NOT FOUND THEN RETURN NULL; END IF;
IF the_copy.status = 3 THEN -- Lost
RETURN 'LOST';
- ELIF the_copy.status = 4 THEN -- Missing
+ ELSIF the_copy.status = 4 THEN -- Missing
RETURN 'MISSING';
- ELIF the_copy.status = 14 THEN -- Damaged
+ ELSIF the_copy.status = 14 THEN -- Damaged
RETURN 'DAMAGED';
- END;
+ END IF;
- SELECT stop_fines INTO last_circ_stop
- FROM action.circulation
- WHERE target_copy = cid
- ORDER BY xact_start DESC LIMIT 1;
+ SELECT stop_fines INTO last_circ_stop
+ FROM action.circulation
+ WHERE target_copy = cid
+ ORDER BY xact_start DESC LIMIT 1;
IF FOUND THEN
IF last_circ_stop IN (
'LONGOVERDUE'
) THEN
RETURN last_circ_stop;
- END;
- END;
+ END IF;
+ END IF;
RETURN 'NORMAL';
END;
BEGIN;
-CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
+CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
DECLARE
last_circ_stop TEXT;
the_copy asset.copy%ROWTYPE;
BEGIN
SELECT * INTO the_copy FROM asset.copy WHERE id = cid;
- RETURN NULL WHEN NOT FOUND;
+ IF NOT FOUND THEN RETURN NULL; END IF;
IF the_copy.status = 3 THEN -- Lost
RETURN 'LOST';
- ELIF the_copy.status = 4 THEN -- Missing
+ ELSIF the_copy.status = 4 THEN -- Missing
RETURN 'MISSING';
- ELIF the_copy.status = 14 THEN -- Damaged
+ ELSIF the_copy.status = 14 THEN -- Damaged
RETURN 'DAMAGED';
- END;
+ END IF;
- SELECT stop_fines INTO last_circ_stop
- FROM action.circulation
- WHERE target_copy = cid
- ORDER BY xact_start DESC LIMIT 1;
+ SELECT stop_fines INTO last_circ_stop
+ FROM action.circulation
+ WHERE target_copy = cid
+ ORDER BY xact_start DESC LIMIT 1;
IF FOUND THEN
IF last_circ_stop IN (
'LONGOVERDUE'
) THEN
RETURN last_circ_stop;
- END;
- END;
+ END IF;
+ END IF;
RETURN 'NORMAL';
END;