diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 17:28:38 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-25 17:28:38 +0300 |
commit | d9f372d7b1bc1abbff5fdf9735118290cd024d5e (patch) | |
tree | 49bc3160ea184e19cd5cb6a7404dee42311c0fd7 /libodb-pgsql/odb/pgsql/view-statements.hxx | |
parent | 55e14d8f9697adeeb05fcd23cf8f19c33452bb56 (diff) |
Turn libodb-pgsql repository into package for muti-package repositorylibodb-pgsql
Diffstat (limited to 'libodb-pgsql/odb/pgsql/view-statements.hxx')
-rw-r--r-- | libodb-pgsql/odb/pgsql/view-statements.hxx | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/libodb-pgsql/odb/pgsql/view-statements.hxx b/libodb-pgsql/odb/pgsql/view-statements.hxx new file mode 100644 index 0000000..970e610 --- /dev/null +++ b/libodb-pgsql/odb/pgsql/view-statements.hxx @@ -0,0 +1,88 @@ +// file : odb/pgsql/view-statements.hxx +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef ODB_PGSQL_VIEW_STATEMENTS_HXX +#define ODB_PGSQL_VIEW_STATEMENTS_HXX + +#include <odb/pre.hxx> + +#include <cstddef> // std::size_t + +#include <odb/forward.hxx> +#include <odb/traits.hxx> + +#include <odb/pgsql/version.hxx> +#include <odb/pgsql/binding.hxx> +#include <odb/pgsql/statement.hxx> +#include <odb/pgsql/statements-base.hxx> + +namespace odb +{ + namespace pgsql + { + template <typename T> + class view_statements: public statements_base + { + public: + typedef T view_type; + typedef view_traits_impl<view_type, id_pgsql> view_traits; + typedef typename view_traits::pointer_type pointer_type; + typedef typename view_traits::image_type image_type; + + public: + view_statements (connection_type&); + + virtual + ~view_statements (); + + // View image. + // + image_type& + image () + { + return image_; + } + + std::size_t + image_version () const + { + return image_version_; + } + + void + image_version (std::size_t v) + { + image_version_ = v; + } + + binding& + image_binding () + { + return image_binding_; + } + + bool* + image_truncated () + { + return image_truncated_; + } + + private: + view_statements (const view_statements&); + view_statements& operator= (const view_statements&); + + private: + image_type image_; + std::size_t image_version_; + binding image_binding_; + bind image_bind_[view_traits::column_count]; + bool image_truncated_[view_traits::column_count]; + }; + } +} + +#include <odb/pgsql/view-statements.txx> + +#include <odb/post.hxx> + +#endif // ODB_PGSQL_VIEW_STATEMENTS_HXX |