summaryrefslogtreecommitdiff
path: root/odb/pgsql/no-id-object-result.txx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-01-25 17:28:38 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-01-25 17:28:38 +0300
commitd9f372d7b1bc1abbff5fdf9735118290cd024d5e (patch)
tree49bc3160ea184e19cd5cb6a7404dee42311c0fd7 /odb/pgsql/no-id-object-result.txx
parent55e14d8f9697adeeb05fcd23cf8f19c33452bb56 (diff)
Turn libodb-pgsql repository into package for muti-package repositorylibodb-pgsql
Diffstat (limited to 'odb/pgsql/no-id-object-result.txx')
-rw-r--r--odb/pgsql/no-id-object-result.txx114
1 files changed, 0 insertions, 114 deletions
diff --git a/odb/pgsql/no-id-object-result.txx b/odb/pgsql/no-id-object-result.txx
deleted file mode 100644
index 0bae952..0000000
--- a/odb/pgsql/no-id-object-result.txx
+++ /dev/null
@@ -1,114 +0,0 @@
-// file : odb/pgsql/no-id-object-result.txx
-// license : GNU GPL v2; see accompanying LICENSE file
-
-#include <odb/callback.hxx>
-
-#include <odb/pgsql/no-id-object-statements.hxx>
-
-namespace odb
-{
- namespace pgsql
- {
- template <typename T>
- no_id_object_result_impl<T>::
- ~no_id_object_result_impl ()
- {
- if (!this->end_)
- statement_->free_result ();
- }
-
- template <typename T>
- void no_id_object_result_impl<T>::
- invalidate ()
- {
- if (!this->end_)
- {
- statement_->free_result ();
- this->end_ = true;
- }
-
- statement_.reset ();
- }
-
- template <typename T>
- no_id_object_result_impl<T>::
- no_id_object_result_impl (const query_base&,
- details::shared_ptr<select_statement> statement,
- statements_type& statements,
- const schema_version_migration* svm)
- : base_type (statements.connection ()),
- statement_ (statement),
- statements_ (statements),
- tc_ (svm),
- count_ (0)
- {
- }
-
- template <typename T>
- void no_id_object_result_impl<T>::
- load (object_type& obj)
- {
- // The image can grow between calls to load() as a result of other
- // statements execution.
- //
- typename object_traits::image_type& im (statements_.image ());
-
- if (im.version != statements_.select_image_version ())
- {
- binding& b (statements_.select_image_binding ());
- tc_.bind (b.bind, im, statement_select);
- statements_.select_image_version (im.version);
- b.version++;
- }
-
- select_statement::result r (statement_->load ());
-
- if (r == select_statement::truncated)
- {
- if (tc_.grow (im, statements_.select_image_truncated ()))
- im.version++;
-
- if (im.version != statements_.select_image_version ())
- {
- binding& b (statements_.select_image_binding ());
- tc_.bind (b.bind, im, statement_select);
- statements_.select_image_version (im.version);
- b.version++;
- statement_->reload ();
- }
- }
-
- object_traits::callback (this->db_, obj, callback_event::pre_load);
- tc_.init (obj, im, &this->db_);
- object_traits::callback (this->db_, obj, callback_event::post_load);
- }
-
- template <typename T>
- void no_id_object_result_impl<T>::
- next ()
- {
- this->current (pointer_type ());
-
- if (statement_->next ())
- count_++;
- else
- {
- statement_->free_result ();
- this->end_ = true;
- }
- }
-
- template <typename T>
- void no_id_object_result_impl<T>::
- cache ()
- {
- }
-
- template <typename T>
- std::size_t no_id_object_result_impl<T>::
- size ()
- {
- return this->end_ ? count_ : statement_->result_size ();
- }
- }
-}