no-id-object-result.hxx | no-id-object-result.hxx | |||
---|---|---|---|---|
skipping to change at line 62 | skipping to change at line 62 | |||
cache (); | cache (); | |||
virtual std::size_t | virtual std::size_t | |||
size (); | size (); | |||
using base_type::current; | using base_type::current; | |||
private: | private: | |||
details::shared_ptr<select_statement> statement_; | details::shared_ptr<select_statement> statement_; | |||
statements_type& statements_; | statements_type& statements_; | |||
std::size_t count_; | ||||
}; | }; | |||
} | } | |||
} | } | |||
#include <odb/pgsql/no-id-object-result.txx> | #include <odb/pgsql/no-id-object-result.txx> | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_PGSQL_NO_ID_OBJECT_RESULT_HXX | #endif // ODB_PGSQL_NO_ID_OBJECT_RESULT_HXX | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
no-id-object-result.txx | no-id-object-result.txx | |||
---|---|---|---|---|
skipping to change at line 28 | skipping to change at line 28 | |||
statement_->free_result (); | statement_->free_result (); | |||
} | } | |||
template <typename T> | template <typename T> | |||
no_id_object_result_impl<T>:: | no_id_object_result_impl<T>:: | |||
no_id_object_result_impl (const query&, | no_id_object_result_impl (const query&, | |||
details::shared_ptr<select_statement> stateme nt, | details::shared_ptr<select_statement> stateme nt, | |||
statements_type& statements) | statements_type& statements) | |||
: base_type (statements.connection ().database ()), | : base_type (statements.connection ().database ()), | |||
statement_ (statement), | statement_ (statement), | |||
statements_ (statements) | statements_ (statements), | |||
count_ (0) | ||||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
void no_id_object_result_impl<T>:: | void no_id_object_result_impl<T>:: | |||
load (object_type& obj) | load (object_type& obj) | |||
{ | { | |||
// The image can grow between calls to load() as a result of other | // The image can grow between calls to load() as a result of other | |||
// statements execution. | // statements execution. | |||
// | // | |||
skipping to change at line 79 | skipping to change at line 80 | |||
object_traits::init (obj, im, &db); | object_traits::init (obj, im, &db); | |||
object_traits::callback (db, obj, callback_event::post_load); | object_traits::callback (db, obj, callback_event::post_load); | |||
} | } | |||
template <typename T> | template <typename T> | |||
void no_id_object_result_impl<T>:: | void no_id_object_result_impl<T>:: | |||
next () | next () | |||
{ | { | |||
this->current (pointer_type ()); | this->current (pointer_type ()); | |||
if (!statement_->next ()) | if (statement_->next ()) | |||
count_++; | ||||
else | ||||
{ | { | |||
statement_->free_result (); | statement_->free_result (); | |||
this->end_ = true; | this->end_ = true; | |||
} | } | |||
} | } | |||
template <typename T> | template <typename T> | |||
void no_id_object_result_impl<T>:: | void no_id_object_result_impl<T>:: | |||
cache () | cache () | |||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
std::size_t no_id_object_result_impl<T>:: | std::size_t no_id_object_result_impl<T>:: | |||
size () | size () | |||
{ | { | |||
return statement_->result_size (); | return this->end_ ? count_ : statement_->result_size (); | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||
polymorphic-object-result.hxx | polymorphic-object-result.hxx | |||
---|---|---|---|---|
skipping to change at line 78 | skipping to change at line 78 | |||
using base_type::current; | using base_type::current; | |||
private: | private: | |||
void | void | |||
load_image (); | load_image (); | |||
private: | private: | |||
details::shared_ptr<select_statement> statement_; | details::shared_ptr<select_statement> statement_; | |||
statements_type& statements_; | statements_type& statements_; | |||
std::size_t count_; | ||||
}; | }; | |||
} | } | |||
} | } | |||
#include <odb/pgsql/polymorphic-object-result.txx> | #include <odb/pgsql/polymorphic-object-result.txx> | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_PGSQL_POLYMORPHIC_OBJECT_RESULT_HXX | #endif // ODB_PGSQL_POLYMORPHIC_OBJECT_RESULT_HXX | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
polymorphic-object-result.txx | polymorphic-object-result.txx | |||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
statement_->free_result (); | statement_->free_result (); | |||
} | } | |||
template <typename T> | template <typename T> | |||
polymorphic_object_result_impl<T>:: | polymorphic_object_result_impl<T>:: | |||
polymorphic_object_result_impl (const query&, | polymorphic_object_result_impl (const query&, | |||
details::shared_ptr<select_statement> s t, | details::shared_ptr<select_statement> s t, | |||
statements_type& sts) | statements_type& sts) | |||
: base_type (sts.connection ().database ()), | : base_type (sts.connection ().database ()), | |||
statement_ (st), | statement_ (st), | |||
statements_ (sts) | statements_ (sts), | |||
count_ (0) | ||||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
void polymorphic_object_result_impl<T>:: | void polymorphic_object_result_impl<T>:: | |||
load (object_type* pobj, bool fetch) | load (object_type* pobj, bool fetch) | |||
{ | { | |||
if (fetch) | if (fetch) | |||
load_image (); | load_image (); | |||
skipping to change at line 170 | skipping to change at line 171 | |||
return root_traits::discriminator ( | return root_traits::discriminator ( | |||
statements_.root_statements ().image ()); | statements_.root_statements ().image ()); | |||
} | } | |||
template <typename T> | template <typename T> | |||
void polymorphic_object_result_impl<T>:: | void polymorphic_object_result_impl<T>:: | |||
next () | next () | |||
{ | { | |||
this->current (pointer_type ()); | this->current (pointer_type ()); | |||
if (!statement_->next ()) | if (statement_->next ()) | |||
count_++; | ||||
else | ||||
{ | { | |||
statement_->free_result (); | statement_->free_result (); | |||
this->end_ = true; | this->end_ = true; | |||
} | } | |||
} | } | |||
template <typename T, typename R> | template <typename T, typename R> | |||
struct polymorphic_image_rebind | struct polymorphic_image_rebind | |||
{ | { | |||
// Derived type version. | // Derived type version. | |||
skipping to change at line 262 | skipping to change at line 265 | |||
template <typename T> | template <typename T> | |||
void polymorphic_object_result_impl<T>:: | void polymorphic_object_result_impl<T>:: | |||
cache () | cache () | |||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
std::size_t polymorphic_object_result_impl<T>:: | std::size_t polymorphic_object_result_impl<T>:: | |||
size () | size () | |||
{ | { | |||
return statement_->result_size (); | return this->end_ ? count_ : statement_->result_size (); | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||
simple-object-result.hxx | simple-object-result.hxx | |||
---|---|---|---|---|
skipping to change at line 70 | skipping to change at line 70 | |||
using base_type::current; | using base_type::current; | |||
private: | private: | |||
void | void | |||
load_image (); | load_image (); | |||
private: | private: | |||
details::shared_ptr<select_statement> statement_; | details::shared_ptr<select_statement> statement_; | |||
statements_type& statements_; | statements_type& statements_; | |||
std::size_t count_; | ||||
}; | }; | |||
} | } | |||
} | } | |||
#include <odb/pgsql/simple-object-result.txx> | #include <odb/pgsql/simple-object-result.txx> | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_PGSQL_SIMPLE_OBJECT_RESULT_HXX | #endif // ODB_PGSQL_SIMPLE_OBJECT_RESULT_HXX | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
simple-object-result.txx | simple-object-result.txx | |||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
statement_->free_result (); | statement_->free_result (); | |||
} | } | |||
template <typename T> | template <typename T> | |||
object_result_impl<T>:: | object_result_impl<T>:: | |||
object_result_impl (const query&, | object_result_impl (const query&, | |||
details::shared_ptr<select_statement> statement, | details::shared_ptr<select_statement> statement, | |||
statements_type& statements) | statements_type& statements) | |||
: base_type (statements.connection ().database ()), | : base_type (statements.connection ().database ()), | |||
statement_ (statement), | statement_ (statement), | |||
statements_ (statements) | statements_ (statements), | |||
count_ (0) | ||||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
void object_result_impl<T>:: | void object_result_impl<T>:: | |||
load (object_type& obj, bool fetch) | load (object_type& obj, bool fetch) | |||
{ | { | |||
if (fetch) | if (fetch) | |||
load_image (); | load_image (); | |||
skipping to change at line 87 | skipping to change at line 88 | |||
load_image (); | load_image (); | |||
return object_traits::id (statements_.image ()); | return object_traits::id (statements_.image ()); | |||
} | } | |||
template <typename T> | template <typename T> | |||
void object_result_impl<T>:: | void object_result_impl<T>:: | |||
next () | next () | |||
{ | { | |||
this->current (pointer_type ()); | this->current (pointer_type ()); | |||
if (!statement_->next ()) | if (statement_->next ()) | |||
count_++; | ||||
else | ||||
{ | { | |||
statement_->free_result (); | statement_->free_result (); | |||
this->end_ = true; | this->end_ = true; | |||
} | } | |||
} | } | |||
template <typename T> | template <typename T> | |||
void object_result_impl<T>:: | void object_result_impl<T>:: | |||
load_image () | load_image () | |||
{ | { | |||
skipping to change at line 139 | skipping to change at line 142 | |||
template <typename T> | template <typename T> | |||
void object_result_impl<T>:: | void object_result_impl<T>:: | |||
cache () | cache () | |||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
std::size_t object_result_impl<T>:: | std::size_t object_result_impl<T>:: | |||
size () | size () | |||
{ | { | |||
return statement_->result_size (); | return this->end_ ? count_ : statement_->result_size (); | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||
version.hxx | version.hxx | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
// Check that we have compatible ODB version. | // Check that we have compatible ODB version. | |||
// | // | |||
#if ODB_VERSION != 20100 | #if ODB_VERSION != 20100 | |||
# error incompatible odb interface version detected | # error incompatible odb interface version detected | |||
#endif | #endif | |||
// libodb-pgsql version: odb interface version plus the bugfix | // libodb-pgsql version: odb interface version plus the bugfix | |||
// version. | // version. | |||
// | // | |||
#define LIBODB_PGSQL_VERSION 2010000 | #define LIBODB_PGSQL_VERSION 2010100 | |||
#define LIBODB_PGSQL_VERSION_STR "2.1.0" | #define LIBODB_PGSQL_VERSION_STR "2.1.1" | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_PGSQL_VERSION_HXX | #endif // ODB_PGSQL_VERSION_HXX | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
view-result.hxx | view-result.hxx | |||
---|---|---|---|---|
skipping to change at line 62 | skipping to change at line 62 | |||
cache (); | cache (); | |||
virtual std::size_t | virtual std::size_t | |||
size (); | size (); | |||
using base_type::current; | using base_type::current; | |||
private: | private: | |||
details::shared_ptr<select_statement> statement_; | details::shared_ptr<select_statement> statement_; | |||
statements_type& statements_; | statements_type& statements_; | |||
std::size_t count_; | ||||
}; | }; | |||
} | } | |||
} | } | |||
#include <odb/pgsql/view-result.txx> | #include <odb/pgsql/view-result.txx> | |||
#include <odb/post.hxx> | #include <odb/post.hxx> | |||
#endif // ODB_PGSQL_VIEW_RESULT_HXX | #endif // ODB_PGSQL_VIEW_RESULT_HXX | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
view-result.txx | view-result.txx | |||
---|---|---|---|---|
skipping to change at line 28 | skipping to change at line 28 | |||
statement_->free_result (); | statement_->free_result (); | |||
} | } | |||
template <typename T> | template <typename T> | |||
view_result_impl<T>:: | view_result_impl<T>:: | |||
view_result_impl (const query&, | view_result_impl (const query&, | |||
details::shared_ptr<select_statement> statement, | details::shared_ptr<select_statement> statement, | |||
statements_type& statements) | statements_type& statements) | |||
: base_type (statements.connection ().database ()), | : base_type (statements.connection ().database ()), | |||
statement_ (statement), | statement_ (statement), | |||
statements_ (statements) | statements_ (statements), | |||
count_ (0) | ||||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
void view_result_impl<T>:: | void view_result_impl<T>:: | |||
load (view_type& view) | load (view_type& view) | |||
{ | { | |||
// The image can grow between calls to load() as a result of other | // The image can grow between calls to load() as a result of other | |||
// statements execution. | // statements execution. | |||
// | // | |||
skipping to change at line 79 | skipping to change at line 80 | |||
view_traits::init (view, im, &db); | view_traits::init (view, im, &db); | |||
view_traits::callback (db, view, callback_event::post_load); | view_traits::callback (db, view, callback_event::post_load); | |||
} | } | |||
template <typename T> | template <typename T> | |||
void view_result_impl<T>:: | void view_result_impl<T>:: | |||
next () | next () | |||
{ | { | |||
this->current (pointer_type ()); | this->current (pointer_type ()); | |||
if (!statement_->next ()) | if (statement_->next ()) | |||
count_++; | ||||
else | ||||
{ | { | |||
statement_->free_result (); | statement_->free_result (); | |||
this->end_ = true; | this->end_ = true; | |||
} | } | |||
} | } | |||
template <typename T> | template <typename T> | |||
void view_result_impl<T>:: | void view_result_impl<T>:: | |||
cache () | cache () | |||
{ | { | |||
} | } | |||
template <typename T> | template <typename T> | |||
std::size_t view_result_impl<T>:: | std::size_t view_result_impl<T>:: | |||
size () | size () | |||
{ | { | |||
return statement_->result_size (); | return this->end_ ? count_ : statement_->result_size (); | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 6 lines changed or added | |||