1. PostgreSQL copy of all MySQL created and tested.\n 2. Purchase Orders and Sales Orders and stock level management added to MySQL, PostgreSQL, and server and front end code.

This commit is contained in:
2024-07-05 20:34:11 +01:00
parent 3a2a164213
commit 6f4e329258
3049 changed files with 535753 additions and 3022 deletions

View File

@@ -0,0 +1,75 @@
-- Shop Image
CREATE OR REPLACE FUNCTION before_insert_Shop_Image()
RETURNS TRIGGER AS $$
BEGIN
NEW.created_on = CURRENT_TIMESTAMP;
NEW.created_by = CURRENT_USER;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_Image
BEFORE INSERT ON Shop_Image
FOR EACH ROW
EXECUTE FUNCTION before_insert_Shop_Image();
CREATE OR REPLACE FUNCTION before_update_Shop_Image()
RETURNS TRIGGER AS $$
BEGIN
IF OLD.id_change_set IS NOT DISTINCT FROM NEW.id_change_set THEN
RAISE EXCEPTION 'New change Set ID must be provided.'
USING ERRCODE = '45000';
END IF;
IF ISNULL(NEW.id_product) AND ISNULL(NEW.id_permutation) THEN
RAISE EXCEPTION 'Image must NOT have ID for product AND product permutation.'
USING ERRCODE = '45000';
END IF;
INSERT INTO Shop_Image_Audit (
id_image,
name_field,
value_prev,
value_new,
id_change_set
)
-- Changed id_type_image
SELECT NEW.id_image, 'id_type_image', CONVERT(OLD.id_type_image, CHAR), CONVERT(NEW.id_type_image, CHAR), NEW.id_change_set
WHERE NOT OLD.id_type_image <=> NEW.id_type_image
UNION
-- Changed id_type_file
SELECT NEW.id_image, 'id_type_file', CONVERT(OLD.id_type_file, CHAR), CONVERT(NEW.id_type_file, CHAR), NEW.id_change_set
WHERE NOT OLD.id_type_file <=> NEW.id_type_file
UNION
-- Changed id_product
SELECT NEW.id_image, 'id_product', CONVERT(OLD.id_product, CHAR), CONVERT(NEW.id_product, CHAR), NEW.id_change_set
WHERE NOT OLD.id_product <=> NEW.id_product
UNION
-- Changed id_permutation
SELECT NEW.id_image, 'id_permutation', CONVERT(OLD.id_permutation, CHAR), CONVERT(NEW.id_permutation, CHAR), NEW.id_change_set
WHERE NOT OLD.id_permutation <=> NEW.id_permutation
UNION
-- Changed url
SELECT NEW.id_image, 'url', OLD.url, NEW.url, NEW.id_change_set
WHERE NOT OLD.url <=> NEW.url
UNION
-- Changed active
SELECT NEW.id_image, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
WHERE NOT (OLD.active <=> NEW.active)
UNION
-- Changed display_order
SELECT NEW.id_image, 'display_order', CONVERT(OLD.display_order, CHAR), CONVERT(NEW.display_order, CHAR), NEW.id_change_set
WHERE NOT (OLD.display_order <=> NEW.display_order)
;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER tri_before_update_Shop_Image
BEFORE UPDATE ON Shop_Image
FOR EACH ROW
EXECUTE FUNCTION before_update_Shop_Image();