11-- ============================================================================
22-- Mina rollback: from mesa to berkeley
3+ -- + remove zkapp_states.element31..element8 (int)
34-- + remove zkapp_states_nullable.element31..element8 (int)
45-- + record status in migration_history
56-- ============================================================================
@@ -17,7 +18,7 @@ SET archive.current_protocol_version = '4.0.0';
1718-- Post-HF protocol version. This one corresponds to Mesa, specifically
1819SET archive .target_protocol_version = ' 3.0.0' ;
1920-- The version of this script. If you modify the script, please bump the version
20- SET archive .migration_version = ' 0.0.2 ' ;
21+ SET archive .migration_version = ' 0.0.3 ' ;
2122
2223-- TODO: put below in a common script
2324
@@ -127,7 +128,55 @@ EXCEPTION
127128END
128129$$ LANGUAGE plpgsql;
129130
130- -- 2. `zkapp_states_nullable`: Remove nullable columns element31..element8
131+ -- 2. `zkapp_states`: Remove columns element31..element8
132+
133+ CREATE OR REPLACE FUNCTION try_remove_zkapp_states_element (p_element_num INT )
134+ RETURNS VOID AS $$
135+ DECLARE
136+ col_name TEXT := ' element' || p_element_num;
137+ BEGIN
138+
139+ RAISE DEBUG ' Trying to removing column % for zkapp_states' , col_name;
140+
141+ EXECUTE format(
142+ ' ALTER TABLE zkapp_states DROP COLUMN IF EXISTS %I' ,
143+ col_name
144+ );
145+
146+ RAISE DEBUG ' Ensured column % for zkapp_states not existent' , col_name;
147+ EXCEPTION
148+ WHEN OTHERS THEN
149+ PERFORM set_migration_status(' failed' ::migration_status);
150+ RAISE EXCEPTION ' An error occurred: %' , SQLERRM;
151+ END
152+ $$ LANGUAGE plpgsql;
153+
154+ SELECT try_remove_zkapp_states_element(31 );
155+ SELECT try_remove_zkapp_states_element(30 );
156+ SELECT try_remove_zkapp_states_element(29 );
157+ SELECT try_remove_zkapp_states_element(28 );
158+ SELECT try_remove_zkapp_states_element(27 );
159+ SELECT try_remove_zkapp_states_element(26 );
160+ SELECT try_remove_zkapp_states_element(25 );
161+ SELECT try_remove_zkapp_states_element(24 );
162+ SELECT try_remove_zkapp_states_element(23 );
163+ SELECT try_remove_zkapp_states_element(22 );
164+ SELECT try_remove_zkapp_states_element(21 );
165+ SELECT try_remove_zkapp_states_element(20 );
166+ SELECT try_remove_zkapp_states_element(19 );
167+ SELECT try_remove_zkapp_states_element(18 );
168+ SELECT try_remove_zkapp_states_element(17 );
169+ SELECT try_remove_zkapp_states_element(16 );
170+ SELECT try_remove_zkapp_states_element(15 );
171+ SELECT try_remove_zkapp_states_element(14 );
172+ SELECT try_remove_zkapp_states_element(13 );
173+ SELECT try_remove_zkapp_states_element(12 );
174+ SELECT try_remove_zkapp_states_element(11 );
175+ SELECT try_remove_zkapp_states_element(10 );
176+ SELECT try_remove_zkapp_states_element(9 );
177+ SELECT try_remove_zkapp_states_element(8 );
178+
179+ -- 3. `zkapp_states_nullable`: Remove nullable columns element31..element8
131180
132181SELECT try_remove_zkapp_states_nullable_element(31 );
133182SELECT try_remove_zkapp_states_nullable_element(30 );
@@ -154,7 +203,7 @@ SELECT try_remove_zkapp_states_nullable_element(10);
154203SELECT try_remove_zkapp_states_nullable_element(9 );
155204SELECT try_remove_zkapp_states_nullable_element(8 );
156205
157- -- 3 . Update schema_history
206+ -- 4 . Update schema_history
158207
159208DO $$
160209BEGIN
0 commit comments