+/*
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+*/
+
+
#include <creaImageIOSQLiteTreeHandler.h>
#include <creaImageIOSystem.h>
#include <creaImageIOGimmick.h>
//=====================================================================
bool SQLiteTreeHandler::Open(bool writable)
{
- // std::cout << "***> SQLiteTreeHandler::Open('"<<GetFileName()<<"')"<<std::endl;
+
+ //sqlite3_exec(mDB, "PRAGMA synchronous=OFF ", NULL, 0, &errMsg);
SetWritable(writable);
return DBOpen();
}
//=====================================================================
int SQLiteTreeHandler::LoadChildren(tree::Node* parent, int maxlevel)
- {
+ {
+ //mDB->execDML("PRAGMA synchronous=ON ");
if (parent==0) parent = GetTree().GetTree();
return DBLoadChildren(parent,maxlevel);
}
try
{
mDB->open(GetFileName().c_str());
+ mDB->execDML("pragma synchronous=off;");
}
catch (CppSQLite3Exception& e)
{
<< e.errorMessage() <<std::endl);
return false;
}
-
+ mDB->execDML("pragma synchronous=off;");
// CREATING TABLES
// quote must be doubled
boost::algorithm::replace_all(i_str,"'","''");
// Found strange strings which contained NULL char INSIDE string
- int i,size=i_str.size();
+ int i,size=(int)i_str.size();
for (i=0;i<size;++i)
{
if (i_str[i]==0)
CppSQLite3Query q;
QUERYDB(query,q);
- int p=0;
+ //int p=0;
while (!q.eof())
{
UPDATEDB(insert);
// Store DB id of newly created node;
- long lastrow = mDB->lastRowId();
+ //long lastrow = mDB->lastRowId();
std::stringstream ri;
ri << mDB->lastRowId();
n->SetAttribute("ID",ri.str());
sql += " SET ";
sql += key;
sql += " = '";
- sql += value;
+ sql += convert(value);
sql += "' WHERE ID = '";
sql += n->GetAttribute("ID");
sql +="'";
out<<"commit transaction;";
UPDATEDB(out.str());
}
+ const std::string SQLiteTreeHandler::convert(const std::string &i_word)
+ {
+ std::string temp = i_word;
+ boost::algorithm::replace_all(temp,"'","''");
+ return temp.c_str();
+ }
} // namespace creaImageIO