@@ -2560,18 +2560,41 @@ void SQLiteTest::testReconnect()
25602560void SQLiteTest::testSystemTable ()
25612561{
25622562 Session session (Poco::Data::SQLite::Connector::KEY , " dummy.db" );
2563+ int cntFile = 0 ;
2564+ session << " DROP TABLE IF EXISTS Test" , now;
2565+ session << " CREATE TABLE Test (Test INTEGER)" , now;
2566+ session << " INSERT INTO Test VALUES (1)" , now;
2567+ session << " SELECT count(*) FROM Test" , into (cntFile), now;
2568+ assert (1 == cntFile);
25632569
2564- int cnt = -1 ;
2565- session << " SELECT count(*) FROM sys.dual" , into (cnt ), now;
2566- assert (0 == cnt );
2570+ int cntMem = -1 ;
2571+ session << " SELECT count(*) FROM sys.dual" , into (cntMem ), now;
2572+ assert (0 == cntMem );
25672573
25682574 session << " INSERT INTO sys.dual VALUES ('test')" , now;
2569- session << " SELECT count(*) FROM sys.dual" , into (cnt), now;
2570- assert (1 == cnt);
2575+ session << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2576+ assert (1 == cntMem);
2577+
2578+ // connect another session
2579+ Session session2 (Poco::Data::SQLite::Connector::KEY , " dummy.db" );
2580+ // verify it has it's own sys table
2581+ session2 << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2582+ assert (0 == cntMem);
2583+ // verify it shares the file table
2584+ session2 << " SELECT count(*) FROM Test" , into (cntFile), now;
2585+ assert (1 == cntFile);
2586+ session2 << " INSERT INTO sys.dual VALUES ('test')" , now;
2587+ session2 << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2588+ assert (1 == cntMem);
25712589
25722590 session << " DELETE FROM sys.dual" , now;
2573- session << " SELECT count(*) FROM sys.dual" , into (cnt), now;
2574- assert (0 == cnt);
2591+ session << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2592+ assert (0 == cntMem);
2593+ session2 << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2594+ assert (1 == cntMem);
2595+ session2 << " DELETE FROM sys.dual" , now;
2596+ session2 << " SELECT count(*) FROM sys.dual" , into (cntMem), now;
2597+ assert (0 == cntMem);
25752598
25762599 try
25772600 {
0 commit comments