From 3bfead228e9d6a0b0865aaff8ade3d953004442e Mon Sep 17 00:00:00 2001 From: Lemongrass3110 Date: Tue, 20 Dec 2022 20:20:05 +0100 Subject: [PATCH] Additional safeguards for upgrade_20221218.sql Thanks to @mazvi for his help. --- sql-files/upgrades/upgrade_20221218.sql | 630 ++++++++++++------------ 1 file changed, 322 insertions(+), 308 deletions(-) diff --git a/sql-files/upgrades/upgrade_20221218.sql b/sql-files/upgrades/upgrade_20221218.sql index 0a7c20a563..bcfea4a3ef 100644 --- a/sql-files/upgrades/upgrade_20221218.sql +++ b/sql-files/upgrades/upgrade_20221218.sql @@ -36,56 +36,58 @@ create table `tmp_randomoptionfix` ( insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `auction_id` as `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `auction` - where `option_id0` <> 0 - union + select * from ( select - `auction_id` as `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `auction` - where `option_id1` <> 0 - union - select - `auction_id` as `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `auction` - where `option_id2` <> 0 - union - select - `auction_id` as `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `auction` - where `option_id3` <> 0 - union - select - `auction_id` as `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `auction` - where `option_id4` <> 0 + `auction_id` as `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `auction` + where `option_id0` <> 0 + union + select + `auction_id` as `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `auction` + where `option_id1` <> 0 + union + select + `auction_id` as `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `auction` + where `option_id2` <> 0 + union + select + `auction_id` as `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `auction` + where `option_id3` <> 0 + union + select + `auction_id` as `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `auction` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -146,56 +148,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `cart_inventory` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `cart_inventory` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `cart_inventory` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `cart_inventory` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `cart_inventory` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `cart_inventory` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `cart_inventory` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `cart_inventory` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `cart_inventory` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `cart_inventory` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -256,56 +260,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `guild_storage` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `guild_storage` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `guild_storage` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `guild_storage` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `guild_storage` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `guild_storage` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `guild_storage` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `guild_storage` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `guild_storage` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `guild_storage` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -366,56 +372,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `inventory` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `inventory` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `inventory` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `inventory` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `inventory` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `inventory` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `inventory` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `inventory` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `inventory` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `inventory` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -476,56 +484,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `mail_attachments` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `mail_attachments` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `mail_attachments` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `mail_attachments` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `mail_attachments` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `mail_attachments` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `mail_attachments` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `mail_attachments` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `mail_attachments` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `mail_attachments` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -586,56 +596,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `storage` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `storage` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `storage` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `storage` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `storage` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `storage` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `storage` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `storage` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `storage` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `storage` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ; @@ -699,56 +711,58 @@ delete from `tmp_randomoptionfix`; insert into `tmp_randomoptionfix` ( `id`, `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` ) select `id`, - row_number() over( partition by `id` ) - 1 as `new_index`, + row_number() over( partition by `id` order by `old_index` asc ) - 1 as `new_index`, `old_index`, `option_id`, `option_val`, `option_parm` from ( - select - `id`, - 0 as `old_index`, - `option_id0` as `option_id`, - `option_val0` as `option_val`, - `option_parm0` as `option_parm` - from `${other_storage}` - where `option_id0` <> 0 - union + select * from ( select - `id`, - 1 as `old_index`, - `option_id1` as `option_id`, - `option_val1` as `option_val`, - `option_parm1` as `option_parm` - from `${other_storage}` - where `option_id1` <> 0 - union - select - `id`, - 2 as `old_index`, - `option_id2` as `option_id`, - `option_val2` as `option_val`, - `option_parm2` as `option_parm` - from `${other_storage}` - where `option_id2` <> 0 - union - select - `id`, - 3 as `old_index`, - `option_id3` as `option_id`, - `option_val3` as `option_val`, - `option_parm3` as `option_parm` - from `${other_storage}` - where `option_id3` <> 0 - union - select - `id`, - 4 as `old_index`, - `option_id4` as `option_id`, - `option_val4` as `option_val`, - `option_parm4` as `option_parm` - from `${other_storage}` - where `option_id4` <> 0 + `id`, + 0 as `old_index`, + `option_id0` as `option_id`, + `option_val0` as `option_val`, + `option_parm0` as `option_parm` + from `${other_storage}` + where `option_id0` <> 0 + union + select + `id`, + 1 as `old_index`, + `option_id1` as `option_id`, + `option_val1` as `option_val`, + `option_parm1` as `option_parm` + from `${other_storage}` + where `option_id1` <> 0 + union + select + `id`, + 2 as `old_index`, + `option_id2` as `option_id`, + `option_val2` as `option_val`, + `option_parm2` as `option_parm` + from `${other_storage}` + where `option_id2` <> 0 + union + select + `id`, + 3 as `old_index`, + `option_id3` as `option_id`, + `option_val3` as `option_val`, + `option_parm3` as `option_parm` + from `${other_storage}` + where `option_id3` <> 0 + union + select + `id`, + 4 as `old_index`, + `option_id4` as `option_id`, + `option_val4` as `option_val`, + `option_parm4` as `option_parm` + from `${other_storage}` + where `option_id4` <> 0 + ) t2 order by `id`, `old_index` ) t ;