@@ -733,4 +733,37 @@ BOOST_AUTO_TEST_CASE(isNotValidAfterDropDatabase)
733733 BOOST_CHECK_EQUAL (attachment1.isValid (), false );
734734}
735735
736+ BOOST_AUTO_TEST_CASE (ping)
737+ {
738+ const auto database = getTempFile (" Attachment-ping.fdb" );
739+ Attachment attachment{CLIENT , database, AttachmentOptions ().setCreateDatabase (true ).setForcedWrites (false )};
740+ FbDropDatabase attachmentDrop{attachment};
741+
742+ BOOST_CHECK_NO_THROW (attachment.ping ());
743+ }
744+
745+ BOOST_AUTO_TEST_CASE (resetSession)
746+ {
747+ const auto database = getTempFile (" Attachment-resetSession.fdb" );
748+ Attachment attachment{CLIENT , database, AttachmentOptions ().setCreateDatabase (true ).setForcedWrites (false )};
749+ FbDropDatabase attachmentDrop{attachment};
750+
751+ Transaction transaction{attachment};
752+ attachment.execute (transaction,
753+ " select rdb$set_context('USER_SESSION', 'test_var', 'test_value') from rdb$database" );
754+ const auto valueBefore = attachment.queryScalar <std::string>(
755+ transaction, " select rdb$get_context('USER_SESSION', 'test_var') from rdb$database" );
756+ BOOST_REQUIRE (valueBefore.has_value ());
757+ BOOST_CHECK_EQUAL (*valueBefore, " test_value" );
758+ transaction.commit ();
759+
760+ attachment.resetSession ();
761+
762+ Transaction transaction2{attachment};
763+ const auto valueAfter = attachment.queryScalar <std::string>(
764+ transaction2, " select rdb$get_context('USER_SESSION', 'test_var') from rdb$database" );
765+ BOOST_CHECK (!valueAfter.has_value ());
766+ transaction2.commit ();
767+ }
768+
736769BOOST_AUTO_TEST_SUITE_END ()
0 commit comments