@@ -37,12 +37,13 @@ DO $$
3737 c .data # > array['tables', 'users', 'name'] ? 'cast_as'));
3838
3939 -- Match index removed
40- PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' );
40+ PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' , migrating => true );
4141 ASSERT NOT (SELECT _search_config_exists(' users' , ' name' , ' match' ));
4242
43- -- All indexes removed, delete the emtpty pending config
44- PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' unique' );
45- ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
43+ -- All indexes removed, but column config preserved
44+ PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' unique' , migrating => true);
45+ ASSERT (SELECT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
46+ ASSERT (SELECT data # > array['tables', 'users', 'name', 'indexes'] = '{}' FROM eql_v2_configuration c WHERE c.state = 'pending');
4647
4748 END;
4849$$ LANGUAGE plpgsql;
@@ -82,15 +83,16 @@ DO $$
8283
8384
8485 -- Match index removed
85- PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' );
86+ PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' , migrating => true );
8687 ASSERT NOT (SELECT _search_config_exists(' users' , ' name' , ' match' ));
8788
8889 -- Match index removed
89- PERFORM eql_v2 .remove_search_config (' blah' , ' vtha' , ' unique' );
90+ PERFORM eql_v2 .remove_search_config (' blah' , ' vtha' , ' unique' , migrating => true );
9091 ASSERT NOT (SELECT _search_config_exists(' users' , ' vtha' , ' unique' ));
9192
92- -- All indexes removed, delete the emtpty pending config
93- ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
93+ -- All indexes removed, but column config preserved
94+ ASSERT (SELECT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
95+ ASSERT (SELECT data # > array['tables', 'blah', 'vtha', 'indexes'] = '{}' FROM eql_v2_configuration c WHERE c.state = 'pending');
9496
9597 END;
9698$$ LANGUAGE plpgsql;
@@ -122,9 +124,10 @@ DO $$
122124 WHERE c .state = ' pending' AND
123125 c .data # > array['tables', 'users', 'name'] ? 'cast_as'));
124126
125- -- All indexes removed, delete the emtpty pending config
126- PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' );
127- ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
127+ -- All indexes removed, but column config preserved
128+ PERFORM eql_v2 .remove_search_config (' users' , ' name' , ' match' , migrating => true);
129+ ASSERT (SELECT EXISTS (SELECT FROM eql_v2_configuration c WHERE c .state = ' pending' ));
130+ ASSERT (SELECT data # > array['tables', 'users', 'name', 'indexes'] = '{}' FROM eql_v2_configuration c WHERE c.state = 'pending');
128131 END;
129132$$ LANGUAGE plpgsql;
130133
0 commit comments