void API::CreateIndex(SQLCreateIndex& statement) { cout << "Creating Index: " << statement.get_index_name() << endl; if (current_db_.length() == 0) throw NoDatabaseSelectedException(); Database *db = catalog_m_->GetDB(current_db_); if (db->GetTable(statement.get_tb_name()) == NULL) throw TableNotExistException(); if (db->CheckIfIndexExists(statement.get_index_name()) ) throw IndexAlreadyExistsException(); IndexManager *im = new IndexManager(catalog_m_, buffer_m_, current_db_); im->CreateIndex(statement); delete im; }