     || ' FOR EACH ROW EXECUTE PROCEDURE _ermrest.maintain_row();';
 END LOOP;
 
+-- disable one-time conversion that MAY have been done above
+CREATE OR REPLACE FUNCTION _ermrest.htable_to_visible_entities(trid text, sname text, tname text, htname text) RETURNS void AS $$
+BEGIN
+  -- do nothing during normal operations...
+  RETURN;
+END;
+$$ LANGUAGE plpgsql;
+
 RAISE NOTICE 'Completed idempotent creation of standard ERMrest schema.';
 
 END ermrest_schema;

  );
  CREATE INDEX ve_open_idx ON _ermrest_history.visible_entities (table_rid, entity_rid, lower(during)) WHERE upper(during) IS NULL;
  CREATE INDEX ve_resolve_idx ON _ermrest_history.visible_entities (entity_rid, during);
END IF;

IF (SELECT True FROM information_schema.tables WHERE table_schema = '_ermrest' AND table_name = 'known_columns') IS NULL THEN

      || ' FOR EACH STATEMENT EXECUTE PROCEDURE _ermrest_history.' || quote_ident('maintain_' || htname) || '();';
  END IF;

  -- this function becomes a no-op under steady state operations but handles one-time resolver upgrade
  PERFORM _ermrest.htable_to_visible_entities(table_rid, sname, tname, htname);

  -- skip healing if requested by caller and history table seems superficially active already
  IF htable_exists AND (new_trigger_exists OR old_trigger_exists) AND NOT heal_existing
  THEN
