Attach index

This commit is contained in:
Yuriy Dupyn 2024-02-05 21:54:20 +01:00
parent 9af6ad90f3
commit 48442cdd9e

View file

@ -190,6 +190,7 @@ impl StateHandler {
} }
Insert(table_position, values) => { Insert(table_position, values) => {
let state = self.state.read().await; let state = self.state.read().await;
let mut table = state.table_at_mut(table_position).await; let mut table = state.table_at_mut(table_position).await;
let mut cursor = table.write().await?; let mut cursor = table.write().await?;
@ -200,9 +201,10 @@ impl StateHandler {
} }
Delete(table_position, maybe_condition) => { Delete(table_position, maybe_condition) => {
let state = self.state.read().await; let state = self.state.read().await;
let mut table = state.table_at_mut(table_position).await; let mut table = state.table_at_mut(table_position).await;
let table_name = table.table_name().clone(); let table_name = table.table_name().clone();
let mut cursor = table.write().await?; let cursor = table.write().await?;
let count = match maybe_condition { let count = match maybe_condition {
None => State::delete_all_rows(table_name, cursor).await?, None => State::delete_all_rows(table_name, cursor).await?,
@ -219,7 +221,11 @@ impl StateHandler {
} }
CreateIndex(table_position, column) => { CreateIndex(table_position, column) => {
let state = self.state.read().await; let state = self.state.read().await;
todo!()
let mut table = state.table_at_mut(table_position).await;
let mut cursor = table.write().await?;
cursor.attach_index(column as storage_engine::store::Column).await.map_err(|e| RuntimeError::StorageEngineError(table.table_name().to_string(), e))?;
response_writer.write_command_complete(CompleteStatus::CreateIndex).await.map_err(|e| RuntimeError::AnyhowError(e))
} }
} }
} }