aboutsummaryrefslogtreecommitdiff
path: root/odb/mysql/object-statements.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/mysql/object-statements.hxx')
-rw-r--r--odb/mysql/object-statements.hxx62
1 files changed, 44 insertions, 18 deletions
diff --git a/odb/mysql/object-statements.hxx b/odb/mysql/object-statements.hxx
index c2c97e8..4c81a76 100644
--- a/odb/mysql/object-statements.hxx
+++ b/odb/mysql/object-statements.hxx
@@ -78,27 +78,45 @@ namespace odb
}
std::size_t
- image_version () const
+ in_image_version () const
{
- return image_version_;
+ return in_image_version_;
+ }
+
+ std::size_t
+ out_image_version () const
+ {
+ return out_image_version_;
}
void
- image_version (std::size_t v)
+ in_image_version (std::size_t v)
{
- image_version_ = v;
+ in_image_version_ = v;
+ }
+
+ void
+ out_image_version (std::size_t v)
+ {
+ out_image_version_ = v;
}
binding&
- image_binding ()
+ in_image_binding ()
{
- return image_binding_;
+ return in_image_binding_;
+ }
+
+ binding&
+ out_image_binding ()
+ {
+ return out_image_binding_;
}
my_bool*
- image_error ()
+ out_image_error ()
{
- return image_error_;
+ return out_image_error_;
}
// Object id image.
@@ -133,7 +151,7 @@ namespace odb
if (persist_ == 0)
persist_.reset (
new (details::shared) persist_statement_type (
- conn_, object_traits::persist_statement, image_binding_));
+ conn_, object_traits::persist_statement, in_image_binding_));
return *persist_;
}
@@ -147,7 +165,7 @@ namespace odb
conn_,
object_traits::find_statement,
id_image_binding_,
- image_binding_));
+ out_image_binding_));
return *find_;
}
@@ -161,7 +179,7 @@ namespace odb
conn_,
object_traits::update_statement,
id_image_binding_,
- image_binding_));
+ in_image_binding_));
return *update_;
}
@@ -194,16 +212,24 @@ namespace odb
private:
container_statement_cache_type container_statement_cache_;
- // The last element is the id parameter. The update statement
- // depends on this being one contiguous arrays.
+ image_type image_;
+
+ // In (send) binding. The last element is the id parameter. The
+ // update statement depends on this being one contiguous arrays.
//
- MYSQL_BIND image_bind_[object_traits::column_count + 1];
+ std::size_t in_image_version_;
+ binding in_image_binding_;
+ MYSQL_BIND in_image_bind_[object_traits::in_column_count + 1];
- image_type image_;
- std::size_t image_version_;
- my_bool image_error_[object_traits::column_count];
- binding image_binding_;
+ // Out (receive) binding.
+ //
+ std::size_t out_image_version_;
+ binding out_image_binding_;
+ MYSQL_BIND out_image_bind_[object_traits::out_column_count];
+ my_bool out_image_error_[object_traits::out_column_count];
+ // Id image binding (only in).
+ //
id_image_type id_image_;
std::size_t id_image_version_;
binding id_image_binding_;