mirror of
				https://github.com/pocoproject/poco.git
				synced 2025-10-28 11:31:53 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| POCO Data Release Notes
 | |
| POCO Data Library
 | |
| 
 | |
| !!!Release 1.5.0
 | |
| 
 | |
| The Data library has been available since the 1.2 release. For the 1.5.0 release, a few things have been changed in an incompatible way that requires changes
 | |
| to existing code.
 | |
| 
 | |
| !!Summary of Changes
 | |
| 
 | |
|   - Poco::Data::RowFormatter class for convenient output formatting.
 | |
|   - Stored procedures support (for databases and ODBC drivers that support it).
 | |
|   - Improved transaction support (for databases that support it).
 | |
|   - Bulk execution (for ODBC drivers that support it).
 | |
|   - Batch queries and multiple results (for databases and ODBC drivers that support it).
 | |
|   - Stored procedures/functions support (for databases that support it)
 | |
|   - New Poco::Data::SessionPoolContainer class.
 | |
| 
 | |
| 
 | |
| !!Incompatible Changes and Possible Transition Issues
 | |
| 
 | |
| Keywords (use, into, limit, etc) now reside in Poco::Data::Keywords namespace.
 | |
| 
 | |
| 
 | |
| !!!Release 1.5.2
 | |
| 
 | |
| !!Summary of Changes
 | |
| 
 | |
|   - framework-wide refactoring to use SharedPtr-based garbage collection
 | |
| 
 | |
| !!Incompatible Changes and Possible Transition Issues
 | |
| 
 | |
| Internally, (Abstract)Binder, Extracion nas (where applicable) Preparator are garbage collected.
 | |
| While old way of passing pointers to TypeHandler may still work, it is strongly recommended 
 | |
| to pass SharedPtr to handler functions, e.g. :
 | |
| 
 | |
|   template <>
 | |
|   class TypeHandler<Person>
 | |
|   {
 | |
|   public:
 | |
| 	static std::size_t size()
 | |
| 	{
 | |
| 		return 3;
 | |
| 	}
 | |
| 	
 | |
| 	static void bind(std::size_t pos, const Person& person, AbstractBinder::Ptr pBinder, AbstractBinder::Direction dir)
 | |
| 	{
 | |
| 		TypeHandler<std::string>::bind(pos++, person.name, pBinder, dir);
 | |
| 		// ...
 | |
| 	}
 | |
| 	
 | |
| 	static void extract(std::size_t pos, Person& person, const Person& deflt, AbstractExtractor::Ptr pExtr)
 | |
| 	{
 | |
| 		TypeHandler<std::string>::extract(pos++, person.name, deflt.name, pExtr);
 | |
| 		// ...
 | |
| 	}
 | |
| 	
 | |
| 	static void prepare(std::size_t pos, const Person& person, AbstractPreparator::Ptr pPrep)
 | |
| 	{
 | |
| 		TypeHandler<std::string>::prepare(pos++, person.name, pPrep);
 | |
| 		// ...
 | |
| 	}
 | |
|   };
 | 
