Advertisement
Guest User

Untitled

a guest
Jul 12th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <pthread.h>
  3. #include <unistd.h>
  4.  
  5. #include <sqlite3.h>
  6.  
  7. using namespace std;
  8.  
  9. void *poll(void *data)
  10. {
  11.     int rc = 0;
  12.     char *errMsg;
  13.     sqlite3 *database;
  14.  
  15.     rc = sqlite3_open(":memory:", &database);
  16.     if(rc != SQLITE_OK)
  17.     {
  18.         std::cout << "Cannot open memory database" << std::endl;
  19.     }
  20.  
  21.     rc = sqlite3_exec(database, "create table if not exist table (id int, descr text)", nullptr, nullptr, &errMsg);
  22.     if(rc != SQLITE_OK)
  23.     {
  24.         std::cout << "Cannot create table in SQLiteDB" << std::endl;
  25.     }
  26.  
  27.     while(true)
  28.     {
  29.  
  30.         std::cout << "Thread safe: " << sqlite3_threadsafe() << std::endl;
  31.    
  32.         rc = sqlite3_exec(database, "pragma page_count", nullptr, nullptr, &errMsg);
  33.         if(rc != SQLITE_OK)
  34.         {
  35.             std::cout << "Select page count from DB failed " << errMsg << std::endl;
  36.             sqlite3_free(errMsg);
  37.         }
  38.  
  39.         usleep(100000);
  40.    
  41.         std::cout << "Select from DBSQLite" << std::endl;
  42.     }
  43. }
  44.  
  45. int main(int argc, char *argv[])
  46. {
  47.  
  48.     if(argc > 1)
  49.     {
  50.         poll(NULL);
  51.     }
  52.     else
  53.     {
  54.         cout << "Starting of sqlite DB threaded mode ..." << endl;
  55.  
  56.         pthread_t p;
  57.    
  58.         if(pthread_create(&p, NULL, poll, NULL))
  59.         {
  60.             cerr << "Error creating thread" << endl;
  61.         }
  62.    
  63.         if(pthread_join(p, NULL))
  64.         {
  65.             cerr << "Cannot join thread" << endl;
  66.         }
  67.     }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement