25 #ifndef _OPENCOG_PERSITENT_ATOM_STORAGE_H
26 #define _OPENCOG_PERSITENT_ATOM_STORAGE_H
34 #include <opencog/util/async_method_caller.h>
60 void init(
const char *,
const char *,
const char *);
104 static_assert(2 ==
sizeof(
Type),
105 "*** Typemap needs to be redesigned to handle larger types! ***");
106 #define TYPEMAP_SZ (1 << (8 * sizeof(Type)))
116 #ifdef OUT_OF_LINE_TVS
128 const std::string& username,
129 const std::string& authentication);
131 const char * username,
132 const char * authentication);
170 #endif // _OPENCOG_PERSITENT_ATOM_STORAGE_H
const HandleSeq & getOutgoingSet() const
void storeSingleAtom(AtomPtr)
void init(const char *, const char *, const char *)
std::atomic< unsigned long > store_count
char * db_typename[TYPEMAP_SZ]
std::string oset_to_string(const HandleSeq &, int)
std::vector< Handle > HandleSeq
a list of handles
std::shared_ptr< Atom > AtomPtr
void storeAtom(AtomPtr, bool synchronous=false)
ODBCConnection * get_conn()
Type loading_typemap[TYPEMAP_SZ]
NodePtr getNode(const Node &n)
std::shared_ptr< Link > LinkPtr
void vdo_store_atom(AtomPtr &)
void do_store_single_atom(AtomPtr, int)
void storeOutgoing(AtomPtr, Handle)
unsigned long UUID
UUID == Universally Unique Identifier.
std::mutex id_cache_mutex
bool local_id_cache_is_inited
AtomPtr makeAtom(Response &, Handle)
const std::string & getName() const
void loadType(AtomTable &, Type)
void getOutgoing(HandleSeq &, Handle)
std::set< UUID > id_create_cache
NodePtr getNode(Type, const char *)
void store(const AtomTable &)
AtomStorage(const std::string &dbname, const std::string &username, const std::string &authentication)
AtomPtr getAtom(const char *, int)
int getMaxObservedHeight(void)
std::atomic< unsigned long > load_count
int do_store_atom(AtomPtr)
std::set< UUID > local_id_cache
std::shared_ptr< Node > NodePtr
async_caller< AtomStorage, AtomPtr > _write_queue
std::unique_lock< std::mutex > maybe_create_id(UUID)
UUID getMaxObservedUUID(void)
int storing_typemap[TYPEMAP_SZ]
unsigned short Type
type of Atoms, represented as short integer (16 bits)
std::mutex id_create_mutex
void set_typemap(int, const char *)
std::vector< Handle > getIncomingSet(Handle)
void add_id_to_cache(UUID)
LinkPtr getLink(Type, const std::vector< Handle > &)
bool idExists(const char *)
void put_conn(ODBCConnection *)
concurrent_stack< ODBCConnection * > conn_pool
LinkPtr getLink(const Link &l)
AtomStorage & operator=(const AtomStorage &)=delete