Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cellframe/libdap-chain-global-db
1 result
Show changes
Commits on Source (18)
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.1)
project (dap_chain_global_db C)
file(GLOB DAP_CHAIN_GLOBAL_DB_SRC *.c)
......@@ -6,8 +6,6 @@ file(GLOB DAP_CHAIN_GLOBAL_DB_HDR *.h)
if(WIN32)
include_directories(../libdap/src/win32/)
include_directories(../3rdparty/libmemcached/)
include_directories(../3rdparty/libmemcached/win32/)
include_directories(../3rdparty/wepoll/include/)
include_directories(../3rdparty/uthash/src/)
include_directories(../3rdparty/libjson-c/)
......@@ -24,7 +22,12 @@ if(WIN32)
target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto dap_cuttdb)
endif()
if(UNIX)
target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto ldb talloc tevent sqlite3 dap_cuttdb)
target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_chain dap_chain_crypto sqlite3 dap_cuttdb)
if(NOT ANDROID)
target_link_libraries(${PROJECT_NAME} ldb talloc tevent)
endif()
endif()
target_include_directories(dap_chain_global_db INTERFACE .)
......
......@@ -48,7 +48,6 @@
#define LOG_TAG "dap_global_db"
#define DAP_APP_NAME NODE_NETNAME "-node"
// for access from several streams
//static pthread_mutex_t ldb_mutex_ = PTHREAD_MUTEX_INITIALIZER;
......@@ -76,6 +75,7 @@ typedef struct history_group_item
// Tacked group callbacks
static history_group_item_t * s_history_group_items = NULL;
static char *s_storage_path = NULL;
char * extract_group_prefix(const char * a_group);
......@@ -177,16 +177,12 @@ void dap_chain_global_db_objs_delete(dap_global_db_obj_t *objs, size_t a_count)
*/
int dap_chain_global_db_init(dap_config_t * g_config)
{
char l_storage_path[MAX_PATH];
#ifdef WIN32
memcpy(l_storage_path, s_sys_dir_path, l_sys_dir_path_len);
#endif
dap_sprintf(l_storage_path + l_sys_dir_path_len, "%s",
dap_config_get_item_str(g_config, "resources", "dap_global_db_path"));
s_storage_path= dap_strdup(
dap_config_get_item_str(g_config, "resources", "dap_global_db_path") );
//const char *l_driver_name = dap_config_get_item_str_default(g_config, "resources", "dap_global_db_driver", "sqlite");
const char *l_driver_name = dap_config_get_item_str_default(g_config, "resources", "dap_global_db_driver", "cdb");
lock();
int res = dap_db_driver_init(l_driver_name, l_storage_path);
int res = dap_db_driver_init(l_driver_name, s_storage_path);
unlock();
return res;
}
......
......@@ -402,7 +402,7 @@ dap_store_obj_t* dap_db_driver_cdb_read_cond_store_obj(const char *a_group, uint
if (l_arg.q > 0) {
l_count_out = l_arg.n - l_arg.q;
void *tmp = DAP_REALLOC(l_arg.o, l_count_out * sizeof(dap_store_obj_t));
if (!tmp) {
if (!tmp && l_count_out) {
log_it(L_CRITICAL, "Couldn't re-allocate memory for portion of store objects!");
DAP_DELETE(l_arg.o);
return NULL;
......
......@@ -1164,6 +1164,7 @@ dap_list_t* dap_db_log_get_list(uint64_t first_id)
{
dap_list_t *l_list = NULL;
size_t l_data_size_out = 0;
log_it(L_DEBUG,"loading db list...");
dap_store_obj_t *l_objs = dap_chain_global_db_cond_load(GROUP_LOCAL_HISTORY, first_id, &l_data_size_out);
//dap_global_db_obj_t *l_objs = dap_chain_global_db_gr_load(GROUP_LOCAL_HISTORY, first_timestamp, &l_data_size_out);
for(size_t i = 0; i < l_data_size_out; i++) {
......@@ -1174,6 +1175,7 @@ dap_list_t* dap_db_log_get_list(uint64_t first_id)
l_item->value = (uint8_t*) dap_strdup((char*) l_obj_cur->value);
l_list = dap_list_append(l_list, l_item);
}
log_it(L_DEBUG,"loaded db list n=%d", l_data_size_out);
dap_store_obj_free(l_objs, l_data_size_out);
return l_list;
......
......@@ -108,7 +108,7 @@ bool dap_db_log_set_last_id_remote(uint64_t a_node_addr, uint64_t a_id)
l_objs.value_len = sizeof(uint64_t);
bool l_ret = dap_chain_global_db_gr_save(&l_objs, 1, GROUP_LOCAL_NODE_LAST_ID);
DAP_DELETE(l_objs.key);
log_it( L_NOTICE, "Node 0x%016X set last synced timestamp %llu",a_id);
//log_it( L_DEBUG, "Node 0x%016X set last synced timestamp %llu",a_id);
return l_ret;
}
......
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.1)
project(dap_cuttdb C)
add_definitions ("-D_GNU_SOURCE")
set(CMAKE_C_FLAGS "-std=gnu11 -Wall -Wextra -fPIC")
set(CMAKE_C_FLAGS " -Wall -Wextra -fPIC")
file(GLOB cuttdb_src src/*.c)
file(GLOB cuttdb_h src/*.h)
......@@ -22,7 +22,7 @@ list(FILTER cuttdb_h EXCLUDE REGEX "test_mt.")
if(UNIX)
list(FILTER cuttdb_src EXCLUDE REGEX "mman.")
list(FILTER cuttdb_h EXCLUDE REGEX "mman.")
list(FILTER cuttdb_h EXCLUDE REGEX "mman.")
endif()
add_library(${PROJECT_NAME} STATIC ${cuttdb_src} ${cuttdb_h})
......@@ -31,6 +31,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES COMPILER_LANGUAGE C)
set_target_properties(dap_cuttdb PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(${PROJECT_NAME} -lpthread)
target_link_libraries(${PROJECT_NAME})
target_include_directories(${PROJECT_NAME} INTERFACE src)
#ifndef _MMAN_H_
#define _MMAN_H_
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
#endif
#include <_mingw.h>
#include <stdint.h>
#include <io.h>
......