mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
				synced 2025-10-30 18:17:50 +00:00 
			
		
		
		
	ODBC tests for UUID, updated ActiveRecord projects
This commit is contained in:
		| @@ -547,7 +547,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"/> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -2,13 +2,13 @@ | |||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Filter Include="ActiveRecord"> |     <Filter Include="ActiveRecord"> | ||||||
|       <UniqueIdentifier>{eb0280a1-a66f-43a9-b087-283f3d9139d1}</UniqueIdentifier> |       <UniqueIdentifier>{a2961e06-9534-4945-9e33-934994da5c47}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Header Files"> |     <Filter Include="ActiveRecord\Header Files"> | ||||||
|       <UniqueIdentifier>{2f82c075-05e0-4477-9388-91cf1e241f3e}</UniqueIdentifier> |       <UniqueIdentifier>{a04c32cc-eb8e-4257-a1fc-abdceac6ef39}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Source Files"> |     <Filter Include="ActiveRecord\Source Files"> | ||||||
|       <UniqueIdentifier>{31a3a452-f2fc-4069-b735-edde3b7f789c}</UniqueIdentifier> |       <UniqueIdentifier>{2c6e1f7c-78bd-4a1a-8c85-581b5684a1ee}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
| @@ -30,9 +30,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |       <Filter>ActiveRecord\Header Files</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"> |  | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -547,7 +547,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"/> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -2,13 +2,13 @@ | |||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Filter Include="ActiveRecord"> |     <Filter Include="ActiveRecord"> | ||||||
|       <UniqueIdentifier>{ceead541-8bf8-4ce1-9bc2-20efb73de1e6}</UniqueIdentifier> |       <UniqueIdentifier>{a4ef5b7c-1517-45e6-8856-e9a6c0a9193c}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Header Files"> |     <Filter Include="ActiveRecord\Header Files"> | ||||||
|       <UniqueIdentifier>{f0cd499d-26dc-4a15-950b-713fefc2140e}</UniqueIdentifier> |       <UniqueIdentifier>{28638692-307b-4c80-9fed-23bcf87f7cc1}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Source Files"> |     <Filter Include="ActiveRecord\Source Files"> | ||||||
|       <UniqueIdentifier>{07561f15-f350-4d4d-bd7c-8108cc3f72ed}</UniqueIdentifier> |       <UniqueIdentifier>{0b612e41-e6c4-48fa-9e02-ba01ee09fb19}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
| @@ -30,9 +30,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |       <Filter>ActiveRecord\Header Files</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"> |  | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -547,7 +547,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\IDTraits.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\Query.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"/> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"/> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -2,13 +2,13 @@ | |||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <Filter Include="ActiveRecord"> |     <Filter Include="ActiveRecord"> | ||||||
|       <UniqueIdentifier>{2d793a01-367a-4494-8825-e83fc6bf6a9b}</UniqueIdentifier> |       <UniqueIdentifier>{0c7ca2fc-405c-41cb-8a85-0c0be704bb61}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Header Files"> |     <Filter Include="ActiveRecord\Header Files"> | ||||||
|       <UniqueIdentifier>{724c795a-0793-4a4e-a7b2-50ef1a3535e6}</UniqueIdentifier> |       <UniqueIdentifier>{dc022939-cad7-4896-a860-11904f78b5e8}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|     <Filter Include="ActiveRecord\Source Files"> |     <Filter Include="ActiveRecord\Source Files"> | ||||||
|       <UniqueIdentifier>{b72bbac1-7fd7-4167-a4fa-4c700c2636bf}</UniqueIdentifier> |       <UniqueIdentifier>{ff728db9-1520-40b8-89fd-93aa9669be62}</UniqueIdentifier> | ||||||
|     </Filter> |     </Filter> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
| @@ -30,9 +30,6 @@ | |||||||
|     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> |     <ClInclude Include="include\Poco\ActiveRecord\StatementPlaceholderProvider.h"> | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |       <Filter>ActiveRecord\Header Files</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|     <ClInclude Include="include\Poco\ActiveRecord\TypeHandler.h"> |  | ||||||
|       <Filter>ActiveRecord\Header Files</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <ClCompile Include="src\ActiveRecord.cpp"> |     <ClCompile Include="src\ActiveRecord.cpp"> | ||||||
|   | |||||||
| @@ -524,10 +524,6 @@ | |||||||
| 					RelativePath=".\include\Poco\ActiveRecord\StatementPlaceholderProvider.h" | 					RelativePath=".\include\Poco\ActiveRecord\StatementPlaceholderProvider.h" | ||||||
| 					> | 					> | ||||||
| 				</File> | 				</File> | ||||||
| 				<File |  | ||||||
| 					RelativePath=".\include\Poco\ActiveRecord\TypeHandler.h" |  | ||||||
| 					> |  | ||||||
| 				</File> |  | ||||||
| 			</Filter> | 			</Filter> | ||||||
| 			<Filter | 			<Filter | ||||||
| 				Name="Source Files" | 				Name="Source Files" | ||||||
|   | |||||||
| @@ -612,6 +612,15 @@ void ODBCSQLServerTest::recreateFloatsTable() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void ODBCSQLServerTest::recreateUUIDsTable() | ||||||
|  | { | ||||||
|  | 	dropObject("TABLE", "Strings"); | ||||||
|  | 	try { session() << "CREATE TABLE Strings (str UNIQUEIDENTIFIER)", now; } | ||||||
|  | 	catch(ConnectionException& ce){ std::cout << ce.toString() << std::endl; fail ("recreateUUIDsTable()"); } | ||||||
|  | 	catch(StatementException& se){ std::cout << se.toString() << std::endl; fail ("recreateUUIDsTable()"); } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| void ODBCSQLServerTest::recreateTuplesTable() | void ODBCSQLServerTest::recreateTuplesTable() | ||||||
| { | { | ||||||
| 	dropObject("TABLE", "Tuples"); | 	dropObject("TABLE", "Tuples"); | ||||||
| @@ -787,6 +796,7 @@ CppUnit::Test* ODBCSQLServerTest::suite() | |||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testDateTime); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testDateTime); | ||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testFloat); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testFloat); | ||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testDouble); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testDouble); | ||||||
|  | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testUUID); | ||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testTuple); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testTuple); | ||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testTupleVector); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testTupleVector); | ||||||
| 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testStoredProcedure); | 		CppUnit_addTest(pSuite, ODBCSQLServerTest, testStoredProcedure); | ||||||
|   | |||||||
| @@ -64,6 +64,7 @@ private: | |||||||
| 	void recreateStringsTable(); | 	void recreateStringsTable(); | ||||||
| 	void recreateIntsTable(); | 	void recreateIntsTable(); | ||||||
| 	void recreateFloatsTable(); | 	void recreateFloatsTable(); | ||||||
|  | 	void recreateUUIDsTable(); | ||||||
| 	void recreateTuplesTable(); | 	void recreateTuplesTable(); | ||||||
| 	void recreateVectorTable(); | 	void recreateVectorTable(); | ||||||
| 	void recreateVectorsTable(); | 	void recreateVectorsTable(); | ||||||
|   | |||||||
| @@ -917,6 +917,21 @@ void ODBCTest::testDouble() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void ODBCTest::testUUID() | ||||||
|  | { | ||||||
|  | 	if (!_pSession) fail ("Test not available."); | ||||||
|  |  | ||||||
|  | 	for (int i = 0; i < 8;) | ||||||
|  | 	{ | ||||||
|  | 		recreateUUIDsTable(); | ||||||
|  | 		_pSession->setFeature("autoBind", bindValue(i)); | ||||||
|  | 		_pSession->setFeature("autoExtract", bindValue(i+1)); | ||||||
|  | 		_pExecutor->uuids(); | ||||||
|  | 		i += 2; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| void ODBCTest::testTuple() | void ODBCTest::testTuple() | ||||||
| { | { | ||||||
| 	if (!_pSession) fail ("Test not available."); | 	if (!_pSession) fail ("Test not available."); | ||||||
|   | |||||||
| @@ -113,6 +113,8 @@ public: | |||||||
| 	virtual void testFloat(); | 	virtual void testFloat(); | ||||||
| 	virtual void testDouble(); | 	virtual void testDouble(); | ||||||
|  |  | ||||||
|  | 	virtual void testUUID(); | ||||||
|  |  | ||||||
| 	virtual void testTuple(); | 	virtual void testTuple(); | ||||||
| 	virtual void testTupleVector(); | 	virtual void testTupleVector(); | ||||||
|  |  | ||||||
| @@ -166,6 +168,7 @@ protected: | |||||||
| 	virtual void recreateStringsTable(); | 	virtual void recreateStringsTable(); | ||||||
| 	virtual void recreateIntsTable(); | 	virtual void recreateIntsTable(); | ||||||
| 	virtual void recreateFloatsTable(); | 	virtual void recreateFloatsTable(); | ||||||
|  | 	virtual void recreateUUIDsTable(); | ||||||
| 	virtual void recreateTuplesTable(); | 	virtual void recreateTuplesTable(); | ||||||
| 	virtual void recreateVectorsTable(); | 	virtual void recreateVectorsTable(); | ||||||
| 	virtual void recreateAnysTable(); | 	virtual void recreateAnysTable(); | ||||||
| @@ -317,6 +320,12 @@ inline void ODBCTest::recreateFloatsTable() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | inline void ODBCTest::recreateUUIDsTable() | ||||||
|  | {  | ||||||
|  | 	throw Poco::NotImplementedException("ODBCTest::recreateUUIDsTable()"); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| inline void ODBCTest::recreateTuplesTable() | inline void ODBCTest::recreateTuplesTable() | ||||||
| {  | {  | ||||||
| 	throw Poco::NotImplementedException("ODBCTest::recreateTuplesTable()"); | 	throw Poco::NotImplementedException("ODBCTest::recreateTuplesTable()"); | ||||||
|   | |||||||
| @@ -1540,6 +1540,29 @@ void SQLExecutor::doubles() | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void SQLExecutor::uuids() | ||||||
|  | { | ||||||
|  | 	std::string funct = "uuids()"; | ||||||
|  | 	Poco::UUID data("49cf6461-9b62-4163-9659-5472ef73153d"); | ||||||
|  | 	Poco::UUID ret; | ||||||
|  |  | ||||||
|  | 	try { session() << "INSERT INTO Strings VALUES (?)", use(data), now; } | ||||||
|  | 	catch(ConnectionException& ce){ std::cout << ce.toString() << std::endl; fail (funct); } | ||||||
|  | 	catch(StatementException& se){ std::cout << se.toString() << std::endl; fail (funct); } | ||||||
|  |  | ||||||
|  | 	int count = 0; | ||||||
|  | 	try { session() << "SELECT COUNT(*) FROM Strings", into(count), now; } | ||||||
|  | 	catch(ConnectionException& ce){ std::cout << ce.toString() << std::endl; fail (funct); } | ||||||
|  | 	catch(StatementException& se){ std::cout << se.toString() << std::endl; fail (funct); } | ||||||
|  | 	assertTrue (count == 1); | ||||||
|  |  | ||||||
|  | 	try { session() << "SELECT str FROM Strings", into(ret), now; } | ||||||
|  | 	catch(ConnectionException& ce){ std::cout << ce.toString() << std::endl; fail (funct); } | ||||||
|  | 	catch(StatementException& se){ std::cout << se.toString() << std::endl; fail (funct); } | ||||||
|  | 	assertTrue (ret == data); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| void SQLExecutor::insertSingleBulkVec() | void SQLExecutor::insertSingleBulkVec() | ||||||
| { | { | ||||||
| 	std::string funct = "insertSingleBulkVec()"; | 	std::string funct = "insertSingleBulkVec()"; | ||||||
|   | |||||||
| @@ -469,6 +469,7 @@ public: | |||||||
| 	void time(); | 	void time(); | ||||||
| 	void floats(); | 	void floats(); | ||||||
| 	void doubles(); | 	void doubles(); | ||||||
|  | 	void uuids(); | ||||||
| 	void tuples(); | 	void tuples(); | ||||||
| 	void tupleVector(); | 	void tupleVector(); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Günter Obiltschnig
					Günter Obiltschnig