Skip to content

Commit

Permalink
add check for .enc extension to support encryption (#467)
Browse files Browse the repository at this point in the history
* add check for .enc extension to support encryption

* check rotation_matrix file in file blobs
  • Loading branch information
hliu18 authored Oct 4, 2023
1 parent dee332d commit a5334dd
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
25 changes: 24 additions & 1 deletion include/utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ typedef int FileHandle;
#define PBSTR "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"
#define PBWIDTH 60

inline bool file_exists(const std::string &name, bool dirCheck = false)
inline bool file_exists_impl(const std::string &name, bool dirCheck = false)
{
int val;
#ifndef _WINDOWS
Expand Down Expand Up @@ -94,6 +94,29 @@ inline bool file_exists(const std::string &name, bool dirCheck = false)
}
}

inline bool file_exists(const std::string &name, bool dirCheck = false)
{
#ifdef EXEC_ENV_OLS
bool exists = file_exists_impl(name, dirCheck);
if (exists)
{
return true;
}
if (!dirCheck)
{
// try with .enc extension
std::string enc_name = name + ENCRYPTED_EXTENSION;
return file_exists_impl(enc_name, dirCheck);
}
else
{
return exists;
}
#else
return file_exists_impl(name, dirCheck);
#endif
}

inline void open_file_to_write(std::ofstream &writer, const std::string &filename)
{
writer.exceptions(std::ofstream::failbit | std::ofstream::badbit);
Expand Down
6 changes: 4 additions & 2 deletions src/pq.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,13 @@ void FixedChunkPQTable::load_pq_centroid_bin(const char *pq_table_file, size_t n
diskann::cout << "Loaded PQ Pivots: #ctrs: " << NUM_PQ_CENTROIDS << ", #dims: " << this->ndims
<< ", #chunks: " << this->n_chunks << std::endl;

if (file_exists(rotmat_file))
{
#ifdef EXEC_ENV_OLS
if (files.fileExists(rotmat_file))
{
diskann::load_bin<float>(files, rotmat_file, (float *&)rotmat_tr, nr, nc);
#else
if (file_exists(rotmat_file))
{
diskann::load_bin<float>(rotmat_file, rotmat_tr, nr, nc);
#endif
if (nr != this->ndims || nc != this->ndims)
Expand Down

0 comments on commit a5334dd

Please sign in to comment.