Fix: Login.
This commit is contained in:
15
static/PostgreSQL/11202_tbl_TCG_MTG_Deck_Temp.sql
Normal file
15
static/PostgreSQL/11202_tbl_TCG_MTG_Deck_Temp.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
CREATE TABLE tcg.public.TCG_MTG_Deck_Temp (
|
||||
temp_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY
|
||||
, deck_id INT
|
||||
, name TEXT NOT NULL
|
||||
, is_commander BOOLEAN
|
||||
, commander_bracket_id INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
, guid UUID
|
||||
);
|
||||
@@ -32,31 +32,31 @@ BEGIN
|
||||
)
|
||||
-- Changed user_auth0_id
|
||||
SELECT NEW.user_id, 'user_auth0_id', OLD.user_auth0_id, NEW.user_auth0_id, NEW.change_set_id
|
||||
WHERE OLD.user_auth0_id IS NOT DISTINCT FROM NEW.user_auth0_id
|
||||
WHERE OLD.user_auth0_id IS DISTINCT FROM NEW.user_auth0_id
|
||||
UNION
|
||||
-- Changed firstname
|
||||
SELECT NEW.user_id, 'firstname', OLD.firstname, NEW.firstname, NEW.change_set_id
|
||||
WHERE OLD.firstname IS NOT DISTINCT FROM NEW.firstname
|
||||
WHERE OLD.firstname IS DISTINCT FROM NEW.firstname
|
||||
UNION
|
||||
-- Changed surname
|
||||
SELECT NEW.user_id, 'surname', OLD.surname, NEW.surname, NEW.change_set_id
|
||||
WHERE OLD.surname IS NOT DISTINCT FROM NEW.surname
|
||||
WHERE OLD.surname IS DISTINCT FROM NEW.surname
|
||||
UNION
|
||||
-- Changed email
|
||||
SELECT NEW.user_id, 'email', OLD.email, NEW.email, NEW.change_set_id
|
||||
WHERE OLD.email IS NOT DISTINCT FROM NEW.email
|
||||
WHERE OLD.email IS DISTINCT FROM NEW.email
|
||||
UNION
|
||||
-- Changed is_email_verified
|
||||
SELECT NEW.user_id, 'is_email_verified', OLD.is_email_verified::TEXT, NEW.is_email_verified::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_email_verified IS NOT DISTINCT FROM NEW.is_email_verified
|
||||
WHERE OLD.is_email_verified IS DISTINCT FROM NEW.is_email_verified
|
||||
UNION
|
||||
-- Changed is_super_user
|
||||
SELECT NEW.user_id, 'is_super_user', OLD.is_super_user::TEXT, NEW.is_super_user::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_super_user IS NOT DISTINCT FROM NEW.is_super_user
|
||||
WHERE OLD.is_super_user IS DISTINCT FROM NEW.is_super_user
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.user_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed follower_user_id
|
||||
SELECT NEW.relationship_id, 'follower_user_id', OLD.follower_user_id::TEXT, NEW.follower_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.follower_user_id IS NOT DISTINCT FROM NEW.follower_user_id
|
||||
WHERE OLD.follower_user_id IS DISTINCT FROM NEW.follower_user_id
|
||||
UNION
|
||||
-- Changed following_user_id
|
||||
SELECT NEW.relationship_id, 'following_user_id', OLD.following_user_id::TEXT, NEW.following_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.following_user_id IS NOT DISTINCT FROM NEW.following_user_id
|
||||
WHERE OLD.following_user_id IS DISTINCT FROM NEW.following_user_id
|
||||
UNION
|
||||
-- Changed is_following
|
||||
SELECT NEW.relationship_id, 'is_following', OLD.is_following::TEXT, NEW.is_following::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_following IS NOT DISTINCT FROM NEW.is_following
|
||||
WHERE OLD.is_following IS DISTINCT FROM NEW.is_following
|
||||
UNION
|
||||
-- Changed is_blocked
|
||||
SELECT NEW.relationship_id, 'is_blocked', OLD.is_blocked::TEXT, NEW.is_blocked::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_blocked IS NOT DISTINCT FROM NEW.is_blocked
|
||||
WHERE OLD.is_blocked IS DISTINCT FROM NEW.is_blocked
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.relationship_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,15 +48,15 @@ BEGIN
|
||||
)
|
||||
-- Changed code
|
||||
SELECT NEW.error_type_id, 'code', OLD.code, NEW.code, NEW.change_set_id
|
||||
WHERE OLD.code IS NOT DISTINCT FROM NEW.code
|
||||
WHERE OLD.code IS DISTINCT FROM NEW.code
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.error_type_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.error_type_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed guid
|
||||
SELECT NEW.error_id, 'guid', OLD.guid::TEXT, NEW.guid::TEXT, NEW.change_set_id
|
||||
WHERE OLD.guid IS NOT DISTINCT FROM NEW.guid
|
||||
WHERE OLD.guid IS DISTINCT FROM NEW.guid
|
||||
UNION
|
||||
-- Changed error_type_id
|
||||
SELECT NEW.error_id, 'error_type_id', OLD.error_type_id::TEXT, NEW.error_type_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.error_type_id IS NOT DISTINCT FROM NEW.error_type_id
|
||||
WHERE OLD.error_type_id IS DISTINCT FROM NEW.error_type_id
|
||||
UNION
|
||||
-- Changed message
|
||||
SELECT NEW.error_id, 'message', OLD.message, NEW.message, NEW.change_set_id
|
||||
WHERE OLD.message IS NOT DISTINCT FROM NEW.message
|
||||
WHERE OLD.message IS DISTINCT FROM NEW.message
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.error_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.error_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.condition_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed code
|
||||
SELECT NEW.condition_id, 'code', OLD.code, NEW.code, NEW.change_set_id
|
||||
WHERE OLD.code IS NOT DISTINCT FROM NEW.code
|
||||
WHERE OLD.code IS DISTINCT FROM NEW.code
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.condition_id, 'description', OLD.description, NEW.description, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed summary
|
||||
SELECT NEW.condition_id, 'summary', OLD.summary, NEW.summary, NEW.change_set_id
|
||||
WHERE OLD.summary IS NOT DISTINCT FROM NEW.summary
|
||||
WHERE OLD.summary IS DISTINCT FROM NEW.summary
|
||||
UNION
|
||||
-- Changed us_name
|
||||
SELECT NEW.condition_id, 'us_name', OLD.us_name, NEW.us_name, NEW.change_set_id
|
||||
WHERE OLD.us_name IS NOT DISTINCT FROM NEW.us_name
|
||||
WHERE OLD.us_name IS DISTINCT FROM NEW.us_name
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.condition_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.condition_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.condition_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,23 +48,23 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.finish_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.finish_id, 'description', OLD.description, NEW.description, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.finish_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.finish_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.finish_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,451 +48,451 @@ BEGIN
|
||||
)
|
||||
-- Changed all_parts
|
||||
SELECT NEW.card_id, 'all_parts', OLD.all_parts, NEW.all_parts, NEW.change_set_id
|
||||
WHERE OLD.all_parts IS NOT DISTINCT FROM NEW.all_parts
|
||||
WHERE OLD.all_parts IS DISTINCT FROM NEW.all_parts
|
||||
UNION
|
||||
-- Changed arena_id
|
||||
SELECT NEW.card_id, 'arena_id', OLD.arena_id::TEXT, NEW.arena_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.arena_id IS NOT DISTINCT FROM NEW.arena_id
|
||||
WHERE OLD.arena_id IS DISTINCT FROM NEW.arena_id
|
||||
UNION
|
||||
-- Changed artist
|
||||
SELECT NEW.card_id, 'artist', OLD.artist, NEW.artist, NEW.change_set_id
|
||||
WHERE OLD.artist IS NOT DISTINCT FROM NEW.artist
|
||||
WHERE OLD.artist IS DISTINCT FROM NEW.artist
|
||||
UNION
|
||||
-- Changed artist_ids
|
||||
SELECT NEW.card_id, 'artist_ids', OLD.artist_ids, NEW.artist_ids, NEW.change_set_id
|
||||
WHERE OLD.artist_ids IS NOT DISTINCT FROM NEW.artist_ids
|
||||
WHERE OLD.artist_ids IS DISTINCT FROM NEW.artist_ids
|
||||
UNION
|
||||
-- Changed booster
|
||||
SELECT NEW.card_id, 'booster', OLD.booster::TEXT, NEW.booster::TEXT, NEW.change_set_id
|
||||
WHERE OLD.booster IS NOT DISTINCT FROM NEW.booster
|
||||
WHERE OLD.booster IS DISTINCT FROM NEW.booster
|
||||
UNION
|
||||
-- Changed border_color
|
||||
SELECT NEW.card_id, 'border_color', OLD.border_color, NEW.border_color, NEW.change_set_id
|
||||
WHERE OLD.border_color IS NOT DISTINCT FROM NEW.border_color
|
||||
WHERE OLD.border_color IS DISTINCT FROM NEW.border_color
|
||||
UNION
|
||||
-- Changed card_back_id
|
||||
SELECT NEW.card_id, 'card_back_id', OLD.card_back_id, NEW.card_back_id, NEW.change_set_id
|
||||
WHERE OLD.card_back_id IS NOT DISTINCT FROM NEW.card_back_id
|
||||
WHERE OLD.card_back_id IS DISTINCT FROM NEW.card_back_id
|
||||
UNION
|
||||
-- Changed cmc
|
||||
SELECT NEW.card_id, 'cmc', OLD.cmc::TEXT, NEW.cmc::TEXT, NEW.change_set_id
|
||||
WHERE OLD.cmc IS NOT DISTINCT FROM NEW.cmc
|
||||
WHERE OLD.cmc IS DISTINCT FROM NEW.cmc
|
||||
UNION
|
||||
-- Changed collector_number
|
||||
SELECT NEW.card_id, 'collector_number', OLD.collector_number, NEW.collector_number, NEW.change_set_id
|
||||
WHERE OLD.collector_number IS NOT DISTINCT FROM NEW.collector_number
|
||||
WHERE OLD.collector_number IS DISTINCT FROM NEW.collector_number
|
||||
UNION
|
||||
-- Changed color_identity
|
||||
SELECT NEW.card_id, 'color_identity', OLD.color_identity, NEW.color_identity, NEW.change_set_id
|
||||
WHERE OLD.color_identity IS NOT DISTINCT FROM NEW.color_identity
|
||||
WHERE OLD.color_identity IS DISTINCT FROM NEW.color_identity
|
||||
UNION
|
||||
-- Changed colors
|
||||
SELECT NEW.card_id, 'colors', OLD.colors, NEW.colors, NEW.change_set_id
|
||||
WHERE OLD.colors IS NOT DISTINCT FROM NEW.colors
|
||||
WHERE OLD.colors IS DISTINCT FROM NEW.colors
|
||||
UNION
|
||||
-- Changed content_warning
|
||||
SELECT NEW.card_id, 'content_warning', OLD.content_warning::TEXT, NEW.content_warning::TEXT, NEW.change_set_id
|
||||
WHERE OLD.content_warning IS NOT DISTINCT FROM NEW.content_warning
|
||||
WHERE OLD.content_warning IS DISTINCT FROM NEW.content_warning
|
||||
UNION
|
||||
-- Changed digital
|
||||
SELECT NEW.card_id, 'digital', OLD.digital::TEXT, NEW.digital::TEXT, NEW.change_set_id
|
||||
WHERE OLD.digital IS NOT DISTINCT FROM NEW.digital
|
||||
WHERE OLD.digital IS DISTINCT FROM NEW.digital
|
||||
UNION
|
||||
-- Changed edhrec_rank
|
||||
SELECT NEW.card_id, 'edhrec_rank', OLD.edhrec_rank::TEXT, NEW.edhrec_rank::TEXT, NEW.change_set_id
|
||||
WHERE OLD.edhrec_rank IS NOT DISTINCT FROM NEW.edhrec_rank
|
||||
WHERE OLD.edhrec_rank IS DISTINCT FROM NEW.edhrec_rank
|
||||
UNION
|
||||
-- Changed finishes
|
||||
SELECT NEW.card_id, 'finishes', OLD.finishes, NEW.finishes, NEW.change_set_id
|
||||
WHERE OLD.finishes IS NOT DISTINCT FROM NEW.finishes
|
||||
WHERE OLD.finishes IS DISTINCT FROM NEW.finishes
|
||||
UNION
|
||||
-- Changed flavor_name
|
||||
SELECT NEW.card_id, 'flavor_name', OLD.flavor_name, NEW.flavor_name, NEW.change_set_id
|
||||
WHERE OLD.flavor_name IS NOT DISTINCT FROM NEW.flavor_name
|
||||
WHERE OLD.flavor_name IS DISTINCT FROM NEW.flavor_name
|
||||
UNION
|
||||
-- Changed flavor_text
|
||||
SELECT NEW.card_id, 'flavor_text', OLD.flavor_text, NEW.flavor_text, NEW.change_set_id
|
||||
WHERE OLD.flavor_text IS NOT DISTINCT FROM NEW.flavor_text
|
||||
WHERE OLD.flavor_text IS DISTINCT FROM NEW.flavor_text
|
||||
UNION
|
||||
-- Changed foil
|
||||
SELECT NEW.card_id, 'foil', OLD.foil::TEXT, NEW.foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.foil IS NOT DISTINCT FROM NEW.foil
|
||||
WHERE OLD.foil IS DISTINCT FROM NEW.foil
|
||||
UNION
|
||||
-- Changed frame
|
||||
SELECT NEW.card_id, 'frame', OLD.frame, NEW.frame, NEW.change_set_id
|
||||
WHERE OLD.frame IS NOT DISTINCT FROM NEW.frame
|
||||
WHERE OLD.frame IS DISTINCT FROM NEW.frame
|
||||
UNION
|
||||
-- Changed full_art
|
||||
SELECT NEW.card_id, 'full_art', OLD.full_art::TEXT, NEW.full_art::TEXT, NEW.change_set_id
|
||||
WHERE OLD.full_art IS NOT DISTINCT FROM NEW.full_art
|
||||
WHERE OLD.full_art IS DISTINCT FROM NEW.full_art
|
||||
UNION
|
||||
-- Changed game_changer
|
||||
SELECT NEW.card_id, 'game_changer', OLD.game_changer::TEXT, NEW.game_changer::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_changer IS NOT DISTINCT FROM NEW.game_changer
|
||||
WHERE OLD.game_changer IS DISTINCT FROM NEW.game_changer
|
||||
UNION
|
||||
-- Changed games
|
||||
SELECT NEW.card_id, 'games', OLD.games, NEW.games, NEW.change_set_id
|
||||
WHERE OLD.games IS NOT DISTINCT FROM NEW.games
|
||||
WHERE OLD.games IS DISTINCT FROM NEW.games
|
||||
UNION
|
||||
-- Changed hand_modifier
|
||||
SELECT NEW.card_id, 'hand_modifier', OLD.hand_modifier, NEW.hand_modifier, NEW.change_set_id
|
||||
WHERE OLD.hand_modifier IS NOT DISTINCT FROM NEW.hand_modifier
|
||||
WHERE OLD.hand_modifier IS DISTINCT FROM NEW.hand_modifier
|
||||
UNION
|
||||
-- Changed highres_image
|
||||
SELECT NEW.card_id, 'highres_image', OLD.highres_image::TEXT, NEW.highres_image::TEXT, NEW.change_set_id
|
||||
WHERE OLD.highres_image IS NOT DISTINCT FROM NEW.highres_image
|
||||
WHERE OLD.highres_image IS DISTINCT FROM NEW.highres_image
|
||||
UNION
|
||||
-- Changed id
|
||||
SELECT NEW.card_id, 'id', OLD.id::TEXT, NEW.id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.id IS NOT DISTINCT FROM NEW.id
|
||||
WHERE OLD.id IS DISTINCT FROM NEW.id
|
||||
UNION
|
||||
-- Changed image_status
|
||||
SELECT NEW.card_id, 'image_status', OLD.image_status, NEW.image_status, NEW.change_set_id
|
||||
WHERE OLD.image_status IS NOT DISTINCT FROM NEW.image_status
|
||||
WHERE OLD.image_status IS DISTINCT FROM NEW.image_status
|
||||
UNION
|
||||
-- Changed image_uri_art_crop
|
||||
SELECT NEW.card_id, 'image_uri_art_crop', OLD.image_uri_art_crop, NEW.image_uri_art_crop, NEW.change_set_id
|
||||
WHERE OLD.image_uri_art_crop IS NOT DISTINCT FROM NEW.image_uri_art_crop
|
||||
WHERE OLD.image_uri_art_crop IS DISTINCT FROM NEW.image_uri_art_crop
|
||||
UNION
|
||||
-- Changed image_uri_border_crop
|
||||
SELECT NEW.card_id, 'image_uri_border_crop', OLD.image_uri_border_crop, NEW.image_uri_border_crop, NEW.change_set_id
|
||||
WHERE OLD.image_uri_border_crop IS NOT DISTINCT FROM NEW.image_uri_border_crop
|
||||
WHERE OLD.image_uri_border_crop IS DISTINCT FROM NEW.image_uri_border_crop
|
||||
UNION
|
||||
-- Changed image_uri_large
|
||||
SELECT NEW.card_id, 'image_uri_large', OLD.image_uri_large, NEW.image_uri_large, NEW.change_set_id
|
||||
WHERE OLD.image_uri_large IS NOT DISTINCT FROM NEW.image_uri_large
|
||||
WHERE OLD.image_uri_large IS DISTINCT FROM NEW.image_uri_large
|
||||
UNION
|
||||
-- Changed image_uri_normal
|
||||
SELECT NEW.card_id, 'image_uri_normal', OLD.image_uri_normal, NEW.image_uri_normal, NEW.change_set_id
|
||||
WHERE OLD.image_uri_normal IS NOT DISTINCT FROM NEW.image_uri_normal
|
||||
WHERE OLD.image_uri_normal IS DISTINCT FROM NEW.image_uri_normal
|
||||
UNION
|
||||
-- Changed image_uri_png
|
||||
SELECT NEW.card_id, 'image_uri_png', OLD.image_uri_png, NEW.image_uri_png, NEW.change_set_id
|
||||
WHERE OLD.image_uri_png IS NOT DISTINCT FROM NEW.image_uri_png
|
||||
WHERE OLD.image_uri_png IS DISTINCT FROM NEW.image_uri_png
|
||||
UNION
|
||||
-- Changed image_uri_small
|
||||
SELECT NEW.card_id, 'image_uri_small', OLD.image_uri_small, NEW.image_uri_small, NEW.change_set_id
|
||||
WHERE OLD.image_uri_small IS NOT DISTINCT FROM NEW.image_uri_small
|
||||
WHERE OLD.image_uri_small IS DISTINCT FROM NEW.image_uri_small
|
||||
UNION
|
||||
-- Changed keywords
|
||||
SELECT NEW.card_id, 'keywords', OLD.keywords, NEW.keywords, NEW.change_set_id
|
||||
WHERE OLD.keywords IS NOT DISTINCT FROM NEW.keywords
|
||||
WHERE OLD.keywords IS DISTINCT FROM NEW.keywords
|
||||
UNION
|
||||
-- Changed lang
|
||||
SELECT NEW.card_id, 'lang', OLD.lang, NEW.lang, NEW.change_set_id
|
||||
WHERE OLD.lang IS NOT DISTINCT FROM NEW.lang
|
||||
WHERE OLD.lang IS DISTINCT FROM NEW.lang
|
||||
UNION
|
||||
-- Changed layout
|
||||
SELECT NEW.card_id, 'layout', OLD.layout, NEW.layout, NEW.change_set_id
|
||||
WHERE OLD.layout IS NOT DISTINCT FROM NEW.layout
|
||||
WHERE OLD.layout IS DISTINCT FROM NEW.layout
|
||||
UNION
|
||||
-- Changed legal_alchemy
|
||||
SELECT NEW.card_id, 'legal_alchemy', OLD.legal_alchemy::TEXT, NEW.legal_alchemy::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_alchemy IS NOT DISTINCT FROM NEW.legal_alchemy
|
||||
WHERE OLD.legal_alchemy IS DISTINCT FROM NEW.legal_alchemy
|
||||
UNION
|
||||
-- Changed legal_brawl
|
||||
SELECT NEW.card_id, 'legal_brawl', OLD.legal_brawl::TEXT, NEW.legal_brawl::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_brawl IS NOT DISTINCT FROM NEW.legal_brawl
|
||||
WHERE OLD.legal_brawl IS DISTINCT FROM NEW.legal_brawl
|
||||
UNION
|
||||
-- Changed legal_commander
|
||||
SELECT NEW.card_id, 'legal_commander', OLD.legal_commander::TEXT, NEW.legal_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_commander IS NOT DISTINCT FROM NEW.legal_commander
|
||||
WHERE OLD.legal_commander IS DISTINCT FROM NEW.legal_commander
|
||||
UNION
|
||||
-- Changed legal_duel
|
||||
SELECT NEW.card_id, 'legal_duel', OLD.legal_duel::TEXT, NEW.legal_duel::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_duel IS NOT DISTINCT FROM NEW.legal_duel
|
||||
WHERE OLD.legal_duel IS DISTINCT FROM NEW.legal_duel
|
||||
UNION
|
||||
-- Changed legal_future
|
||||
SELECT NEW.card_id, 'legal_future', OLD.legal_future::TEXT, NEW.legal_future::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_future IS NOT DISTINCT FROM NEW.legal_future
|
||||
WHERE OLD.legal_future IS DISTINCT FROM NEW.legal_future
|
||||
UNION
|
||||
-- Changed legal_gladiator
|
||||
SELECT NEW.card_id, 'legal_gladiator', OLD.legal_gladiator::TEXT, NEW.legal_gladiator::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_gladiator IS NOT DISTINCT FROM NEW.legal_gladiator
|
||||
WHERE OLD.legal_gladiator IS DISTINCT FROM NEW.legal_gladiator
|
||||
UNION
|
||||
-- Changed legal_historic
|
||||
SELECT NEW.card_id, 'legal_historic', OLD.legal_historic::TEXT, NEW.legal_historic::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_historic IS NOT DISTINCT FROM NEW.legal_historic
|
||||
WHERE OLD.legal_historic IS DISTINCT FROM NEW.legal_historic
|
||||
UNION
|
||||
-- Changed legal_legacy
|
||||
SELECT NEW.card_id, 'legal_legacy', OLD.legal_legacy::TEXT, NEW.legal_legacy::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_legacy IS NOT DISTINCT FROM NEW.legal_legacy
|
||||
WHERE OLD.legal_legacy IS DISTINCT FROM NEW.legal_legacy
|
||||
UNION
|
||||
-- Changed legal_modern
|
||||
SELECT NEW.card_id, 'legal_modern', OLD.legal_modern::TEXT, NEW.legal_modern::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_modern IS NOT DISTINCT FROM NEW.legal_modern
|
||||
WHERE OLD.legal_modern IS DISTINCT FROM NEW.legal_modern
|
||||
UNION
|
||||
-- Changed legal_oathbreaker
|
||||
SELECT NEW.card_id, 'legal_oathbreaker', OLD.legal_oathbreaker::TEXT, NEW.legal_oathbreaker::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_oathbreaker IS NOT DISTINCT FROM NEW.legal_oathbreaker
|
||||
WHERE OLD.legal_oathbreaker IS DISTINCT FROM NEW.legal_oathbreaker
|
||||
UNION
|
||||
-- Changed legal_oldschool
|
||||
SELECT NEW.card_id, 'legal_oldschool', OLD.legal_oldschool::TEXT, NEW.legal_oldschool::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_oldschool IS NOT DISTINCT FROM NEW.legal_oldschool
|
||||
WHERE OLD.legal_oldschool IS DISTINCT FROM NEW.legal_oldschool
|
||||
UNION
|
||||
-- Changed legal_pauper
|
||||
SELECT NEW.card_id, 'legal_pauper', OLD.legal_pauper::TEXT, NEW.legal_pauper::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_pauper IS NOT DISTINCT FROM NEW.legal_pauper
|
||||
WHERE OLD.legal_pauper IS DISTINCT FROM NEW.legal_pauper
|
||||
UNION
|
||||
-- Changed legal_paupercommander
|
||||
SELECT NEW.card_id, 'legal_paupercommander', OLD.legal_paupercommander::TEXT, NEW.legal_paupercommander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_paupercommander IS NOT DISTINCT FROM NEW.legal_paupercommander
|
||||
WHERE OLD.legal_paupercommander IS DISTINCT FROM NEW.legal_paupercommander
|
||||
UNION
|
||||
-- Changed legal_penny
|
||||
SELECT NEW.card_id, 'legal_penny', OLD.legal_penny::TEXT, NEW.legal_penny::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_penny IS NOT DISTINCT FROM NEW.legal_penny
|
||||
WHERE OLD.legal_penny IS DISTINCT FROM NEW.legal_penny
|
||||
UNION
|
||||
-- Changed legal_pioneer
|
||||
SELECT NEW.card_id, 'legal_pioneer', OLD.legal_pioneer::TEXT, NEW.legal_pioneer::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_pioneer IS NOT DISTINCT FROM NEW.legal_pioneer
|
||||
WHERE OLD.legal_pioneer IS DISTINCT FROM NEW.legal_pioneer
|
||||
UNION
|
||||
-- Changed legal_predh
|
||||
SELECT NEW.card_id, 'legal_predh', OLD.legal_predh::TEXT, NEW.legal_predh::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_predh IS NOT DISTINCT FROM NEW.legal_predh
|
||||
WHERE OLD.legal_predh IS DISTINCT FROM NEW.legal_predh
|
||||
UNION
|
||||
-- Changed legal_premodern
|
||||
SELECT NEW.card_id, 'legal_premodern', OLD.legal_premodern::TEXT, NEW.legal_premodern::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_premodern IS NOT DISTINCT FROM NEW.legal_premodern
|
||||
WHERE OLD.legal_premodern IS DISTINCT FROM NEW.legal_premodern
|
||||
UNION
|
||||
-- Changed legal_standard
|
||||
SELECT NEW.card_id, 'legal_standard', OLD.legal_standard::TEXT, NEW.legal_standard::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_standard IS NOT DISTINCT FROM NEW.legal_standard
|
||||
WHERE OLD.legal_standard IS DISTINCT FROM NEW.legal_standard
|
||||
UNION
|
||||
-- Changed legal_standardbrawl
|
||||
SELECT NEW.card_id, 'legal_standardbrawl', OLD.legal_standardbrawl::TEXT, NEW.legal_standardbrawl::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_standardbrawl IS NOT DISTINCT FROM NEW.legal_standardbrawl
|
||||
WHERE OLD.legal_standardbrawl IS DISTINCT FROM NEW.legal_standardbrawl
|
||||
UNION
|
||||
-- Changed legal_timeless
|
||||
SELECT NEW.card_id, 'legal_timeless', OLD.legal_timeless::TEXT, NEW.legal_timeless::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_timeless IS NOT DISTINCT FROM NEW.legal_timeless
|
||||
WHERE OLD.legal_timeless IS DISTINCT FROM NEW.legal_timeless
|
||||
UNION
|
||||
-- Changed legal_vintage
|
||||
SELECT NEW.card_id, 'legal_vintage', OLD.legal_vintage::TEXT, NEW.legal_vintage::TEXT, NEW.change_set_id
|
||||
WHERE OLD.legal_vintage IS NOT DISTINCT FROM NEW.legal_vintage
|
||||
WHERE OLD.legal_vintage IS DISTINCT FROM NEW.legal_vintage
|
||||
UNION
|
||||
-- Changed life_modifier
|
||||
SELECT NEW.card_id, 'life_modifier', OLD.life_modifier, NEW.life_modifier, NEW.change_set_id
|
||||
WHERE OLD.life_modifier IS NOT DISTINCT FROM NEW.life_modifier
|
||||
WHERE OLD.life_modifier IS DISTINCT FROM NEW.life_modifier
|
||||
UNION
|
||||
-- Changed loyalty
|
||||
SELECT NEW.card_id, 'loyalty', OLD.loyalty, NEW.loyalty, NEW.change_set_id
|
||||
WHERE OLD.loyalty IS NOT DISTINCT FROM NEW.loyalty
|
||||
WHERE OLD.loyalty IS DISTINCT FROM NEW.loyalty
|
||||
UNION
|
||||
-- Changed mana_cost
|
||||
SELECT NEW.card_id, 'mana_cost', OLD.mana_cost, NEW.mana_cost, NEW.change_set_id
|
||||
WHERE OLD.mana_cost IS NOT DISTINCT FROM NEW.mana_cost
|
||||
WHERE OLD.mana_cost IS DISTINCT FROM NEW.mana_cost
|
||||
UNION
|
||||
-- Changed mtgo_id
|
||||
SELECT NEW.card_id, 'mtgo_id', OLD.mtgo_id::TEXT, NEW.mtgo_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.mtgo_id IS NOT DISTINCT FROM NEW.mtgo_id
|
||||
WHERE OLD.mtgo_id IS DISTINCT FROM NEW.mtgo_id
|
||||
UNION
|
||||
-- Changed multiverse_ids
|
||||
SELECT NEW.card_id, 'multiverse_ids', OLD.multiverse_ids, NEW.multiverse_ids, NEW.change_set_id
|
||||
WHERE OLD.multiverse_ids IS NOT DISTINCT FROM NEW.multiverse_ids
|
||||
WHERE OLD.multiverse_ids IS DISTINCT FROM NEW.multiverse_ids
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.card_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed nonfoil
|
||||
SELECT NEW.card_id, 'nonfoil', OLD.nonfoil::TEXT, NEW.nonfoil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.nonfoil IS NOT DISTINCT FROM NEW.nonfoil
|
||||
WHERE OLD.nonfoil IS DISTINCT FROM NEW.nonfoil
|
||||
UNION
|
||||
-- Changed oracle_id
|
||||
SELECT NEW.card_id, 'oracle_id', OLD.oracle_id::TEXT, NEW.oracle_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.oracle_id IS NOT DISTINCT FROM NEW.oracle_id
|
||||
WHERE OLD.oracle_id IS DISTINCT FROM NEW.oracle_id
|
||||
UNION
|
||||
-- Changed oracle_text
|
||||
SELECT NEW.card_id, 'oracle_text', OLD.oracle_text, NEW.oracle_text, NEW.change_set_id
|
||||
WHERE OLD.oracle_text IS NOT DISTINCT FROM NEW.oracle_text
|
||||
WHERE OLD.oracle_text IS DISTINCT FROM NEW.oracle_text
|
||||
UNION
|
||||
-- Changed oversized
|
||||
SELECT NEW.card_id, 'oversized', OLD.oversized::TEXT, NEW.oversized::TEXT, NEW.change_set_id
|
||||
WHERE OLD.oversized IS NOT DISTINCT FROM NEW.oversized
|
||||
WHERE OLD.oversized IS DISTINCT FROM NEW.oversized
|
||||
UNION
|
||||
-- Changed penny_rank
|
||||
SELECT NEW.card_id, 'penny_rank', OLD.penny_rank::TEXT, NEW.penny_rank::TEXT, NEW.change_set_id
|
||||
WHERE OLD.penny_rank IS NOT DISTINCT FROM NEW.penny_rank
|
||||
WHERE OLD.penny_rank IS DISTINCT FROM NEW.penny_rank
|
||||
UNION
|
||||
-- Changed power
|
||||
SELECT NEW.card_id, 'power', OLD.power, NEW.power, NEW.change_set_id
|
||||
WHERE OLD.power IS NOT DISTINCT FROM NEW.power
|
||||
WHERE OLD.power IS DISTINCT FROM NEW.power
|
||||
UNION
|
||||
-- Changed preview_date
|
||||
SELECT NEW.card_id, 'preview_date', TO_CHAR(OLD.preview_date, 'YYYY-MM-DD'), TO_CHAR(NEW.preview_date, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.preview_date IS NOT DISTINCT FROM NEW.preview_date
|
||||
WHERE OLD.preview_date IS DISTINCT FROM NEW.preview_date
|
||||
UNION
|
||||
-- Changed preview_source
|
||||
SELECT NEW.card_id, 'preview_source', OLD.preview_source, NEW.preview_source, NEW.change_set_id
|
||||
WHERE OLD.preview_source IS NOT DISTINCT FROM NEW.preview_source
|
||||
WHERE OLD.preview_source IS DISTINCT FROM NEW.preview_source
|
||||
UNION
|
||||
-- Changed preview_source_uri
|
||||
SELECT NEW.card_id, 'preview_source_uri', OLD.preview_source_uri, NEW.preview_source_uri, NEW.change_set_id
|
||||
WHERE OLD.preview_source_uri IS NOT DISTINCT FROM NEW.preview_source_uri
|
||||
WHERE OLD.preview_source_uri IS DISTINCT FROM NEW.preview_source_uri
|
||||
UNION
|
||||
-- Changed price_eur
|
||||
SELECT NEW.card_id, 'price_eur', OLD.price_eur::TEXT, NEW.price_eur::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_eur IS NOT DISTINCT FROM NEW.price_eur
|
||||
WHERE OLD.price_eur IS DISTINCT FROM NEW.price_eur
|
||||
UNION
|
||||
-- Changed price_eur_foil
|
||||
SELECT NEW.card_id, 'price_eur_foil', OLD.price_eur_foil::TEXT, NEW.price_eur_foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_eur_foil IS NOT DISTINCT FROM NEW.price_eur_foil
|
||||
WHERE OLD.price_eur_foil IS DISTINCT FROM NEW.price_eur_foil
|
||||
UNION
|
||||
-- Changed price_tix
|
||||
SELECT NEW.card_id, 'price_tix', OLD.price_tix::TEXT, NEW.price_tix::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_tix IS NOT DISTINCT FROM NEW.price_tix
|
||||
WHERE OLD.price_tix IS DISTINCT FROM NEW.price_tix
|
||||
UNION
|
||||
-- Changed price_usd
|
||||
SELECT NEW.card_id, 'price_usd', OLD.price_usd::TEXT, NEW.price_usd::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd IS NOT DISTINCT FROM NEW.price_usd
|
||||
WHERE OLD.price_usd IS DISTINCT FROM NEW.price_usd
|
||||
UNION
|
||||
-- Changed price_usd_etched
|
||||
SELECT NEW.card_id, 'price_usd_etched', OLD.price_usd_etched::TEXT, NEW.price_usd_etched::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd_etched IS NOT DISTINCT FROM NEW.price_usd_etched
|
||||
WHERE OLD.price_usd_etched IS DISTINCT FROM NEW.price_usd_etched
|
||||
UNION
|
||||
-- Changed price_usd_foil
|
||||
SELECT NEW.card_id, 'price_usd_foil', OLD.price_usd_foil::TEXT, NEW.price_usd_foil::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_usd_foil IS NOT DISTINCT FROM NEW.price_usd_foil
|
||||
WHERE OLD.price_usd_foil IS DISTINCT FROM NEW.price_usd_foil
|
||||
UNION
|
||||
-- Changed printed_name
|
||||
SELECT NEW.card_id, 'printed_name', OLD.printed_name, NEW.printed_name, NEW.change_set_id
|
||||
WHERE OLD.printed_name IS NOT DISTINCT FROM NEW.printed_name
|
||||
WHERE OLD.printed_name IS DISTINCT FROM NEW.printed_name
|
||||
UNION
|
||||
-- Changed printed_text
|
||||
SELECT NEW.card_id, 'printed_text', OLD.printed_text, NEW.printed_text, NEW.change_set_id
|
||||
WHERE OLD.printed_text IS NOT DISTINCT FROM NEW.printed_text
|
||||
WHERE OLD.printed_text IS DISTINCT FROM NEW.printed_text
|
||||
UNION
|
||||
-- Changed printed_type_line
|
||||
SELECT NEW.card_id, 'printed_type_line', OLD.printed_type_line, NEW.printed_type_line, NEW.change_set_id
|
||||
WHERE OLD.printed_type_line IS NOT DISTINCT FROM NEW.printed_type_line
|
||||
WHERE OLD.printed_type_line IS DISTINCT FROM NEW.printed_type_line
|
||||
UNION
|
||||
-- Changed prints_search_uri
|
||||
SELECT NEW.card_id, 'printed_search_uri', OLD.printed_search_uri, NEW.printed_search_uri, NEW.change_set_id
|
||||
WHERE OLD.printed_search_uri IS NOT DISTINCT FROM NEW.printed_search_uri
|
||||
WHERE OLD.printed_search_uri IS DISTINCT FROM NEW.printed_search_uri
|
||||
UNION
|
||||
-- Changed produced_mana
|
||||
SELECT NEW.card_id, 'produced_mana', OLD.produced_mana, NEW.produced_mana, NEW.change_set_id
|
||||
WHERE OLD.produced_mana IS NOT DISTINCT FROM NEW.produced_mana
|
||||
WHERE OLD.produced_mana IS DISTINCT FROM NEW.produced_mana
|
||||
UNION
|
||||
-- Changed promo
|
||||
SELECT NEW.card_id, 'promo', OLD.promo::TEXT, NEW.promo::TEXT, NEW.change_set_id
|
||||
WHERE OLD.promo IS NOT DISTINCT FROM NEW.promo
|
||||
WHERE OLD.promo IS DISTINCT FROM NEW.promo
|
||||
UNION
|
||||
-- Changed purchase_cardhoarder
|
||||
SELECT NEW.card_id, 'purchase_cardhoarder', OLD.purchase_cardhoarder, NEW.purchase_cardhoarder, NEW.change_set_id
|
||||
WHERE OLD.purchase_cardhoarder IS NOT DISTINCT FROM NEW.purchase_cardhoarder
|
||||
WHERE OLD.purchase_cardhoarder IS DISTINCT FROM NEW.purchase_cardhoarder
|
||||
UNION
|
||||
-- Changed purchase_cardmarket
|
||||
SELECT NEW.card_id, 'purchase_cardmarket', OLD.purchase_cardmarket, NEW.purchase_cardmarket, NEW.change_set_id
|
||||
WHERE OLD.purchase_cardmarket IS NOT DISTINCT FROM NEW.purchase_cardmarket
|
||||
WHERE OLD.purchase_cardmarket IS DISTINCT FROM NEW.purchase_cardmarket
|
||||
UNION
|
||||
-- Changed purchase_tcgplayer
|
||||
SELECT NEW.card_id, 'purchase_tcgplayer', OLD.purchase_tcgplayer, NEW.purchase_tcgplayer, NEW.change_set_id
|
||||
WHERE OLD.purchase_tcgplayer IS NOT DISTINCT FROM NEW.purchase_tcgplayer
|
||||
WHERE OLD.purchase_tcgplayer IS DISTINCT FROM NEW.purchase_tcgplayer
|
||||
UNION
|
||||
-- Changed rarity
|
||||
SELECT NEW.card_id, 'rarity', OLD.rarity, NEW.rarity, NEW.change_set_id
|
||||
WHERE OLD.rarity IS NOT DISTINCT FROM NEW.rarity
|
||||
WHERE OLD.rarity IS DISTINCT FROM NEW.rarity
|
||||
UNION
|
||||
-- Changed released_at
|
||||
SELECT NEW.card_id, 'released_at', TO_CHAR(OLD.released_at, 'YYYY-MM-DD'), TO_CHAR(NEW.released_at, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.released_at IS NOT DISTINCT FROM NEW.released_at
|
||||
WHERE OLD.released_at IS DISTINCT FROM NEW.released_at
|
||||
UNION
|
||||
-- Changed reprint
|
||||
SELECT NEW.card_id, 'reprint', OLD.reprint::TEXT, NEW.reprint::TEXT, NEW.change_set_id
|
||||
WHERE OLD.reprint IS NOT DISTINCT FROM NEW.reprint
|
||||
WHERE OLD.reprint IS DISTINCT FROM NEW.reprint
|
||||
UNION
|
||||
-- Changed reserved
|
||||
SELECT NEW.card_id, 'reserved', OLD.reserved::TEXT, NEW.reserved::TEXT, NEW.change_set_id
|
||||
WHERE OLD.reserved IS NOT DISTINCT FROM NEW.reserved
|
||||
WHERE OLD.reserved IS DISTINCT FROM NEW.reserved
|
||||
UNION
|
||||
-- Changed rulings_uri
|
||||
SELECT NEW.card_id, 'rulings_uri', OLD.rulings_uri, NEW.rulings_uri, NEW.change_set_id
|
||||
WHERE OLD.rulings_uri IS NOT DISTINCT FROM NEW.rulings_uri
|
||||
WHERE OLD.rulings_uri IS DISTINCT FROM NEW.rulings_uri
|
||||
UNION
|
||||
-- Changed scryfall_set_uri
|
||||
SELECT NEW.card_id, 'scryfall_set_uri', OLD.scryfall_set_uri, NEW.scryfall_set_uri, NEW.change_set_id
|
||||
WHERE OLD.scryfall_set_uri IS NOT DISTINCT FROM NEW.scryfall_set_uri
|
||||
WHERE OLD.scryfall_set_uri IS DISTINCT FROM NEW.scryfall_set_uri
|
||||
UNION
|
||||
-- Changed scryfall_uri
|
||||
SELECT NEW.card_id, 'scryfall_uri', OLD.scryfall_uri, NEW.scryfall_uri, NEW.change_set_id
|
||||
WHERE OLD.scryfall_uri IS NOT DISTINCT FROM NEW.scryfall_uri
|
||||
WHERE OLD.scryfall_uri IS DISTINCT FROM NEW.scryfall_uri
|
||||
UNION
|
||||
-- Changed security_stamp
|
||||
SELECT NEW.card_id, 'security_stamp', OLD.security_stamp, NEW.security_stamp, NEW.change_set_id
|
||||
WHERE OLD.security_stamp IS NOT DISTINCT FROM NEW.security_stamp
|
||||
WHERE OLD.security_stamp IS DISTINCT FROM NEW.security_stamp
|
||||
UNION
|
||||
-- Changed set
|
||||
SELECT NEW.card_id, 'set', OLD.set, NEW.set, NEW.change_set_id
|
||||
WHERE OLD.set IS NOT DISTINCT FROM NEW.set
|
||||
WHERE OLD.set IS DISTINCT FROM NEW.set
|
||||
UNION
|
||||
-- Changed set_id
|
||||
SELECT NEW.card_id, 'set_id', OLD.set_id::TEXT, NEW.set_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.set_id IS NOT DISTINCT FROM NEW.set_id
|
||||
WHERE OLD.set_id IS DISTINCT FROM NEW.set_id
|
||||
UNION
|
||||
-- Changed set_name
|
||||
SELECT NEW.card_id, 'set_name', OLD.set_name, NEW.set_name, NEW.change_set_id
|
||||
WHERE OLD.set_name IS NOT DISTINCT FROM NEW.set_name
|
||||
WHERE OLD.set_name IS DISTINCT FROM NEW.set_name
|
||||
UNION
|
||||
-- Changed set_search_uri
|
||||
SELECT NEW.card_id, 'set_search_uri', OLD.set_search_uri, NEW.set_search_uri, NEW.change_set_id
|
||||
WHERE OLD.set_search_uri IS NOT DISTINCT FROM NEW.set_search_uri
|
||||
WHERE OLD.set_search_uri IS DISTINCT FROM NEW.set_search_uri
|
||||
UNION
|
||||
-- Changed set_type
|
||||
SELECT NEW.card_id, 'set_type', OLD.set_type, NEW.set_type, NEW.change_set_id
|
||||
WHERE OLD.set_type IS NOT DISTINCT FROM NEW.set_type
|
||||
WHERE OLD.set_type IS DISTINCT FROM NEW.set_type
|
||||
UNION
|
||||
-- Changed set_uri
|
||||
SELECT NEW.card_id, 'set_uri', OLD.set_uri, NEW.set_uri, NEW.change_set_id
|
||||
WHERE OLD.set_uri IS NOT DISTINCT FROM NEW.set_uri
|
||||
WHERE OLD.set_uri IS DISTINCT FROM NEW.set_uri
|
||||
UNION
|
||||
-- Changed story_spotlight
|
||||
SELECT NEW.card_id, 'story_spotlight', OLD.story_spotlight::TEXT, NEW.story_spotlight::TEXT, NEW.change_set_id
|
||||
WHERE OLD.story_spotlight IS NOT DISTINCT FROM NEW.story_spotlight
|
||||
WHERE OLD.story_spotlight IS DISTINCT FROM NEW.story_spotlight
|
||||
UNION
|
||||
-- Changed tcgplayer_id
|
||||
SELECT NEW.card_id, 'tcgplayer_id', OLD.tcgplayer_id::TEXT, NEW.tcgplayer_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.tcgplayer_id IS NOT DISTINCT FROM NEW.tcgplayer_id
|
||||
WHERE OLD.tcgplayer_id IS DISTINCT FROM NEW.tcgplayer_id
|
||||
UNION
|
||||
-- Changed textless
|
||||
SELECT NEW.card_id, 'textless', OLD.textless::TEXT, NEW.textless::TEXT, NEW.change_set_id
|
||||
WHERE OLD.textless IS NOT DISTINCT FROM NEW.textless
|
||||
WHERE OLD.textless IS DISTINCT FROM NEW.textless
|
||||
UNION
|
||||
-- Changed toughness
|
||||
SELECT NEW.card_id, 'toughness', OLD.toughness, NEW.toughness, NEW.change_set_id
|
||||
WHERE OLD.toughness IS NOT DISTINCT FROM NEW.toughness
|
||||
WHERE OLD.toughness IS DISTINCT FROM NEW.toughness
|
||||
UNION
|
||||
-- Changed type_line
|
||||
SELECT NEW.card_id, 'type_line', OLD.type_line, NEW.type_line, NEW.change_set_id
|
||||
WHERE OLD.type_line IS NOT DISTINCT FROM NEW.type_line
|
||||
WHERE OLD.type_line IS DISTINCT FROM NEW.type_line
|
||||
UNION
|
||||
-- Changed uri
|
||||
SELECT NEW.card_id, 'uri', OLD.uri, NEW.uri, NEW.change_set_id
|
||||
WHERE OLD.uri IS NOT DISTINCT FROM NEW.uri
|
||||
WHERE OLD.uri IS DISTINCT FROM NEW.uri
|
||||
UNION
|
||||
-- Changed uri_edhrec
|
||||
SELECT NEW.card_id, 'uri_edhrec', OLD.uri_edhrec, NEW.uri_edhrec, NEW.change_set_id
|
||||
WHERE OLD.uri_edhrec IS NOT DISTINCT FROM NEW.uri_edhrec
|
||||
WHERE OLD.uri_edhrec IS DISTINCT FROM NEW.uri_edhrec
|
||||
UNION
|
||||
-- Changed uri_gatherer
|
||||
SELECT NEW.card_id, 'uri_gatherer', OLD.uri_gatherer, NEW.uri_gatherer, NEW.change_set_id
|
||||
WHERE OLD.uri_gatherer IS NOT DISTINCT FROM NEW.uri_gatherer
|
||||
WHERE OLD.uri_gatherer IS DISTINCT FROM NEW.uri_gatherer
|
||||
UNION
|
||||
-- Changed uri_tcgplayer_infinite_articles
|
||||
SELECT NEW.card_id, 'uri_tcgplayer_infinite_articles', OLD.uri_tcgplayer_infinite_articles, NEW.uri_tcgplayer_infinite_articles, NEW.change_set_id
|
||||
WHERE OLD.uri_tcgplayer_infinite_articles IS NOT DISTINCT FROM NEW.uri_tcgplayer_infinite_articles
|
||||
WHERE OLD.uri_tcgplayer_infinite_articles IS DISTINCT FROM NEW.uri_tcgplayer_infinite_articles
|
||||
UNION
|
||||
-- Changed uri_tcgplayer_infinite_decks
|
||||
SELECT NEW.card_id, 'uri_tcgplayer_infinite_decks', OLD.uri_tcgplayer_infinite_decks, NEW.uri_tcgplayer_infinite_decks, NEW.change_set_id
|
||||
WHERE OLD.uri_tcgplayer_infinite_decks IS NOT DISTINCT FROM NEW.uri_tcgplayer_infinite_decks
|
||||
WHERE OLD.uri_tcgplayer_infinite_decks IS DISTINCT FROM NEW.uri_tcgplayer_infinite_decks
|
||||
UNION
|
||||
-- Changed variation
|
||||
SELECT NEW.card_id, 'variation', OLD.variation::TEXT, NEW.variation::TEXT, NEW.change_set_id
|
||||
WHERE OLD.variation IS NOT DISTINCT FROM NEW.variation
|
||||
WHERE OLD.variation IS DISTINCT FROM NEW.variation
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.card_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,135 +48,135 @@ BEGIN
|
||||
)
|
||||
-- Changed card_id
|
||||
SELECT NEW.inventory_id, 'card_id', OLD.card_id::TEXT, NEW.card_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.card_id IS NOT DISTINCT FROM NEW.card_id
|
||||
WHERE OLD.card_id IS DISTINCT FROM NEW.card_id
|
||||
UNION
|
||||
-- Changed finish_id
|
||||
SELECT NEW.inventory_id, 'finish_id', OLD.finish_id::TEXT, NEW.finish_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.finish_id IS NOT DISTINCT FROM NEW.finish_id
|
||||
WHERE OLD.finish_id IS DISTINCT FROM NEW.finish_id
|
||||
UNION
|
||||
-- Changed condition_id
|
||||
SELECT NEW.inventory_id, 'condition_id', OLD.condition_id::TEXT, NEW.condition_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.condition_id IS NOT DISTINCT FROM NEW.condition_id
|
||||
WHERE OLD.condition_id IS DISTINCT FROM NEW.condition_id
|
||||
UNION
|
||||
-- Changed sleeve_colour_name
|
||||
SELECT NEW.inventory_id, 'sleeve_colour_name', OLD.sleeve_colour_name, NEW.sleeve_colour_name, NEW.change_set_id
|
||||
WHERE OLD.sleeve_colour_name IS NOT DISTINCT FROM NEW.sleeve_colour_name
|
||||
WHERE OLD.sleeve_colour_name IS DISTINCT FROM NEW.sleeve_colour_name
|
||||
UNION
|
||||
-- Changed location_name
|
||||
SELECT NEW.inventory_id, 'location_name', OLD.location_name, NEW.location_name, NEW.change_set_id
|
||||
WHERE OLD.location_name IS NOT DISTINCT FROM NEW.location_name
|
||||
WHERE OLD.location_name IS DISTINCT FROM NEW.location_name
|
||||
UNION
|
||||
-- Changed acquired_from
|
||||
SELECT NEW.inventory_id, 'acquired_from', OLD.acquired_from, NEW.acquired_from, NEW.change_set_id
|
||||
WHERE OLD.acquired_from IS NOT DISTINCT FROM NEW.acquired_from
|
||||
WHERE OLD.acquired_from IS DISTINCT FROM NEW.acquired_from
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed cost_gbp
|
||||
SELECT NEW.inventory_id, 'cost_gbp', OLD.cost_gbp::TEXT, NEW.cost_gbp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.cost_gbp IS NOT DISTINCT FROM NEW.cost_gbp
|
||||
WHERE OLD.cost_gbp IS DISTINCT FROM NEW.cost_gbp
|
||||
UNION
|
||||
-- Changed sale_price_gbp
|
||||
SELECT NEW.inventory_id, 'sale_price_gbp', OLD.sale_price_gbp::TEXT, NEW.sale_price_gbp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.sale_price_gbp IS NOT DISTINCT FROM NEW.sale_price_gbp
|
||||
WHERE OLD.sale_price_gbp IS DISTINCT FROM NEW.sale_price_gbp
|
||||
UNION
|
||||
-- Changed is_sold
|
||||
SELECT NEW.inventory_id, 'is_sold', OLD.is_sold::TEXT, NEW.is_sold::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_sold IS NOT DISTINCT FROM NEW.is_sold
|
||||
WHERE OLD.is_sold IS DISTINCT FROM NEW.is_sold
|
||||
UNION
|
||||
-- Changed is_destroyed
|
||||
SELECT NEW.inventory_id, 'is_destroyed', OLD.is_destroyed::TEXT, NEW.is_destroyed::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_destroyed IS NOT DISTINCT FROM NEW.is_destroyed
|
||||
WHERE OLD.is_destroyed IS DISTINCT FROM NEW.is_destroyed
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.inventory_id, 'notes', OLD.notes, NEW.notes, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed alterations_customisations
|
||||
SELECT NEW.inventory_id, 'alterations_customisations', OLD.alterations_customisations, NEW.alterations_customisations, NEW.change_set_id
|
||||
WHERE OLD.alterations_customisations IS NOT DISTINCT FROM NEW.alterations_customisations
|
||||
WHERE OLD.alterations_customisations IS DISTINCT FROM NEW.alterations_customisations
|
||||
UNION
|
||||
-- Changed grading_company_name
|
||||
SELECT NEW.inventory_id, 'grading_company_name', OLD.grading_company_name, NEW.grading_company_name, NEW.change_set_id
|
||||
WHERE OLD.grading_company_name IS NOT DISTINCT FROM NEW.grading_company_name
|
||||
WHERE OLD.grading_company_name IS DISTINCT FROM NEW.grading_company_name
|
||||
UNION
|
||||
-- Changed grading_score
|
||||
SELECT NEW.inventory_id, 'grading_score', OLD.grading_score, NEW.grading_score, NEW.change_set_id
|
||||
WHERE OLD.grading_score IS NOT DISTINCT FROM NEW.grading_score
|
||||
WHERE OLD.grading_score IS DISTINCT FROM NEW.grading_score
|
||||
UNION
|
||||
-- Changed subgrades
|
||||
SELECT NEW.inventory_id, 'subgrades', OLD.subgrades, NEW.subgrades, NEW.change_set_id
|
||||
WHERE OLD.subgrades IS NOT DISTINCT FROM NEW.subgrades
|
||||
WHERE OLD.subgrades IS DISTINCT FROM NEW.subgrades
|
||||
UNION
|
||||
-- Changed misprint_errors
|
||||
SELECT NEW.inventory_id, 'misprint_errors', OLD.misprint_errors, NEW.misprint_errors, NEW.change_set_id
|
||||
WHERE OLD.misprint_errors IS NOT DISTINCT FROM NEW.misprint_errors
|
||||
WHERE OLD.misprint_errors IS DISTINCT FROM NEW.misprint_errors
|
||||
UNION
|
||||
-- Changed miscut_errors
|
||||
SELECT NEW.inventory_id, 'miscut_errors', OLD.miscut_errors, NEW.miscut_errors, NEW.change_set_id
|
||||
WHERE OLD.miscut_errors IS NOT DISTINCT FROM NEW.miscut_errors
|
||||
WHERE OLD.miscut_errors IS DISTINCT FROM NEW.miscut_errors
|
||||
UNION
|
||||
-- Changed playability
|
||||
SELECT NEW.inventory_id, 'playability', OLD.playability, NEW.playability, NEW.change_set_id
|
||||
WHERE OLD.playability IS NOT DISTINCT FROM NEW.playability
|
||||
WHERE OLD.playability IS DISTINCT FROM NEW.playability
|
||||
UNION
|
||||
-- Changed owner_user_id
|
||||
SELECT NEW.inventory_id, 'owner_user_id', OLD.owner_user_id::TEXT, NEW.owner_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.owner_user_id IS NOT DISTINCT FROM NEW.owner_user_id
|
||||
WHERE OLD.owner_user_id IS DISTINCT FROM NEW.owner_user_id
|
||||
UNION
|
||||
-- Changed ownership_status_name
|
||||
SELECT NEW.inventory_id, 'ownership_status_name', OLD.ownership_status_name, NEW.ownership_status_name, NEW.change_set_id
|
||||
WHERE OLD.ownership_status_name IS NOT DISTINCT FROM NEW.ownership_status_name
|
||||
WHERE OLD.ownership_status_name IS DISTINCT FROM NEW.ownership_status_name
|
||||
UNION
|
||||
-- Changed trading_status_name
|
||||
SELECT NEW.inventory_id, 'trading_status_name', OLD.trading_status_name, NEW.trading_status_name, NEW.change_set_id
|
||||
WHERE OLD.trading_status_name IS NOT DISTINCT FROM NEW.trading_status_name
|
||||
WHERE OLD.trading_status_name IS DISTINCT FROM NEW.trading_status_name
|
||||
UNION
|
||||
-- Changed loaned_to_user_id
|
||||
SELECT NEW.inventory_id, 'loaned_to_user_id', OLD.loaned_to_user_id::TEXT, NEW.loaned_to_user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.loaned_to_user_id IS NOT DISTINCT FROM NEW.loaned_to_user_id
|
||||
WHERE OLD.loaned_to_user_id IS DISTINCT FROM NEW.loaned_to_user_id
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed acquired_on
|
||||
SELECT NEW.inventory_id, 'acquired_on', TO_CHAR(OLD.acquired_on, 'YYYY-MM-DD'), TO_CHAR(NEW.acquired_on, 'YYYY-MM-DD'), NEW.change_set_id
|
||||
WHERE OLD.acquired_on IS NOT DISTINCT FROM NEW.acquired_on
|
||||
WHERE OLD.acquired_on IS DISTINCT FROM NEW.acquired_on
|
||||
UNION
|
||||
-- Changed provenance
|
||||
SELECT NEW.inventory_id, 'provenance', OLD.provenance, NEW.provenance, NEW.change_set_id
|
||||
WHERE OLD.provenance IS NOT DISTINCT FROM NEW.provenance
|
||||
WHERE OLD.provenance IS DISTINCT FROM NEW.provenance
|
||||
UNION
|
||||
-- Changed signed_by_names
|
||||
SELECT NEW.inventory_id, 'signed_by_names', OLD.signed_by_names, NEW.signed_by_names, NEW.change_set_id
|
||||
WHERE OLD.signed_by_names IS NOT DISTINCT FROM NEW.signed_by_names
|
||||
WHERE OLD.signed_by_names IS DISTINCT FROM NEW.signed_by_names
|
||||
UNION
|
||||
-- Changed signature_condition_name
|
||||
SELECT NEW.inventory_id, 'signature_condition_name', OLD.signature_condition_name, NEW.signature_condition_name, NEW.change_set_id
|
||||
WHERE OLD.signature_condition_name IS NOT DISTINCT FROM NEW.signature_condition_name
|
||||
WHERE OLD.signature_condition_name IS DISTINCT FROM NEW.signature_condition_name
|
||||
UNION
|
||||
-- Changed token_rear_side_card_id
|
||||
SELECT NEW.inventory_id, 'token_rear_side_card_id', OLD.token_rear_side_card_id::TEXT, NEW.token_rear_side_card_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.token_rear_side_card_id IS NOT DISTINCT FROM NEW.token_rear_side_card_id
|
||||
WHERE OLD.token_rear_side_card_id IS DISTINCT FROM NEW.token_rear_side_card_id
|
||||
UNION
|
||||
-- Changed front_name
|
||||
SELECT NEW.inventory_id, 'front_name', OLD.front_name, NEW.front_name, NEW.change_set_id
|
||||
WHERE OLD.front_name IS NOT DISTINCT FROM NEW.front_name
|
||||
WHERE OLD.front_name IS DISTINCT FROM NEW.front_name
|
||||
UNION
|
||||
-- Changed rear_name
|
||||
SELECT NEW.inventory_id, 'rear_name', OLD.rear_name, NEW.rear_name, NEW.change_set_id
|
||||
WHERE OLD.rear_name IS NOT DISTINCT FROM NEW.rear_name
|
||||
WHERE OLD.rear_name IS DISTINCT FROM NEW.rear_name
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.inventory_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.inventory_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.commander_bracket_id, 'name', OLD.name::TEXT, NEW.name::TEXT, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.commander_bracket_id, 'description', OLD.description::TEXT, NEW.description::TEXT, NEW.change_set_id
|
||||
WHERE OLD.description IS NOT DISTINCT FROM NEW.description
|
||||
WHERE OLD.description IS DISTINCT FROM NEW.description
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.commander_bracket_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.commander_bracket_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.deck_id, 'name', OLD.name::TEXT, NEW.name::TEXT, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed is_commander
|
||||
SELECT NEW.deck_id, 'is_commander', OLD.is_commander::TEXT, NEW.is_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_commander IS NOT DISTINCT FROM NEW.is_commander
|
||||
WHERE OLD.is_commander IS DISTINCT FROM NEW.is_commander
|
||||
UNION
|
||||
-- Changed commander_bracket_id
|
||||
SELECT NEW.deck_id, 'commander_bracket_id', OLD.commander_bracket_id::TEXT, NEW.commander_bracket_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.commander_bracket_id IS NOT DISTINCT FROM NEW.commander_bracket_id
|
||||
WHERE OLD.commander_bracket_id IS DISTINCT FROM NEW.commander_bracket_id
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.deck_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed deck_id
|
||||
SELECT NEW.link_id, 'deck_id', OLD.deck_id::TEXT, NEW.deck_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.deck_id IS NOT DISTINCT FROM NEW.deck_id
|
||||
WHERE OLD.deck_id IS DISTINCT FROM NEW.deck_id
|
||||
UNION
|
||||
-- Changed inventory_id
|
||||
SELECT NEW.link_id, 'inventory_id', OLD.inventory_id::TEXT, NEW.inventory_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.inventory_id IS NOT DISTINCT FROM NEW.inventory_id
|
||||
WHERE OLD.inventory_id IS DISTINCT FROM NEW.inventory_id
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.link_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.link_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,39 +48,39 @@ BEGIN
|
||||
)
|
||||
-- Changed notes
|
||||
SELECT NEW.game_id, 'notes', OLD.notes::TEXT, NEW.notes::TEXT, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed is_commander
|
||||
SELECT NEW.game_id, 'is_commander', OLD.is_commander::TEXT, NEW.is_commander::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_commander IS NOT DISTINCT FROM NEW.is_commander
|
||||
WHERE OLD.is_commander IS DISTINCT FROM NEW.is_commander
|
||||
UNION
|
||||
-- Changed is_draft
|
||||
SELECT NEW.game_id, 'is_draft', OLD.is_draft::TEXT, NEW.is_draft::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_draft IS NOT DISTINCT FROM NEW.is_draft
|
||||
WHERE OLD.is_draft IS DISTINCT FROM NEW.is_draft
|
||||
UNION
|
||||
-- Changed is_sealed
|
||||
SELECT NEW.game_id, 'is_sealed', OLD.is_sealed::TEXT, NEW.is_sealed::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_sealed IS NOT DISTINCT FROM NEW.is_sealed
|
||||
WHERE OLD.is_sealed IS DISTINCT FROM NEW.is_sealed
|
||||
UNION
|
||||
-- Changed location_name
|
||||
SELECT NEW.game_id, 'location_name', OLD.location_name, NEW.location_name, NEW.change_set_id
|
||||
WHERE OLD.location_name IS NOT DISTINCT FROM NEW.location_name
|
||||
WHERE OLD.location_name IS DISTINCT FROM NEW.location_name
|
||||
UNION
|
||||
-- Changed start_on
|
||||
SELECT NEW.game_id, 'start_on', OLD.start_on::TEXT, NEW.start_on::TEXT, NEW.change_set_id
|
||||
WHERE OLD.start_on IS NOT DISTINCT FROM NEW.start_on
|
||||
WHERE OLD.start_on IS DISTINCT FROM NEW.start_on
|
||||
UNION
|
||||
-- Changed end_on
|
||||
SELECT NEW.game_id, 'end_on', OLD.end_on::TEXT, NEW.end_on::TEXT, NEW.change_set_id
|
||||
WHERE OLD.end_on IS NOT DISTINCT FROM NEW.end_on
|
||||
WHERE OLD.end_on IS DISTINCT FROM NEW.end_on
|
||||
UNION
|
||||
-- Changed starting_life
|
||||
SELECT NEW.game_id, 'starting_life', OLD.starting_life::TEXT, NEW.starting_life::TEXT, NEW.change_set_id
|
||||
WHERE OLD.starting_life IS NOT DISTINCT FROM NEW.starting_life
|
||||
WHERE OLD.starting_life IS DISTINCT FROM NEW.starting_life
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.game_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,31 +48,31 @@ BEGIN
|
||||
)
|
||||
-- Changed game_id
|
||||
SELECT NEW.player_id, 'game_id', OLD.game_id::TEXT, NEW.game_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_id IS NOT DISTINCT FROM NEW.game_id
|
||||
WHERE OLD.game_id IS DISTINCT FROM NEW.game_id
|
||||
UNION
|
||||
-- Changed user_id
|
||||
SELECT NEW.player_id, 'user_id', OLD.user_id::TEXT, NEW.user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.user_id IS NOT DISTINCT FROM NEW.user_id
|
||||
WHERE OLD.user_id IS DISTINCT FROM NEW.user_id
|
||||
UNION
|
||||
-- Changed deck_id
|
||||
SELECT NEW.player_id, 'deck_id', OLD.deck_id::TEXT, NEW.deck_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.deck_id IS NOT DISTINCT FROM NEW.deck_id
|
||||
WHERE OLD.deck_id IS DISTINCT FROM NEW.deck_id
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.player_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.player_id, 'notes', OLD.notes, NEW.notes, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.player_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.player_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,19 +48,19 @@ BEGIN
|
||||
)
|
||||
-- Changed game_id
|
||||
SELECT NEW.round_id, 'game_id', OLD.game_id::TEXT, NEW.game_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.game_id IS NOT DISTINCT FROM NEW.game_id
|
||||
WHERE OLD.game_id IS DISTINCT FROM NEW.game_id
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.round_id, 'notes', OLD.notes::TEXT, NEW.notes::TEXT, NEW.change_set_id
|
||||
WHERE OLD.notes IS NOT DISTINCT FROM NEW.notes
|
||||
WHERE OLD.notes IS DISTINCT FROM NEW.notes
|
||||
UNION
|
||||
-- Changed display_order
|
||||
SELECT NEW.round_id, 'display_order', OLD.display_order::TEXT, NEW.display_order::TEXT, NEW.change_set_id
|
||||
WHERE OLD.display_order IS NOT DISTINCT FROM NEW.display_order
|
||||
WHERE OLD.display_order IS DISTINCT FROM NEW.display_order
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.round_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed round_id
|
||||
SELECT NEW.damage_id, 'round_id', OLD.round_id::TEXT, NEW.round_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.round_id IS NOT DISTINCT FROM NEW.round_id
|
||||
WHERE OLD.round_id IS DISTINCT FROM NEW.round_id
|
||||
UNION
|
||||
-- Changed player_id
|
||||
SELECT NEW.damage_id, 'player_id', OLD.player_id::TEXT, NEW.player_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.player_id IS NOT DISTINCT FROM NEW.player_id
|
||||
WHERE OLD.player_id IS DISTINCT FROM NEW.player_id
|
||||
UNION
|
||||
-- Changed received_from_commander_player_id
|
||||
SELECT NEW.damage_id, 'received_from_commander_player_id', OLD.received_from_commander_player_id::TEXT, NEW.received_from_commander_player_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.received_from_commander_player_id IS NOT DISTINCT FROM NEW.received_from_commander_player_id
|
||||
WHERE OLD.received_from_commander_player_id IS DISTINCT FROM NEW.received_from_commander_player_id
|
||||
UNION
|
||||
-- Changed life_gain
|
||||
SELECT NEW.damage_id, 'life_gain', OLD.life_gain::TEXT, NEW.life_gain::TEXT, NEW.change_set_id
|
||||
WHERE OLD.life_gain IS NOT DISTINCT FROM NEW.life_gain
|
||||
WHERE OLD.life_gain IS DISTINCT FROM NEW.life_gain
|
||||
UNION
|
||||
-- Changed life_loss
|
||||
SELECT NEW.damage_id, 'life_loss', OLD.life_loss::TEXT, NEW.life_loss::TEXT, NEW.change_set_id
|
||||
WHERE OLD.life_loss IS NOT DISTINCT FROM NEW.life_loss
|
||||
WHERE OLD.life_loss IS DISTINCT FROM NEW.life_loss
|
||||
UNION
|
||||
-- Changed commander_deaths
|
||||
SELECT NEW.damage_id, 'commander_deaths', OLD.commander_deaths::TEXT, NEW.commander_deaths::TEXT, NEW.change_set_id
|
||||
WHERE OLD.commander_deaths IS NOT DISTINCT FROM NEW.commander_deaths
|
||||
WHERE OLD.commander_deaths IS DISTINCT FROM NEW.commander_deaths
|
||||
UNION
|
||||
-- Changed is_eliminated
|
||||
SELECT NEW.damage_id, 'is_eliminated', OLD.is_eliminated::TEXT, NEW.is_eliminated::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_eliminated IS NOT DISTINCT FROM NEW.is_eliminated
|
||||
WHERE OLD.is_eliminated IS DISTINCT FROM NEW.is_eliminated
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.damage_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,15 +48,15 @@ BEGIN
|
||||
)
|
||||
-- Changed user_id
|
||||
SELECT NEW.member_id, 'user_id', OLD.user_id::TEXT, NEW.user_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.user_id IS NOT DISTINCT FROM NEW.user_id
|
||||
WHERE OLD.user_id IS DISTINCT FROM NEW.user_id
|
||||
UNION
|
||||
-- Changed is_permitted
|
||||
SELECT NEW.member_id, 'is_permitted', OLD.is_permitted::TEXT, NEW.is_permitted::TEXT, NEW.change_set_id
|
||||
WHERE OLD.is_permitted IS NOT DISTINCT FROM NEW.is_permitted
|
||||
WHERE OLD.is_permitted IS DISTINCT FROM NEW.is_permitted
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.member_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -48,35 +48,35 @@ BEGIN
|
||||
)
|
||||
-- Changed entity_type_code
|
||||
SELECT NEW.statistic_id, 'entity_type_code', OLD.entity_type_code, NEW.entity_type_code, NEW.change_set_id
|
||||
WHERE OLD.entity_type_code IS NOT DISTINCT FROM NEW.entity_type_code
|
||||
WHERE OLD.entity_type_code IS DISTINCT FROM NEW.entity_type_code
|
||||
UNION
|
||||
-- Changed entity_record_id
|
||||
SELECT NEW.statistic_id, 'entity_record_id', OLD.entity_record_id::TEXT, NEW.entity_record_id::TEXT, NEW.change_set_id
|
||||
WHERE OLD.entity_record_id IS NOT DISTINCT FROM NEW.entity_record_id
|
||||
WHERE OLD.entity_record_id IS DISTINCT FROM NEW.entity_record_id
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.statistic_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed value_bool
|
||||
SELECT NEW.statistic_id, 'value_bool', OLD.value_bool::TEXT, NEW.value_bool::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_bool IS NOT DISTINCT FROM NEW.value_bool
|
||||
WHERE OLD.value_bool IS DISTINCT FROM NEW.value_bool
|
||||
UNION
|
||||
-- Changed value_float
|
||||
SELECT NEW.statistic_id, 'value_float', OLD.value_float::TEXT, NEW.value_float::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_float IS NOT DISTINCT FROM NEW.value_float
|
||||
WHERE OLD.value_float IS DISTINCT FROM NEW.value_float
|
||||
UNION
|
||||
-- Changed value_text
|
||||
SELECT NEW.statistic_id, 'value_text', OLD.value_text, NEW.value_text, NEW.change_set_id
|
||||
WHERE OLD.value_text IS NOT DISTINCT FROM NEW.value_text
|
||||
WHERE OLD.value_text IS DISTINCT FROM NEW.value_text
|
||||
UNION
|
||||
-- Changed value_timestamp
|
||||
SELECT NEW.statistic_id, 'value_timestamp', OLD.value_timestamp::TEXT, NEW.value_timestamp::TEXT, NEW.change_set_id
|
||||
WHERE OLD.value_timestamp IS NOT DISTINCT FROM NEW.value_timestamp
|
||||
WHERE OLD.value_timestamp IS DISTINCT FROM NEW.value_timestamp
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.statistic_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_User_Get_Many (
|
||||
a_get_all_user BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
@@ -24,20 +25,30 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, TCG_USER.user_auth0_id
|
||||
, TCG_USER.firstname
|
||||
@@ -86,7 +97,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_User_Get_Many (
|
||||
a_get_all_user := TRUE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_User_Relationship_Get_Many (
|
||||
a_get_inactive_user_relationship BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_inactive_user_relationship BOOLEAN
|
||||
, a_get_all_user_follower BOOLEAN
|
||||
, a_user_follower_ids TEXT
|
||||
, a_get_all_user_following BOOLEAN
|
||||
@@ -25,6 +26,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_inactive_user_relationship BOOLEAN;
|
||||
v_get_all_user_follower BOOLEAN;
|
||||
v_user_follower_ids TEXT;
|
||||
@@ -34,6 +37,7 @@ DECLARE
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_inactive_user_relationship := COALESCE(a_get_inactive_user_relationship, FALSE);
|
||||
v_get_all_user_follower := COALESCE(a_get_all_user_follower, FALSE);
|
||||
v_user_follower_ids := TRIM(COALESCE(a_user_follower_ids, ''));
|
||||
@@ -43,8 +47,31 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Relationship AS (
|
||||
SELECT DISTINCT
|
||||
RELATIONSHIP.relationship_id
|
||||
FROM tcg.public.TCG_User_Relationship RELATIONSHIP
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR RELATIONSHIP.follower_user_id = v_access_user_id
|
||||
OR RELATIONSHIP.following_user_id = v_access_user_id
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user_relationship
|
||||
OR RELATIONSHIP.active
|
||||
)
|
||||
|
||||
)
|
||||
SELECT DISTINCT
|
||||
RELATIONSHIP.relationship_id
|
||||
, RELATIONSHIP.follower_user_id
|
||||
, RELATIONSHIP.following_user_id
|
||||
@@ -57,6 +84,7 @@ BEGIN
|
||||
, RELATIONSHIP.updated_last_by_user_id
|
||||
, RELATIONSHIP.change_set_id
|
||||
FROM tcg.public.TCG_User_Relationship RELATIONSHIP
|
||||
INNER JOIN Access_Relationship ACCESS_RELATIONSHIP ON RELATIONSHIP.relationship_id = ACCESS_RELATIONSHIP.relationship_id
|
||||
INNER JOIN tcg.public.TCG_User USER_FOLLOWER ON RELATIONSHIP.follower_user_id = USER_FOLLOWER.user_id
|
||||
INNER JOIN tcg.public.TCG_User USER_FOLLOWING ON RELATIONSHIP.following_user_id = USER_FOLLOWING.user_id
|
||||
WHERE
|
||||
@@ -91,10 +119,6 @@ BEGIN
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user_relationship
|
||||
OR RELATIONSHIP.active
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR (
|
||||
@@ -104,8 +128,8 @@ BEGIN
|
||||
)
|
||||
ORDER BY
|
||||
RELATIONSHIP.follower_user_id
|
||||
, NOT RELATIONSHIP.is_following
|
||||
, NOT RELATIONSHIP.is_blocked
|
||||
, RELATIONSHIP.is_following DESC
|
||||
, RELATIONSHIP.is_blocked DESC
|
||||
, RELATIONSHIP.following_user_id
|
||||
;
|
||||
END;
|
||||
@@ -114,7 +138,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_User_Relationship_Get_Many (
|
||||
a_get_inactive_user_relationship := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_inactive_user_relationship := FALSE
|
||||
, a_get_all_user_follower := TRUE
|
||||
, a_user_follower_ids := ''
|
||||
, a_get_all_user_following := TRUE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Deck_Commander_Bracket_Get_Many (
|
||||
a_get_all_commander_bracket BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_commander_bracket BOOLEAN
|
||||
, a_get_inactive_commander_bracket BOOLEAN
|
||||
, a_commander_bracket_ids TEXT
|
||||
, a_commander_bracket_names TEXT
|
||||
@@ -24,6 +25,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_commander_bracket BOOLEAN;
|
||||
v_get_inactive_commander_bracket BOOLEAN;
|
||||
v_commander_bracket_ids TEXT;
|
||||
@@ -33,6 +36,7 @@ DECLARE
|
||||
v_require_all_non_id_filters_met BOOLEAN;
|
||||
v_require_any_non_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_commander_bracket := COALESCE(a_get_all_commander_bracket, TRUE);
|
||||
v_get_inactive_commander_bracket := COALESCE(a_get_inactive_commander_bracket, FALSE);
|
||||
v_commander_bracket_ids := TRIM(COALESCE(a_commander_bracket_ids, ''));
|
||||
@@ -42,6 +46,12 @@ BEGIN
|
||||
v_require_all_non_id_filters_met := COALESCE(a_require_all_non_id_filters_met, FALSE);
|
||||
v_require_any_non_id_filters_met := COALESCE(a_require_any_non_id_filters_met, TRUE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
COMMANDER_BRACKET.commander_bracket_id
|
||||
@@ -110,7 +120,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Deck_Commander_Bracket_Get_Many (
|
||||
a_get_all_commander_bracket := TRUE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_commander_bracket := TRUE
|
||||
, a_get_inactive_commander_bracket := FALSE
|
||||
, a_commander_bracket_ids := CAST(NULL AS TEXT)
|
||||
, a_commander_bracket_names := CAST(NULL AS TEXT)
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Deck_Get_Many (
|
||||
a_get_all_deck BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_deck BOOLEAN
|
||||
, a_get_inactive_deck BOOLEAN
|
||||
, a_deck_ids TEXT
|
||||
, a_deck_names TEXT
|
||||
, a_commander_bracket_ids TEXT
|
||||
, a_created_by_user_ids TEXT
|
||||
-- , a_created_by_user_ids TEXT
|
||||
, a_include_commander_option BOOLEAN
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_filter_by_game_session_not_player BOOLEAN
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
-- , a_filter_by_game_session_not_player BOOLEAN
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
, a_require_all_non_id_filters_met BOOLEAN
|
||||
@@ -31,38 +35,109 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_deck BOOLEAN;
|
||||
v_get_inactive_deck BOOLEAN;
|
||||
v_deck_ids TEXT;
|
||||
v_deck_names TEXT;
|
||||
v_created_by_user_ids TEXT;
|
||||
v_include_commander_option BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_filter_by_game_session_not_player BOOLEAN;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
-- v_filter_by_game_session_not_player BOOLEAN;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
v_require_all_non_id_filters_met BOOLEAN;
|
||||
v_require_any_non_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_deck := COALESCE(a_get_all_deck, FALSE);
|
||||
v_get_inactive_deck := COALESCE(a_get_inactive_deck, FALSE);
|
||||
v_deck_ids := TRIM(COALESCE(a_deck_ids, ''));
|
||||
v_deck_names := TRIM(COALESCE(a_deck_names, ''));
|
||||
v_include_commander_option := COALESCE(a_include_commander_option, TRUE);
|
||||
v_created_by_user_ids := TRIM(COALESCE(a_created_by_user_ids, ''));
|
||||
-- v_created_by_user_ids := TRIM(COALESCE(a_created_by_user_ids, ''));
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_filter_by_game_session_not_player := COALESCE(a_filter_by_game_session_not_player, TRUE);
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
-- v_filter_by_game_session_not_player := COALESCE(a_filter_by_game_session_not_player, TRUE);
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
v_require_all_non_id_filters_met := COALESCE(a_require_all_non_id_filters_met, FALSE);
|
||||
v_require_any_non_id_filters_met := COALESCE(a_require_any_non_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH
|
||||
Access_Game AS (
|
||||
SELECT DISTINCT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
, Access_Player AS (
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
, PLAYER.user_id
|
||||
, PLAYER.deck_id
|
||||
, PLAYER.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) PLAYER
|
||||
)
|
||||
, Access_User AS (
|
||||
SELECT DISTINCT TCG_USER.user_id
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
LEFT JOIN Access_Player ACCESS_PLAYER ON TCG_USER.user_id = ACCESS_PLAYER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
ON TCG_USER.user_id = SESSION_MEMBER.user_id
|
||||
AND SESSION_MEMBER.is_permitted
|
||||
AND SESSION_MEMBER.active
|
||||
LEFT JOIN Access_Game GAME ON SESSION_MEMBER.game_id = GAME.game_id
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR TCG_USER.user_id = v_access_user_id
|
||||
OR ACCESS_PLAYER.player_id IS NOT NULL
|
||||
OR GAME.game_id IS NOT NULL
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR TCG_USER.active
|
||||
)
|
||||
)
|
||||
SELECT DISTINCT
|
||||
DECK.deck_id
|
||||
, DECK.name
|
||||
@@ -75,7 +150,9 @@ BEGIN
|
||||
, DECK.updated_last_by_user_id
|
||||
, DECK.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game SESSION_GAME ON DECK.game_id = SESSION_GAME.game_id
|
||||
INNER JOIN Access_User ACCESS_USER ON DECK.created_by_user_id = ACCESS_USER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER ON DECK.created_by_user_id = SESSION_MEMBER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game SESSION_GAME ON SESSION_MEMBER.game_id = SESSION_GAME.game_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON DECK.deck_id = PLAYER.deck_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game PLAYER_GAME ON PLAYER.game_id = PLAYER_GAME.game_id
|
||||
WHERE
|
||||
@@ -90,17 +167,11 @@ BEGIN
|
||||
v_get_all_deck
|
||||
OR (
|
||||
DECK.deck_id = ANY(string_to_array(v_deck_ids, ',')::INT[])
|
||||
AND DECK.created_by_user_id = ANY(string_to_array(v_created_by_user_ids, ',')::INT[])
|
||||
AND DECK.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -111,17 +182,11 @@ BEGIN
|
||||
AND (
|
||||
v_get_all_deck
|
||||
OR DECK.deck_id = ANY(string_to_array(v_deck_ids, ',')::INT[])
|
||||
OR DECK.created_by_user_id = ANY(string_to_array(v_created_by_user_ids, ',')::INT[])
|
||||
OR DECK.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR (
|
||||
v_get_all_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
OR SESSION_GAME.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -160,14 +225,8 @@ BEGIN
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR (
|
||||
v_filter_by_game_session_not_player
|
||||
AND SESSION_GAME.active
|
||||
)
|
||||
OR (
|
||||
NOT v_filter_by_game_session_not_player
|
||||
AND PLAYER_GAME.active
|
||||
)
|
||||
OR SESSION_GAME.active
|
||||
OR PLAYER_GAME.active
|
||||
)
|
||||
ORDER BY DECK.name
|
||||
;
|
||||
@@ -177,17 +236,21 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Deck_Get_Many (
|
||||
a_get_all_deck := TRUE
|
||||
a_access_user_id := 5
|
||||
, a_get_all_deck := TRUE
|
||||
, a_get_inactive_deck := FALSE
|
||||
, a_deck_ids := CAST(NULL AS TEXT)
|
||||
, a_deck_names := CAST(NULL AS TEXT)
|
||||
, a_commander_bracket_ids := CAST(NULL AS TEXT)
|
||||
, a_include_commander_option := true
|
||||
, a_created_by_user_ids := '3'
|
||||
-- , a_created_by_user_ids := '3'
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := CAST(NULL AS TEXT)
|
||||
, a_filter_by_game_session_not_player := TRUE
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := CAST(NULL AS TEXT)
|
||||
-- , a_filter_by_game_session_not_player := TRUE
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
, a_require_all_non_id_filters_met := FALSE
|
||||
|
||||
511
static/PostgreSQL/71201_usp_TCG_MTG_Deck_Save.sql
Normal file
511
static/PostgreSQL/71201_usp_TCG_MTG_Deck_Save.sql
Normal file
@@ -0,0 +1,511 @@
|
||||
|
||||
CREATE OR REPLACE PROCEDURE tcg.public.USP_TCG_MTG_Deck_Save (
|
||||
a_comment TEXT
|
||||
, a_guid UUID
|
||||
, a_user_id INT
|
||||
, OUT o_success BOOLEAN
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_bad_data_error_type_id INT;
|
||||
v_change_set_id INT;
|
||||
v_comment TEXT;
|
||||
-- v_error_message TEXT;
|
||||
v_guid UUID;
|
||||
v_time_start TIMESTAMP;
|
||||
v_user_id INT;
|
||||
v_warning_error_type_id INT;
|
||||
BEGIN
|
||||
v_comment := TRIM(COALESCE(a_comment, ''));
|
||||
v_guid := a_guid;
|
||||
v_user_id := a_user_id;
|
||||
|
||||
v_bad_data_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'BAD_DATA' LIMIT 1);
|
||||
v_warning_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'WARNING' LIMIT 1);
|
||||
v_time_start := CURRENT_TIMESTAMP;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Deck;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Commander_Bracket;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Error;
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Deck (
|
||||
temp_id INT NOT NULL
|
||||
, deck_id INT
|
||||
, name TEXT
|
||||
, is_commander BOOLEAN
|
||||
, commander_bracket_id INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
|
||||
, is_new BOOLEAN
|
||||
, error_name TEXT
|
||||
, is_duplicate BOOLEAN
|
||||
);
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Commander_Bracket (
|
||||
commander_bracket_id INT NOT NULL
|
||||
, name TEXT
|
||||
, description TEXT
|
||||
, display_order INT
|
||||
, active BOOLEAN
|
||||
, created_on TIMESTAMP
|
||||
, created_by_user_id INT
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
);
|
||||
|
||||
CREATE TEMP TABLE Temp_MTG_Deck_Save_Error (
|
||||
temp_id INT GENERATED ALWAYS AS IDENTITY
|
||||
, error_type_id INT
|
||||
, message TEXT
|
||||
);
|
||||
|
||||
INSERT INTO Temp_MTG_Deck_Save_Commander_Bracket (
|
||||
commander_bracket_id
|
||||
, name
|
||||
, description
|
||||
, display_order
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
COMMANDER_BRACKET.commander_bracket_id
|
||||
, COMMANDER_BRACKET.name
|
||||
, COMMANDER_BRACKET.description
|
||||
, COMMANDER_BRACKET.display_order
|
||||
, COMMANDER_BRACKET.active
|
||||
, COMMANDER_BRACKET.created_on
|
||||
, COMMANDER_BRACKET.created_by_user_id
|
||||
, COMMANDER_BRACKET.updated_last_on
|
||||
, COMMANDER_BRACKET.updated_last_by_user_id
|
||||
, COMMANDER_BRACKET.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Deck_Commander_Bracket COMMANDER_BRACKET
|
||||
;
|
||||
|
||||
WITH Temp_Deck AS (
|
||||
SELECT
|
||||
DECK_T.temp_id
|
||||
, CASE
|
||||
WHEN
|
||||
COALESCE(DECK_T.deck_id, 0) < 1
|
||||
OR DECK.deck_id IS NULL
|
||||
THEN DECK.deck_id
|
||||
ELSE DECK_T.deck_id
|
||||
END AS deck_id
|
||||
, TRIM(COALESCE(DECK_T.name, '')) AS name
|
||||
, COALESCE(DECK_T.is_commander, TRUE) AS is_commander
|
||||
, DECK_T.commander_bracket_id
|
||||
, COALESCE(DECK_T.active, TRUE) AS active
|
||||
, COALESCE(DECK_T.created_on, v_time_start) AS created_on
|
||||
, COALESCE(DECK_T.created_by_user_id, v_user_id) AS created_by_user_id
|
||||
, COALESCE(DECK_T.updated_last_on, v_time_start) AS updated_last_on
|
||||
, COALESCE(DECK_T.updated_last_by_user_id, v_user_id) AS updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Deck_Temp DECK_T
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK
|
||||
ON DECK.deck_id = DECK_T.deck_id
|
||||
AND DECK.created_by_user_id = v_user_id
|
||||
WHERE DECK_T.guid = v_guid
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Deck (
|
||||
temp_id
|
||||
, deck_id
|
||||
, name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
|
||||
, is_new
|
||||
, error_name
|
||||
)
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, T_DECK.deck_id
|
||||
, T_DECK.name
|
||||
, T_DECK.is_commander
|
||||
, T_DECK.commander_bracket_id
|
||||
, T_DECK.active
|
||||
, T_DECK.created_on
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.updated_last_on
|
||||
, T_DECK.updated_last_by_user_id
|
||||
|
||||
, CASE WHEN T_DECK.deck_id IS NULL THEN TRUE ELSE FALSE END AS is_new
|
||||
, CONCAT(
|
||||
'Deck { id: '
|
||||
, CAST(T_DECK.deck_id AS VARCHAR)
|
||||
, ', temp id: '
|
||||
, CAST(T_DECK.temp_id AS VARCHAR)
|
||||
, ', name: '
|
||||
, T_DECK.name
|
||||
, ' }'
|
||||
) -- error_name
|
||||
FROM Temp_Deck T_DECK
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK
|
||||
ON DECK.deck_id = T_DECK.deck_id
|
||||
AND DECK.created_by_user_id = v_user_id
|
||||
;
|
||||
|
||||
-- Missing fields
|
||||
WITH Deck_Missing_Field AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'name' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.name = ''
|
||||
UNION
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'commander_bracket_id' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
T_DECK.commander_bracket_id IS NULL
|
||||
AND T_DECK.is_commander
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Missing mandatory field: '
|
||||
, DECK_MISSING_FIELD.field
|
||||
, ' on '
|
||||
, T_DECK.error_name
|
||||
, '.'
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
INNER JOIN Deck_Missing_Field DECK_MISSING_FIELD ON T_DECK.temp_id = DECK_MISSING_FIELD.temp_id
|
||||
;
|
||||
|
||||
-- Failed join fields
|
||||
WITH Deck_Failed_Join_Field AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, 'commander_bracket_id' AS field
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
LEFT JOIN Temp_MTG_Deck_Save_Commander_Bracket T_COMMANDER_BRACKET
|
||||
ON T_DECK.commander_bracket_id = T_COMMANDER_BRACKET.commander_bracket_id
|
||||
AND T_COMMANDER_BRACKET.active
|
||||
WHERE
|
||||
T_COMMANDER_BRACKET.commander_bracket_id IS NULL
|
||||
AND T_DECK.commander_bracket_id IS NOT NULL
|
||||
)
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Failed relationship: '
|
||||
, DECK_FAILED_JOIN_FIELD.field
|
||||
, ' on '
|
||||
, T_DECK.error_name
|
||||
, '.'
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
INNER JOIN Deck_Failed_Join_Field DECK_FAILED_JOIN_FIELD ON T_DECK.temp_id = DECK_FAILED_JOIN_FIELD.temp_id
|
||||
;
|
||||
|
||||
-- Duplicate Deck
|
||||
WITH
|
||||
All_Deck AS (
|
||||
SELECT
|
||||
T_DECK.temp_id
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.name
|
||||
, TRUE AS is_save_record
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
UNION
|
||||
SELECT
|
||||
NULL AS temp_id
|
||||
, DECK.created_by_user_id
|
||||
, DECK.name
|
||||
, FALSE AS is_save_record
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
LEFT JOIN Temp_MTG_Deck_Save_Deck T_DECK ON DECK.deck_id = T_DECK.deck_id
|
||||
WHERE T_DECK.deck_id IS NULL
|
||||
)
|
||||
, Deck_Name_Count AS (
|
||||
SELECT
|
||||
ALL_DECK.created_by_user_id
|
||||
, ALL_DECK.name
|
||||
, COUNT(*) AS count_deck
|
||||
FROM All_Deck ALL_DECK
|
||||
GROUP BY
|
||||
ALL_DECK.created_by_user_id
|
||||
, ALL_DECK.name
|
||||
)
|
||||
, Duplicate_Deck AS (
|
||||
SELECT
|
||||
ALL_DECK.temp_id
|
||||
, ALL_DECK.name
|
||||
, ALL_DECK.created_by_user_id
|
||||
, CASE WHEN COALESCE(DECK_NAME_COUNT.count_deck, 0) <= 1 THEN TRUE ELSE FALSE END AS is_unique
|
||||
FROM All_Deck ALL_DECK
|
||||
INNER JOIN Deck_Name_Count DECK_NAME_COUNT
|
||||
ON ALL_DECK.name = DECK_NAME_COUNT.name
|
||||
AND ALL_DECK.created_by_user_id = DECK_NAME_COUNT.created_by_user_id
|
||||
)
|
||||
UPDATE Temp_MTG_Deck_Save_Deck T_DECK
|
||||
SET is_duplicate = NOT DUPLICATE_DECK.is_unique
|
||||
FROM Duplicate_Deck DUPLICATE_DECK
|
||||
WHERE T_DECK.temp_id = DUPLICATE_DECK.temp_id
|
||||
;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.is_duplicate
|
||||
LIMIT 1
|
||||
) THEN
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_bad_data_error_type_id -- error_type_id
|
||||
, CONCAT(
|
||||
'Duplicate on '
|
||||
, T_DECK.error_name
|
||||
) -- message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE T_DECK.is_duplicate
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Nothing to save
|
||||
IF NOT EXISTS (SELECT * FROM Temp_MTG_Deck_Save_Deck LIMIT 1) THEN
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
VALUES (
|
||||
v_warning_error_type_id
|
||||
, 'Nothing to save.'
|
||||
);
|
||||
END IF;
|
||||
|
||||
/*
|
||||
INSERT INTO Temp_MTG_Deck_Save_Error (
|
||||
error_type_id
|
||||
, message
|
||||
)
|
||||
SELECT
|
||||
v_warning_error_type_id AS error_type_id
|
||||
, CONCAT(
|
||||
'Decks: '
|
||||
, STRING_AGG(T_DECK.error_name, ', ')
|
||||
) AS message
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
;
|
||||
*/
|
||||
|
||||
-- Outputs
|
||||
-- Change Set
|
||||
INSERT INTO tcg.public.TCG_Change_Set (
|
||||
comment
|
||||
, updated_last_by_user_id
|
||||
)
|
||||
VALUES (
|
||||
v_comment
|
||||
, v_user_id
|
||||
)
|
||||
RETURNING change_set_id INTO v_change_set_id
|
||||
;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM Temp_MTG_Deck_Save_Error T_ERROR WHERE T_ERROR.error_type_id <> v_warning_error_type_id LIMIT 1) THEN
|
||||
|
||||
-- Deck
|
||||
INSERT INTO tcg.public.TCG_MTG_Deck (
|
||||
name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
T_DECK.name
|
||||
, T_DECK.is_commander
|
||||
, T_DECK.commander_bracket_id
|
||||
, T_DECK.active
|
||||
, T_DECK.created_on
|
||||
, T_DECK.created_by_user_id
|
||||
, T_DECK.updated_last_on
|
||||
, T_DECK.updated_last_by_user_id
|
||||
, v_change_set_id -- change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
T_DECK.is_new
|
||||
AND T_DECK.active
|
||||
;
|
||||
|
||||
UPDATE tcg.public.TCG_MTG_Deck DECK
|
||||
SET
|
||||
name = T_DECK.name
|
||||
, is_commander = T_DECK.is_commander
|
||||
, commander_bracket_id = T_DECK.commander_bracket_id
|
||||
, active = T_DECK.active
|
||||
, updated_last_on = v_time_start
|
||||
, updated_last_by_user_id = v_user_id
|
||||
, change_set_id = v_change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Deck T_DECK
|
||||
WHERE
|
||||
DECK.deck_id = T_DECK.deck_id
|
||||
AND NOT T_DECK.is_new
|
||||
;
|
||||
|
||||
END IF;
|
||||
|
||||
-- Error
|
||||
INSERT INTO tcg.public.Error (
|
||||
guid
|
||||
, error_type_id
|
||||
, message
|
||||
, display_order
|
||||
, created_on
|
||||
, created_by_user_id
|
||||
, updated_last_on
|
||||
, updated_last_by_user_id
|
||||
, change_set_id
|
||||
)
|
||||
SELECT
|
||||
v_guid
|
||||
, T_ERROR.error_type_id
|
||||
, T_ERROR.message
|
||||
, T_ERROR.temp_id
|
||||
, v_time_start
|
||||
, v_user_id
|
||||
, v_time_start
|
||||
, v_user_id
|
||||
, v_change_set_id
|
||||
FROM Temp_MTG_Deck_Save_Error T_ERROR
|
||||
LEFT JOIN tcg.public.Error_Type ERROR_TYPE ON T_ERROR.error_type_id = ERROR_TYPE.error_type_id
|
||||
ORDER BY T_ERROR.temp_id
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
o_success := NOT EXISTS (
|
||||
SELECT *
|
||||
FROM Temp_MTG_Deck_Save_Error T_ERROR
|
||||
WHERE T_ERROR.error_type_id <> v_warning_error_type_id
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
DELETE FROM tcg.public.TCG_MTG_Deck_Temp DECK_T WHERE DECK_T.guid = v_guid;
|
||||
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Deck;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Commander_Bracket;
|
||||
DROP TABLE IF EXISTS Temp_MTG_Deck_Save_Error;
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
|
||||
-- Call it with:
|
||||
DO $$
|
||||
DECLARE
|
||||
v_comment TEXT := 'MTG Deck Save.';
|
||||
v_guid UUID;
|
||||
v_user_id INT := 3;
|
||||
v_success BOOLEAN;
|
||||
BEGIN
|
||||
v_guid := gen_random_uuid();
|
||||
|
||||
INSERT INTO tcg.public.TCG_MTG_Deck_Temp (
|
||||
guid
|
||||
, deck_id
|
||||
, name
|
||||
, is_commander
|
||||
, commander_bracket_id
|
||||
, active
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
v_guid
|
||||
, 1 -- deck_id
|
||||
, 'Final Fantasy: Counter Blitz' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
, (
|
||||
v_guid
|
||||
, 2 -- deck_id
|
||||
, 'Tarkir Dragonstorm: Jeskai Striker' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
, (
|
||||
v_guid
|
||||
, 3 -- deck_id
|
||||
, 'The Lost Caverns of Ixalan: Blood Rites' -- name
|
||||
, TRUE -- is_commander
|
||||
, 2 -- commander_bracket_id
|
||||
, TRUE -- active
|
||||
)
|
||||
;
|
||||
|
||||
CALL tcg.public.USP_TCG_MTG_Deck_Save (
|
||||
v_comment -- a_comment
|
||||
, v_guid -- a_guid
|
||||
, v_user_id -- a_user_id
|
||||
, v_success -- o_success
|
||||
);
|
||||
RAISE NOTICE 'Success: %', CASE WHEN v_success THEN 'TRUE' ELSE 'FALSE' END;
|
||||
END;
|
||||
$$;
|
||||
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.Error ERROR
|
||||
LEFT JOIN tcg.public.Error_Type ERROR_TYPE ON ERROR.error_type_id = ERROR_TYPE.error_type_id
|
||||
;
|
||||
SELECT *
|
||||
FROM tcg.public.Error_Type ERROR_TYPE
|
||||
;
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_Change_Set CHANGE_SET
|
||||
ORDER BY CHANGE_SET.change_set_id DESC
|
||||
;
|
||||
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck_Temp
|
||||
;
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck DECK
|
||||
;
|
||||
SELECT *
|
||||
-- DELETE
|
||||
FROM tcg.public.TCG_MTG_Deck_Audit DECK_AUDIT
|
||||
;
|
||||
-- 1 - Final Fantasy: Counter Blitz
|
||||
-- 2 - Tarkir Dragonstorm: Jeskai Striker
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
@@ -28,7 +29,9 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
-- v_bad_data_error_type_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
-- v_warning_error_type_id INT;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
@@ -41,6 +44,7 @@ DECLARE
|
||||
-- , v_require_all_non_id_filters_met BOOLEAN
|
||||
-- , v_require_any_non_id_filters_met BOOLEAN
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
-- v_bad_data_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'BAD_DATA' LIMIT 1);
|
||||
-- v_warning_error_type_id := (SELECT ERROR_TYPE.error_type_id FROM tcg.public.Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = 'WARNING' LIMIT 1);
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
@@ -52,9 +56,43 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
-- Outputs
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
RETURN QUERY SELECT
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT DISTINCT GAME.game_id
|
||||
FROM tcg.public.TCG_MTG_Game GAME
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER
|
||||
ON GAME.game_id = PLAYER.game_id
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR PLAYER.active
|
||||
)
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
ON GAME.game_id = SESSION_MEMBER.game_id
|
||||
AND SESSION_MEMBER.is_permitted
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR SESSION_MEMBER.active
|
||||
)
|
||||
WHERE
|
||||
(
|
||||
v_can_admin
|
||||
OR GAME.created_by_user_id = v_access_user_id
|
||||
OR PLAYER.user_id = v_access_user_id
|
||||
OR SESSION_MEMBER.user_id = v_access_user_id
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
)
|
||||
SELECT DISTINCT
|
||||
GAME.game_id
|
||||
, GAME.notes
|
||||
, GAME.is_commander
|
||||
@@ -70,7 +108,9 @@ BEGIN
|
||||
, GAME.updated_last_on
|
||||
, GAME.updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Game GAME
|
||||
INNER JOIN Access_Game ACCESS_GAME ON GAME.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_User CREATOR_USER ON GAME.created_by_user_id = CREATOR_USER.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON GAME.game_id = PLAYER.game_id
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
@@ -86,6 +126,7 @@ BEGIN
|
||||
AND (
|
||||
a_get_all_user
|
||||
OR CREATOR_USER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
@@ -98,17 +139,10 @@ BEGIN
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR CREATOR_USER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_user
|
||||
OR CREATOR_USER.active
|
||||
)
|
||||
ORDER BY GAME.created_on DESC
|
||||
;
|
||||
END;
|
||||
@@ -117,14 +151,15 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_get_all_game := TRUE
|
||||
a_access_user_id := 4
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := ''
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := '4'
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := TRUE
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -24,38 +28,69 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY
|
||||
WITH User_Name AS (
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, CASE
|
||||
WHEN
|
||||
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
AND TRIM(COALESCE(TCG_USER.surname, '')) <> ''
|
||||
THEN CONCAT(
|
||||
TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
, ' '
|
||||
, TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
)
|
||||
WHEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
THEN TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
ELSE TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
END AS name
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
)
|
||||
WITH
|
||||
User_Name AS (
|
||||
SELECT
|
||||
TCG_USER.user_id
|
||||
, CASE
|
||||
WHEN
|
||||
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
AND TRIM(COALESCE(TCG_USER.surname, '')) <> ''
|
||||
THEN CONCAT(
|
||||
TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
, ' '
|
||||
, TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
)
|
||||
WHEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
|
||||
THEN TRIM(COALESCE(TCG_USER.firstname, ''))
|
||||
ELSE TRIM(COALESCE(TCG_USER.surname, ''))
|
||||
END AS name
|
||||
FROM tcg.public.TCG_User TCG_USER
|
||||
)
|
||||
, Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
@@ -86,7 +121,7 @@ BEGIN
|
||||
, PLAYER.updated_last_by_user_id
|
||||
, PLAYER.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Player PLAYER
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON PLAYER.game_id = GAME.game_id
|
||||
INNER JOIN Access_Game GAME ON PLAYER.game_id = GAME.game_id
|
||||
-- LEFT JOIN tcg.public.TCG_User TCG_USER ON PLAYER.user_id = TCG_USER.user_id
|
||||
LEFT JOIN User_Name USER_NAME ON PLAYER.user_id = USER_NAME.user_id
|
||||
LEFT JOIN tcg.public.TCG_MTG_Deck DECK ON PLAYER.deck_id = DECK.deck_id
|
||||
@@ -102,6 +137,11 @@ BEGIN
|
||||
v_get_all_game
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR GAME.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
NOT v_require_all_id_filters_met
|
||||
@@ -110,12 +150,24 @@ BEGIN
|
||||
v_get_all_game
|
||||
OR PLAYER.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
AND (
|
||||
v_get_all_user
|
||||
OR GAME.created_by_user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
OR PLAYER.user_id = ANY(string_to_array(v_user_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR GAME.active
|
||||
)
|
||||
AND (
|
||||
(
|
||||
v_get_inactive_game
|
||||
AND v_get_inactive_user
|
||||
)
|
||||
OR PLAYER.active
|
||||
)
|
||||
ORDER BY
|
||||
GAME.created_on DESC
|
||||
, PLAYER.display_order
|
||||
@@ -126,9 +178,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 5
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '34'
|
||||
, a_get_all_user := FALSE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := '5'
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Round_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -21,33 +25,68 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
|
||||
RETURN QUERY SELECT
|
||||
ROUND.round_id
|
||||
, ROUND.game_id
|
||||
, ROUND.notes
|
||||
, ROUND.display_order
|
||||
, ROUND.active
|
||||
, ROUND.created_on
|
||||
, ROUND.created_by_user_id
|
||||
, ROUND.updated_last_on
|
||||
, ROUND.updated_last_by_user_id
|
||||
, ROUND.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Round ROUND
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON ROUND.game_id = GAME.game_id
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
TCG_ROUND.round_id
|
||||
, TCG_ROUND.game_id
|
||||
, TCG_ROUND.notes
|
||||
, TCG_ROUND.display_order
|
||||
, TCG_ROUND.active
|
||||
, TCG_ROUND.created_on
|
||||
, TCG_ROUND.created_by_user_id
|
||||
, TCG_ROUND.updated_last_on
|
||||
, TCG_ROUND.updated_last_by_user_id
|
||||
, TCG_ROUND.change_set_id
|
||||
FROM tcg.public.TCG_MTG_Game_Round TCG_ROUND
|
||||
INNER JOIN Access_Game ACCESS_GAME ON TCG_ROUND.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON TCG_ROUND.game_id = GAME.game_id
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
@@ -58,7 +97,7 @@ BEGIN
|
||||
v_require_all_id_filters_met
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR TCG_ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
OR (
|
||||
@@ -66,17 +105,17 @@ BEGIN
|
||||
AND v_require_any_id_filters_met
|
||||
AND (
|
||||
v_get_all_game
|
||||
OR ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
OR TCG_ROUND.game_id = ANY(string_to_array(v_game_ids, ',')::INT[])
|
||||
)
|
||||
)
|
||||
)
|
||||
AND (
|
||||
v_get_inactive_game
|
||||
OR ROUND.active
|
||||
OR TCG_ROUND.active
|
||||
)
|
||||
ORDER BY
|
||||
GAME.created_on DESC
|
||||
, ROUND.display_order
|
||||
, TCG_ROUND.display_order
|
||||
;
|
||||
END;
|
||||
$$;
|
||||
@@ -84,9 +123,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Round_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '11'
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Round_Player_Damage_Get_Many (
|
||||
a_get_all_game BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
, a_get_all_user BOOLEAN
|
||||
, a_get_inactive_user BOOLEAN
|
||||
, a_user_ids TEXT
|
||||
, a_require_all_id_filters_met BOOLEAN
|
||||
, a_require_any_id_filters_met BOOLEAN
|
||||
)
|
||||
@@ -21,24 +25,62 @@ RETURNS TABLE (
|
||||
, updated_last_on TIMESTAMP
|
||||
, updated_last_by_user_id INT
|
||||
, change_set_id INT
|
||||
, game_created_on TIMESTAMP
|
||||
, round_display_order INT
|
||||
, player_display_order INT
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
v_game_ids TEXT;
|
||||
v_get_all_user BOOLEAN;
|
||||
v_get_inactive_user BOOLEAN;
|
||||
v_user_ids TEXT;
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
v_game_ids := TRIM(COALESCE(a_game_ids, ''));
|
||||
v_get_all_user := COALESCE(a_get_all_user, FALSE);
|
||||
v_get_inactive_user := COALESCE(a_get_inactive_user, FALSE);
|
||||
v_user_ids := TRIM(COALESCE(a_user_ids, ''));
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Player AS (
|
||||
SELECT
|
||||
PLAYER.player_id
|
||||
, PLAYER.game_id
|
||||
, PLAYER.user_id
|
||||
, PLAYER.deck_id
|
||||
, PLAYER.active
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) PLAYER
|
||||
)
|
||||
SELECT DISTINCT
|
||||
PLAYER_DAMAGE.damage_id
|
||||
, PLAYER_DAMAGE.round_id
|
||||
, PLAYER_DAMAGE.player_id
|
||||
@@ -53,7 +95,11 @@ BEGIN
|
||||
, PLAYER_DAMAGE.updated_last_on
|
||||
, PLAYER_DAMAGE.updated_last_by_user_id
|
||||
, PLAYER_DAMAGE.change_set_id
|
||||
, GAME.created_on AS game_created_on
|
||||
, GAME_ROUND.display_order AS round_display_order
|
||||
, PLAYER.display_order AS player_display_order
|
||||
FROM tcg.public.TCG_MTG_Game_Round_Player_Damage PLAYER_DAMAGE
|
||||
INNER JOIN Access_Player ACCESS_PLAYER ON PLAYER_DAMAGE.player_id = ACCESS_PLAYER.player_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game_Round GAME_ROUND ON PLAYER_DAMAGE.round_id = GAME_ROUND.round_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON GAME_ROUND.game_id = GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game_Player PLAYER ON PLAYER_DAMAGE.player_id = PLAYER.player_id
|
||||
@@ -95,9 +141,13 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Round_Player_Damage_Get_Many (
|
||||
a_get_all_game := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_game := FALSE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := '30'
|
||||
, a_get_all_user := TRUE
|
||||
, a_get_inactive_user := FALSE
|
||||
, a_user_ids := ''
|
||||
, a_require_all_id_filters_met := TRUE
|
||||
, a_require_any_id_filters_met := FALSE
|
||||
)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
a_get_inactive_session_member BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_inactive_session_member BOOLEAN
|
||||
, a_get_all_game BOOLEAN
|
||||
, a_get_inactive_game BOOLEAN
|
||||
, a_game_ids TEXT
|
||||
@@ -24,6 +25,8 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_inactive_session_member BOOLEAN;
|
||||
v_get_all_game BOOLEAN;
|
||||
v_get_inactive_game BOOLEAN;
|
||||
@@ -36,6 +39,7 @@ DECLARE
|
||||
-- , v_require_all_non_id_filters_met BOOLEAN
|
||||
-- , v_require_any_non_id_filters_met BOOLEAN
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_inactive_session_member := COALESCE(a_get_inactive_session_member, FALSE);
|
||||
v_get_all_game := COALESCE(a_get_all_game, FALSE);
|
||||
v_get_inactive_game := COALESCE(a_get_inactive_game, FALSE);
|
||||
@@ -46,8 +50,33 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
RETURN QUERY
|
||||
WITH Access_Game AS (
|
||||
SELECT
|
||||
GAME.game_id
|
||||
, GAME.active
|
||||
, GAME.created_on
|
||||
, GAME.created_by_user_id
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Get_Many (
|
||||
a_access_user_id := v_access_user_id
|
||||
, a_get_all_game := v_get_all_game
|
||||
, a_get_inactive_game := v_get_inactive_game
|
||||
, a_game_ids := v_game_ids
|
||||
, a_get_all_user := v_get_all_user
|
||||
, a_get_inactive_user := v_get_inactive_user
|
||||
, a_user_ids := v_user_ids
|
||||
, a_require_all_id_filters_met := v_require_all_id_filters_met
|
||||
, a_require_any_id_filters_met := v_require_any_id_filters_met
|
||||
) GAME
|
||||
)
|
||||
SELECT
|
||||
SESSION_MEMBER.member_id
|
||||
, SESSION_MEMBER.game_id
|
||||
, SESSION_MEMBER.user_id
|
||||
@@ -58,6 +87,7 @@ BEGIN
|
||||
, SESSION_MEMBER.updated_last_on
|
||||
, SESSION_MEMBER.updated_last_by_user_id
|
||||
FROM tcg.public.TCG_MTG_Game_Session_Member SESSION_MEMBER
|
||||
INNER JOIN Access_Game ACCESS_GAME ON SESSION_MEMBER.game_id = ACCESS_GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_MTG_Game GAME ON SESSION_MEMBER.game_id = GAME.game_id
|
||||
INNER JOIN tcg.public.TCG_User MEMBER_USER ON SESSION_MEMBER.user_id = MEMBER_USER.user_id
|
||||
WHERE
|
||||
@@ -113,7 +143,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
a_get_inactive_session_member := FALSE
|
||||
a_access_user_id := 4
|
||||
, a_get_inactive_session_member := FALSE
|
||||
, a_get_all_game := TRUE
|
||||
, a_get_inactive_game := FALSE
|
||||
, a_game_ids := ''
|
||||
@@ -125,11 +156,11 @@ FROM tcg.public.FN_TCG_MTG_Game_Session_Member_Get_Many (
|
||||
)
|
||||
;
|
||||
|
||||
/*
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_MTG_Game_Session_Member
|
||||
;
|
||||
|
||||
/*
|
||||
SELECT *
|
||||
FROM tcg.public.TCG_User
|
||||
;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
CREATE OR REPLACE FUNCTION tcg.public.FN_TCG_Statistic_Get_Many (
|
||||
a_get_all_statistic BOOLEAN
|
||||
a_access_user_id INT
|
||||
, a_get_all_statistic BOOLEAN
|
||||
, a_get_inactive_statistic BOOLEAN
|
||||
, a_statistic_ids TEXT
|
||||
, a_entity_type_codes TEXT
|
||||
@@ -34,7 +35,9 @@ RETURNS TABLE (
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
v_get_all_statistic BOOLEAN;
|
||||
v_access_user_id INT;
|
||||
v_can_admin BOOLEAN;
|
||||
v_get_all_statistic BOOLEAN;
|
||||
v_get_inactive_statistic BOOLEAN;
|
||||
v_statistic_ids TEXT;
|
||||
v_entity_type_codes TEXT;
|
||||
@@ -42,6 +45,7 @@ DECLARE
|
||||
v_require_all_id_filters_met BOOLEAN;
|
||||
v_require_any_id_filters_met BOOLEAN;
|
||||
BEGIN
|
||||
v_access_user_id := a_access_user_id;
|
||||
v_get_all_statistic := COALESCE(a_get_all_statistic, FALSE);
|
||||
v_get_inactive_statistic := COALESCE(a_get_inactive_statistic, FALSE);
|
||||
v_statistic_ids := TRIM(COALESCE(a_statistic_ids, ''));
|
||||
@@ -50,6 +54,12 @@ BEGIN
|
||||
v_require_all_id_filters_met := COALESCE(a_require_all_id_filters_met, FALSE);
|
||||
v_require_any_id_filters_met := COALESCE(a_require_any_id_filters_met, FALSE);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1) THEN
|
||||
RAISE EXCEPTION 'Access User ID required.';
|
||||
END IF;
|
||||
|
||||
v_can_admin := COALESCE((SELECT TCG_USER.is_super_user FROM tcg.public.TCG_User TCG_USER WHERE TCG_USER.user_id = v_access_user_id LIMIT 1), FALSE);
|
||||
|
||||
-- Outputs
|
||||
RETURN QUERY SELECT
|
||||
STATISTIC.statistic_id
|
||||
@@ -113,7 +123,8 @@ $$;
|
||||
|
||||
SELECT *
|
||||
FROM tcg.public.FN_TCG_Statistic_Get_Many (
|
||||
a_get_all_statistic := FALSE
|
||||
a_access_user_id := 3
|
||||
, a_get_all_statistic := FALSE
|
||||
, a_get_inactive_statistic := FALSE
|
||||
, a_statistic_ids := ''
|
||||
, a_entity_type_codes := 'deck'
|
||||
|
||||
@@ -32,23 +32,23 @@ BEGIN
|
||||
)
|
||||
-- Changed name
|
||||
SELECT NEW.rarity_id, 'name', OLD.name, NEW.name, NEW.change_set_id
|
||||
WHERE OLD.name IS NOT DISTINCT FROM NEW.name
|
||||
WHERE OLD.name IS DISTINCT FROM NEW.name
|
||||
UNION
|
||||
-- Changed colour_name
|
||||
SELECT NEW.rarity_id, 'colour_name', OLD.colour_name, NEW.colour_name, NEW.change_set_id
|
||||
WHERE OLD.colour_name IS NOT DISTINCT FROM NEW.colour_name
|
||||
WHERE OLD.colour_name IS DISTINCT FROM NEW.colour_name
|
||||
UNION
|
||||
-- Changed price_ratio_min
|
||||
SELECT NEW.rarity_id, 'price_ratio_min', OLD.price_ratio_min::TEXT, NEW.price_ratio_min::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_min IS NOT DISTINCT FROM NEW.price_ratio_min
|
||||
WHERE OLD.price_ratio_min IS DISTINCT FROM NEW.price_ratio_min
|
||||
UNION
|
||||
-- Changed price_ratio_max
|
||||
SELECT NEW.rarity_id, 'price_ratio_max', OLD.price_ratio_max::TEXT, NEW.price_ratio_max::TEXT, NEW.change_set_id
|
||||
WHERE OLD.price_ratio_max IS NOT DISTINCT FROM NEW.price_ratio_max
|
||||
WHERE OLD.price_ratio_max IS DISTINCT FROM NEW.price_ratio_max
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.rarity_id, 'active', OLD.active::TEXT, NEW.active::TEXT, NEW.change_set_id
|
||||
WHERE OLD.active IS NOT DISTINCT FROM NEW.active
|
||||
WHERE OLD.active IS DISTINCT FROM NEW.active
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
Reference in New Issue
Block a user