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
@@ -106,6 +107,56 @@ BEGIN
106107 END IF;
107108END$$;
108109
110+ -- 2. `zkapp_states`: Remove columns element31..element8
111+
112+ CREATE OR REPLACE FUNCTION try_remove_zkapp_states_element (p_element_num INT )
113+ RETURNS VOID AS $$
114+ DECLARE
115+ col_name TEXT := ' element' || p_element_num;
116+ BEGIN
117+
118+ RAISE DEBUG ' Trying to removing column % for zkapp_states' , col_name;
119+
120+ EXECUTE format(
121+ ' ALTER TABLE zkapp_states DROP COLUMN IF EXISTS %I' ,
122+ col_name
123+ );
124+
125+ RAISE DEBUG ' Ensured column % for zkapp_states not existent' , col_name;
126+ EXCEPTION
127+ WHEN OTHERS THEN
128+ PERFORM set_migration_status(' failed' ::migration_status);
129+ RAISE EXCEPTION ' An error occurred: %' , SQLERRM;
130+ END
131+ $$ LANGUAGE plpgsql;
132+
133+ SELECT try_remove_zkapp_states_element(31 );
134+ SELECT try_remove_zkapp_states_element(30 );
135+ SELECT try_remove_zkapp_states_element(29 );
136+ SELECT try_remove_zkapp_states_element(28 );
137+ SELECT try_remove_zkapp_states_element(27 );
138+ SELECT try_remove_zkapp_states_element(26 );
139+ SELECT try_remove_zkapp_states_element(25 );
140+ SELECT try_remove_zkapp_states_element(24 );
141+ SELECT try_remove_zkapp_states_element(23 );
142+ SELECT try_remove_zkapp_states_element(22 );
143+ SELECT try_remove_zkapp_states_element(21 );
144+ SELECT try_remove_zkapp_states_element(20 );
145+ SELECT try_remove_zkapp_states_element(19 );
146+ SELECT try_remove_zkapp_states_element(18 );
147+ SELECT try_remove_zkapp_states_element(17 );
148+ SELECT try_remove_zkapp_states_element(16 );
149+ SELECT try_remove_zkapp_states_element(15 );
150+ SELECT try_remove_zkapp_states_element(14 );
151+ SELECT try_remove_zkapp_states_element(13 );
152+ SELECT try_remove_zkapp_states_element(12 );
153+ SELECT try_remove_zkapp_states_element(11 );
154+ SELECT try_remove_zkapp_states_element(10 );
155+ SELECT try_remove_zkapp_states_element(9 );
156+ SELECT try_remove_zkapp_states_element(8 );
157+
158+ -- 3. `zkapp_states_nullable`: Remove nullable columns element31..element8
159+
109160CREATE OR REPLACE FUNCTION try_remove_zkapp_states_nullable_element (p_element_num INT )
110161RETURNS VOID AS $$
111162DECLARE
@@ -127,8 +178,6 @@ EXCEPTION
127178END
128179$$ LANGUAGE plpgsql;
129180
130- -- 2. `zkapp_states_nullable`: Remove nullable columns element31..element8
131-
132181SELECT try_remove_zkapp_states_nullable_element(31 );
133182SELECT try_remove_zkapp_states_nullable_element(30 );
134183SELECT try_remove_zkapp_states_nullable_element(29 );
@@ -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