17 #ifndef STRINGDICTIONARY_STRINGDICTIONARYPROXY_H
18 #define STRINGDICTIONARY_STRINGDICTIONARYPROXY_H
20 #include "../Shared/mapd_shared_mutex.h"
33 int32_t
getOrAdd(
const std::string& str) noexcept;
39 const std::string& str)
const;
40 std::string
getString(int32_t string_id)
const;
41 std::pair<const char*, size_t>
getStringBytes(int32_t string_id)
const noexcept;
45 std::vector<int32_t>
getLike(
const std::string& pattern,
48 const char escape)
const;
50 std::vector<int32_t>
getCompare(
const std::string& pattern,
51 const std::string& comp_operator)
const;
53 std::vector<int32_t>
getRegexpLike(
const std::string& pattern,
const char escape)
const;
66 #endif // STRINGDICTIONARY_STRINGDICTIONARYPROXY_H
std::pair< const char *, size_t > getStringBytes(int32_t string_id) const noexcept
std::vector< int32_t > getLike(const std::string &pattern, const bool icase, const bool is_simple, const char escape) const
std::map< int32_t, std::string > transient_int_to_str_
StringDictionary * getDictionary() noexcept
int32_t getIdOfStringNoGeneration(const std::string &str) const
size_t storageEntryCount() const
std::string getString(int32_t string_id) const
std::vector< int32_t > getCompare(const std::string &pattern, const std::string &comp_operator) const
std::shared_ptr< StringDictionary > string_dict_
std::shared_timed_mutex mapd_shared_mutex
std::map< std::string, int32_t > transient_str_to_int_
const std::map< int32_t, std::string > getTransientMapping() const
void updateGeneration(const int64_t generation) noexcept
std::vector< int32_t > getRegexpLike(const std::string &pattern, const char escape) const
int32_t getOrAdd(const std::string &str) noexcept
StringDictionaryProxy(std::shared_ptr< StringDictionary > sd, const int64_t generation)
int32_t getOrAddTransient(const std::string &str)
int32_t getIdOfString(const std::string &str) const
mapd_shared_mutex rw_mutex_
int64_t getGeneration() const noexcept