duration duration_rule renewal_remaining
recuring_fine_rule recuring_fine stop_fines
max_fine max_fine_rule fine_interval
- stop_fines xact_finish due_date/);
+ stop_fines xact_finish due_date renewal/);
#-------------------------------------------------------------------------------
CREATE TABLE action.circulation (
target_copy BIGINT NOT NULL, -- asset.copy.id
+ renewal BOOL NOT NULL DEFAULT FALSE,
circ_lib INT NOT NULL, -- actor.org_unit.id
duration_rule TEXT NOT NULL, -- name of "circ duration" rule
duration INTERVAL NOT NULL, -- derived from "circ duration" rule
max_fine NUMERIC(6,2) NOT NULL, -- derived from "max fine" rule
fine_interval INTERVAL NOT NULL DEFAULT '1 day'::INTERVAL, -- derived from "circ fine" rule
due_date TIMESTAMP WITH TIME ZONE NOT NULL,
- stop_fines TEXT CHECK (stop_fines IN ('CHECKIN','CLAIMSRETURNED','LOST','MAXFINES'))
+ stop_fines TEXT CHECK (stop_fines IN ('CHECKIN','CLAIMSRETURNED','LOST','MAXFINES','RENEW'))
) INHERITS (money.billable_xact);
CREATE INDEX circ_open_xacts_idx ON action.circulation (usr) WHERE xact_finish IS NULL;