summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Huerner <ingo.huerner@xse.de>2015-02-23 22:20:56 +0100
committerIngo Huerner <ingo.huerner@xse.de>2015-02-23 22:20:56 +0100
commit8adc99a9dedd74b6209bfa785545c68ddbfc7732 (patch)
treef09258b7a4ac42c959ad5c1846f7f78dd681e8b8
parent84f52fadc2153ef8ab5d3c41547e11005ca0213e (diff)
downloadpersistence-client-library-8adc99a9dedd74b6209bfa785545c68ddbfc7732.tar.gz
Now open RCT database in read-only mode
-rw-r--r--src/persistence_client_library_db_access.c6
-rw-r--r--src/persistence_client_library_prct_access.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/persistence_client_library_db_access.c b/src/persistence_client_library_db_access.c
index cd9476a..55f168a 100644
--- a/src/persistence_client_library_db_access.c
+++ b/src/persistence_client_library_db_access.c
@@ -47,12 +47,16 @@ static int database_get(PersistenceInfo_s* info, const char* dbPath, int dbType)
if(arrayIdx < DbTableSize)
{
+ int openFlags = 0x01; // by default create file if not existing
+
if(gHandlesDBCreated[arrayIdx][dbType] == 0)
{
char path[PERS_ORG_MAX_LENGTH_PATH_FILENAME] = {0};
if(PersistencePolicy_wt == dbType) /// write through database
{
+ /// 0x02 ==> open database in write through mode,keep bit 1 set in order to create db if not existing
+ openFlags |= 0x02;
snprintf(path, PERS_ORG_MAX_LENGTH_PATH_FILENAME, "%s%s", dbPath, plugin_gLocalWt);
}
else if(PersistencePolicy_wc == dbType) // cached database
@@ -74,7 +78,7 @@ static int database_get(PersistenceInfo_s* info, const char* dbPath, int dbType)
if (handleDB == -1)
{
- handleDB = plugin_persComDbOpen(path, 0x01);
+ handleDB = plugin_persComDbOpen(path, openFlags);
if(handleDB >= 0)
{
gHandlesDB[arrayIdx][dbType] = handleDB ;
diff --git a/src/persistence_client_library_prct_access.c b/src/persistence_client_library_prct_access.c
index 60526fb..405bc7c 100644
--- a/src/persistence_client_library_prct_access.c
+++ b/src/persistence_client_library_prct_access.c
@@ -122,7 +122,7 @@ int get_resource_cfg_table(PersistenceRCT_e rct, int group)
DLT_LOG(gPclDLTContext, DLT_LOG_ERROR, DLT_STRING("gRCT - no valid PersistenceRCT_e"));
break;
}
- gResource_table[arrayIdx] = plugin_persComRctOpen(filename, 0x00);
+ gResource_table[arrayIdx] = plugin_persComRctOpen(filename, 0x04); // 0x04 ==> open in read only mode
if(gResource_table[arrayIdx] < 0)
{