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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/