diff --git a/crates/datastore/src/locking_tx_datastore/state_view.rs b/crates/datastore/src/locking_tx_datastore/state_view.rs
index 8c4c978aaa0..6595a0b72c9 100644
--- a/crates/datastore/src/locking_tx_datastore/state_view.rs
+++ b/crates/datastore/src/locking_tx_datastore/state_view.rs
@@ -16,7 +16,7 @@ use core::ops::RangeBounds;
use spacetimedb_lib::ConnectionId;
use spacetimedb_primitives::{ColList, TableId};
use spacetimedb_sats::AlgebraicValue;
-use spacetimedb_schema::schema::{ColumnSchema, TableSchema, ViewDefInfo};
+use spacetimedb_schema::schema::{ColumnSchema, IndexSchema, TableSchema, ViewDefInfo};
use spacetimedb_table::table::IndexScanPointIter;
use spacetimedb_table::{
blob_store::HashMapBlobStore,
@@ -120,6 +120,22 @@ pub trait StateView {
.transpose()
}
+ /// Look up an `st_index_accessor` row by its canonical index name.
+ fn find_st_index_accessor_row_by_index_name(&self, index_name: &str) -> Result