MCPcopy Create free account
hub / github.com/activeloopai/deeplake / clear

Method clear

cpp/deeplake_pg/table_storage.cpp:1128–1163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1126}
1127
1128void table_storage::clear()
1129{
1130 auto creds = session_credentials::get_credentials();
1131 // Clean up all datasets and metadata
1132 for (auto& [table_id, table_data] : tables_) {
1133 try {
1134 table_data.commit(); // Ensure all changes are committed before deletion
1135 auto creds_for_delete = creds;
1136 deeplake_api::delete_dataset(table_data.get_dataset_path(), std::move(creds_for_delete)).get_future().get();
1137 FreeTupleDesc(table_data.get_tuple_descriptor());
1138 } catch (const base::exception& e) {
1139 // Log error but continue cleaning up other tables
1140 ereport(
1141 WARNING,
1142 (errcode(ERRCODE_INTERNAL_ERROR),
1143 errmsg("Failed to delete dataset for table %s: %s", table_data.get_table_name().c_str(), e.what())));
1144 }
1145 }
1146 table_version_tracker::clear_all_versions();
1147 tables_.clear();
1148 views_.clear();
1149 up_to_date_ = false;
1150
1151 if (!pg::utils::check_table_exists("pg_deeplake_tables") || !pg::utils::check_table_exists("pg_deeplake_views")) {
1152 return;
1153 }
1154 // Clean up metadata table
1155 pg::utils::memory_context_switcher context_switcher;
1156 pg::utils::spi_connector connector;
1157 if (SPI_execute("DELETE FROM public.pg_deeplake_tables", false, 0) != SPI_OK_DELETE) {
1158 ereport(WARNING, (errcode(ERRCODE_INTERNAL_ERROR), errmsg("Failed to clear metadata table")));
1159 }
1160 if (SPI_execute("DELETE FROM public.pg_deeplake_views", false, 0) != SPI_OK_DELETE) {
1161 ereport(WARNING, (errcode(ERRCODE_INTERNAL_ERROR), errmsg("Failed to clear views metadata table")));
1162 }
1163}
1164
1165table_data& table_storage::get_table_data(Oid table_id)
1166{

Callers 15

resetMethod · 0.45
invalidateMethod · 0.45
load_int64_vectorFunction · 0.45
resetMethod · 0.45
load_table_metadataMethod · 0.45
resetMethod · 0.45
translate_type_castsMethod · 0.45
translate_date_diffMethod · 0.45

Calls 6

check_table_existsFunction · 0.85
get_futureMethod · 0.80
get_tuple_descriptorMethod · 0.80
whatMethod · 0.80
commitMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected