From 3a67bf47c23760e84169546e690f2199b5bc7e5f Mon Sep 17 00:00:00 2001 From: marcelb Date: Thu, 27 Jul 2023 22:25:39 +0200 Subject: [PATCH 1/4] Replace clear global response string --- test/test.cpp | 9 +++++++-- test/test.o | Bin 101288 -> 94128 bytes 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test/test.cpp b/test/test.cpp index e4f0d96..93214fe 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -8,12 +8,17 @@ int main() { sql3 mydb("../example/example.db", false); - //cout << mydb.ask("Select * from Tab1"); + // cout << mydb.ask("Select * from Tab1"); // cout << mydb.ask("INSERT INTO Tab1 VALUES(3,'Pakora', 'marijanab@bitelex.ml');"); auto res = mydb.query("Select * from Tab1"); - cout << endl << res["NAME"][0]; + for (auto i : res) + for (auto j: i.second) + cout << i.first << " : " << j << endl; + + + // cout << endl << res["NAME"][1]; return 0; } \ No newline at end of file diff --git a/test/test.o b/test/test.o index 17505afc1815b88931e052e7c7e5289dc27de57b..f26307ba8c0d901ba33bdd400c507345e74d75bd 100755 GIT binary patch literal 94128 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 QAOHG;bvVmL0flM$13IB)#sB~S literal 101288 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 From 11348539d3b8f5b4e46c610b70252f90604ce7a9 Mon Sep 17 00:00:00 2001 From: marcelb Date: Thu, 27 Jul 2023 22:37:52 +0200 Subject: [PATCH 2/4] Replace clear global response string v2, and disable stderr print in callback --- test/test.cpp | 9 +++++---- test/test.o | Bin 94128 -> 92848 bytes 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/test/test.cpp b/test/test.cpp index 93214fe..85c864a 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -11,11 +11,12 @@ int main() { // cout << mydb.ask("Select * from Tab1"); // cout << mydb.ask("INSERT INTO Tab1 VALUES(3,'Pakora', 'marijanab@bitelex.ml');"); - auto res = mydb.query("Select * from Tab1"); + // auto res = mydb.query("Select * from Tab1"); + auto res = mydb.query("INSERT INTO Tab1 VALUES(4,'Mare', 'marijanab@bitelex.co');"); - for (auto i : res) - for (auto j: i.second) - cout << i.first << " : " << j << endl; + // for (auto i : res) + // for (auto j: i.second) + // cout << i.first << " : " << j << endl; // cout << endl << res["NAME"][1]; diff --git a/test/test.o b/test/test.o index f26307ba8c0d901ba33bdd400c507345e74d75bd..fdcd0ed7470a3beba89ce9414017791b449aea9a 100755 GIT binary patch literal 92848 zcmeHwdtg-6@&DbBC{>hb)kZ~K-}oRVAwW>H0kXQ00Fi*j2QHgrARBEVFjja!=R@3@g1T|8>mY=oF?=y4e+%`NP#P zduHaGGiT16IddNO?iHbu)6)WhA(niGSf^P5e9t^qAqoZGP)=C&DYOc#y{tm(a4Tr- z22?u!3Kgjz+?b{a8V(gcs*v(!NzGn3LijY)wG*U#exKEnK|?E3aZToo24PuL7%es;+3h?S1S2dUa89Q!U?-8yoS2I zvyhMU@}GW0oz@Jg !r2-AfPUv$|O?CO${F7=bN7Yo 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 z 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 QAOHG;bvVmL0flM$13IB)#sB~S From 8e9abb6e5627275fae3918e6567ac696a0bb07d1 Mon Sep 17 00:00:00 2001 From: marcelb Date: Thu, 27 Jul 2023 23:04:24 +0200 Subject: [PATCH 3/4] Merge with thread --- example/example copy.db | Bin 20480 -> 0 bytes example/example.db | Bin 24576 -> 24576 bytes lib/sql3.hpp | 5 ++--- src/sql3.cpp | 35 +++++++++++------------------------ test/test.cpp | 22 ++++++++++++++-------- 5 files changed, 27 insertions(+), 35 deletions(-) delete mode 100644 example/example copy.db diff --git a/example/example copy.db b/example/example copy.db deleted file mode 100644 index 15a87b05ad58b0fb42439ca39994b780a656c7d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeI)Pixa)9KiACNz&OAW&{aE@bDOrwR8-sM=y&SBreUinxZ|GbVeAa9osV4RbPx} z--ah|djTGO0ph`f&l5MC71>qR?*qT5&!0RYzYo1UeL`RCCi_*P-W(jw@=84vw}g~p zQz;=tQ%6I`MX`0mx#;Lmd8z%cW>ajue7@>^7tYO(!n3^3-Ur>FAbdouqxHvp1=6j3X#*<+bW|7Lm$4R6XuIEP56VRl1$2bd)4&l*YTGXkAaI z;UEg!EPAD9&S%Z=AdHiR;opmPhVdXAj@4E)?wI?laFlJwseXb%lxE#lcgeG0!%6U}|U0y7Iz0JF}NJ`+Kpf!}2}}?~AS|2q1s}0tg_000Iag zfB*srAn<<+v@J*Yy{)_|-s;$#>K{hR;&fwH-j$BH(;wtVdqp{`>*=N0md?uZz6tM# zt|$l~fB*srAb&r009ILKmY** z5I_I{1Q1vPf!lUZF1!X{`F7v^`~2U$|1Zt?Kd1jo@Vy{K1Q0*~0R#|0009ILKmdW| N5@<@>m-W9K`~(S!l^Xy6 diff --git a/example/example.db b/example/example.db index bf694481d037f6defd6bf5d48daa2c83bf77a06f..a502dc346de6aeca06008ca80831c8125867a812 100644 GIT binary patch delta 49 zcmZoTz}Rqrae_1>_e2?IM(&LX%ltW3GVnj*Kf%9pGo!$4er{Q27DiE1X5Yl3)X7`o FeE@y44$lAp delta 51 zcmZoTz}Rqrae_1>*F+g-My`zs%ltW(Gw?s+Kf%9zGo!#veqMQI7Dh=^=77ZP{G!Ck HTjG5Ho4*gJ diff --git a/lib/sql3.hpp b/lib/sql3.hpp index 37762d4..738dc34 100644 --- a/lib/sql3.hpp +++ b/lib/sql3.hpp @@ -10,6 +10,7 @@ #include // #include #include +#include using namespace std; @@ -24,15 +25,13 @@ class sql3 { bool keepOpen; string Answer; map> parsed; + mutex io; sql3(const string path, bool _keepOpen = false); bool open(); bool close(); - bool run(const string sql_command); - string answer(); void mapit(); - string ask(const string sql_command); map> query(const string sql_command); ~sql3(); diff --git a/src/sql3.cpp b/src/sql3.cpp index 7e29b20..71089d5 100644 --- a/src/sql3.cpp +++ b/src/sql3.cpp @@ -23,10 +23,11 @@ bool sql3::close() { return operationStatus != SQLITE_OK; } -bool sql3::run(const string sql_command) { - +map> sql3::query(const string sql_command) { + io.lock(); if (!keepOpen) { if (open()) { + io.unlock(); throw string("[ERROR] Unable to open database "); } } @@ -37,7 +38,6 @@ bool sql3::run(const string sql_command) { exec_stuts = sqlite3_exec(db, sql_command.c_str(), callback, NULL, &messaggeError); if (exec_stuts != SQLITE_OK) { - // printf("[ERROR] Ne mogu Ĩitati bazu podataka!"); sqlite3_free(messaggeError); r = false; } @@ -47,40 +47,27 @@ bool sql3::run(const string sql_command) { if (!keepOpen) { if(close()) { + io.unlock(); throw string("[ERROR] Unable to close database "); } } - return r; -} + map> _parsed; -string sql3::answer() { - string _Answer = Answer; - Answer.clear(); - return _Answer; -} + cout << Answer << endl; -string sql3::ask(const string sql_command) { - if (!run(sql_command)) { + if (!r) { + io.unlock(); throw string("[ERROR] Unable to read database "); - //return {}; - } - else { - return answer(); } -} -map> sql3::query(const string sql_command) { - if (!run(sql_command)) { - throw string("[ERROR] Unable to read database "); - //return {}; - } else { mapit(); - map> _parsed = parsed; + _parsed = parsed; parsed.clear(); - return _parsed; } + io.unlock(); + return _parsed; } void sql3::mapit() { diff --git a/test/test.cpp b/test/test.cpp index 85c864a..b97e378 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -5,21 +5,27 @@ using namespace std; int main() { + try { - sql3 mydb("../example/example.db", false); + sql3 mydb("../example/example_copy.db", false); // cout << mydb.ask("Select * from Tab1"); // cout << mydb.ask("INSERT INTO Tab1 VALUES(3,'Pakora', 'marijanab@bitelex.ml');"); - // auto res = mydb.query("Select * from Tab1"); - auto res = mydb.query("INSERT INTO Tab1 VALUES(4,'Mare', 'marijanab@bitelex.co');"); + auto res = mydb.query("Select * from Tab1"); + // cout << endl << res["NAME"][1]; - // for (auto i : res) - // for (auto j: i.second) - // cout << i.first << " : " << j << endl; - + // cout << endl << res["MAIL"][1]; - // cout << endl << res["NAME"][1]; + for (auto i : res) { + for (auto j: i.second) { + cout << i.first << " : " << j << endl; + } + } + + } catch (const string err) { + cout << err << endl; + } return 0; } \ No newline at end of file From d3726df3e3423a74354f2a214e15110e5fc0ad3e Mon Sep 17 00:00:00 2001 From: marcelb Date: Thu, 27 Jul 2023 23:08:46 +0200 Subject: [PATCH 4/4] Clear debug prints --- src/sql3.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/sql3.cpp b/src/sql3.cpp index 71089d5..4d24e06 100644 --- a/src/sql3.cpp +++ b/src/sql3.cpp @@ -54,8 +54,6 @@ map> sql3::query(const string sql_command) { map> _parsed; - cout << Answer << endl; - if (!r) { io.unlock(); throw string("[ERROR] Unable to read database ");