print """
CREATE SEQUENCE evergreen.lu_barcode START 200000;
-CREATE OR REPLACE FUNCTION evergreen.generate_lu_barcode(usr_id INT) RETURNS TEXT AS $$
+CREATE OR REPLACE FUNCTION evergreen.lu_update_barcode(usr_id INT) RETURNS TEXT AS $$
DECLARE
barcode TEXT;
- mod TEXT;
- bc_serial RECORD;
BEGIN
- SELECT NEXTVAL('evergreen.lu_barcode') AS bc INTO bc_serial;
- barcode := '0000700' || bc_serial.bc::text;
- barcode := barcode || evergreen.mod10(barcode);
+ barcode := evergreen.lu_generate_barcode();
INSERT INTO actor.card (usr, barcode) VALUES (usr_id, barcode);
RETURN barcode;
END;
$$ LANGUAGE PLPGSQL;
+
+CREATE OR REPLACE FUNCTION evergreen.lu_generate_barcode() RETURNS TEXT AS $$
+DECLARE
+ barcode TEXT;
+ mod TEXT;
+ bc_serial RECORD;
+BEGIN
+ SELECT NEXTVAL('evergreen.lu_barcode') AS bc INTO bc_serial;
+ barcode := '0000700' || bc_serial.bc::text;
+ barcode := barcode || evergreen.mod10(barcode);
+
+ RETURN barcode;
+END;
+$$ LANGUAGE PLPGSQL;
"""