mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-14 11:47:15 +01:00
4a6bfc086c
Switched to POCO library for unified platform/library interface. Deprecated the external module API. It was creating more problems than solving. Removed most built-in libraries in favor of system libraries for easier maintenance. Cleaned and secured code with help from static analyzers.
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);
|
|
// ...
|
|
}
|
|
};
|