aboutsummaryrefslogtreecommitdiff
path: root/bpkg/package-odb.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/package-odb.ixx')
-rw-r--r--bpkg/package-odb.ixx1038
1 files changed, 1038 insertions, 0 deletions
diff --git a/bpkg/package-odb.ixx b/bpkg/package-odb.ixx
new file mode 100644
index 0000000..a831734
--- /dev/null
+++ b/bpkg/package-odb.ixx
@@ -0,0 +1,1038 @@
+// -*- C++ -*-
+//
+// This file was generated by ODB, object-relational mapping (ORM)
+// compiler for C++.
+//
+
+namespace odb
+{
+ // configuration
+ //
+
+ inline
+ access::object_traits< ::bpkg::configuration >::id_type
+ access::object_traits< ::bpkg::configuration >::
+ id (const object_type& o)
+ {
+ return o.id;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::configuration >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::configuration >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_fragment
+ //
+
+ inline
+ access::object_traits< ::bpkg::repository_fragment >::id_type
+ access::object_traits< ::bpkg::repository_fragment >::
+ id (const object_type& o)
+ {
+ return o.name;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::repository_fragment >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::repository_fragment >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_fragment_count
+ //
+
+ inline
+ void access::view_traits< ::bpkg::repository_fragment_count >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository
+ //
+
+ inline
+ access::object_traits< ::bpkg::repository >::id_type
+ access::object_traits< ::bpkg::repository >::
+ id (const object_type& o)
+ {
+ return o.name;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::repository >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::repository >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_count
+ //
+
+ inline
+ void access::view_traits< ::bpkg::repository_count >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // available_package
+ //
+
+ inline
+ access::object_traits< ::bpkg::available_package >::id_type
+ access::object_traits< ::bpkg::available_package >::
+ id (const object_type& o)
+ {
+ return o.id;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::available_package >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::available_package >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // available_package_count
+ //
+
+ inline
+ void access::view_traits< ::bpkg::available_package_count >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // available_test
+ //
+
+ inline
+ void access::view_traits< ::bpkg::available_test >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // available_main
+ //
+
+ inline
+ void access::view_traits< ::bpkg::available_main >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // selected_package
+ //
+
+ inline
+ access::object_traits< ::bpkg::selected_package >::id_type
+ access::object_traits< ::bpkg::selected_package >::
+ id (const object_type& o)
+ {
+ return o.name;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::selected_package >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::selected_package >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // certificate
+ //
+
+ inline
+ access::object_traits< ::bpkg::certificate >::id_type
+ access::object_traits< ::bpkg::certificate >::
+ id (const object_type& o)
+ {
+ return o.id;
+ }
+
+ inline
+ void access::object_traits< ::bpkg::certificate >::
+ callback (database& db, object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ inline
+ void access::object_traits< ::bpkg::certificate >::
+ callback (database& db, const object_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // package_dependent
+ //
+
+ inline
+ void access::view_traits< ::bpkg::package_dependent >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // fragment_repository_count
+ //
+
+ inline
+ void access::view_traits< ::bpkg::fragment_repository_count >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // fragment_repository
+ //
+
+ inline
+ void access::view_traits< ::bpkg::fragment_repository >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_complement_dependent
+ //
+
+ inline
+ void access::view_traits< ::bpkg::repository_complement_dependent >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_prerequisite_dependent
+ //
+
+ inline
+ void access::view_traits< ::bpkg::repository_prerequisite_dependent >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // repository_fragment_package
+ //
+
+ inline
+ void access::view_traits< ::bpkg::repository_fragment_package >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+
+ // package_repository_fragment
+ //
+
+ inline
+ void access::view_traits< ::bpkg::package_repository_fragment >::
+ callback (database& db, view_type& x, callback_event e)
+ {
+ ODB_POTENTIALLY_UNUSED (db);
+ ODB_POTENTIALLY_UNUSED (x);
+ ODB_POTENTIALLY_UNUSED (e);
+ }
+}
+
+#include <odb/schema-version.hxx>
+
+namespace odb
+{
+ // _version
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::_version, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.epoch_null;
+ r = r && i.canonical_upstream_null;
+ r = r && i.canonical_release_null;
+ r = r && i.revision_null;
+ r = r && i.iteration_null;
+ r = r && i.upstream_null;
+ r = r && i.release_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::_version, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.epoch_null = true;
+ i.canonical_upstream_null = true;
+ i.canonical_release_null = true;
+ i.revision_null = true;
+ i.iteration_null = true;
+ i.upstream_null = true;
+ i.release_null = true;
+ }
+
+ // language
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::language, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.name_null;
+ r = r && i.impl_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::language, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.name_null = true;
+ i.impl_null = true;
+ }
+
+ // version_constraint
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::version_constraint, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && composite_value_traits< ::bpkg::_version, id_sqlite >::get_null (i.min_version_value);
+ r = r && composite_value_traits< ::bpkg::_version, id_sqlite >::get_null (i.max_version_value);
+ r = r && i.min_open_null;
+ r = r && i.max_open_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::version_constraint, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ composite_value_traits< ::bpkg::_version, id_sqlite >::set_null (i.min_version_value, sk);
+ composite_value_traits< ::bpkg::_version, id_sqlite >::set_null (i.max_version_value, sk);
+ i.min_open_null = true;
+ i.max_open_null = true;
+ }
+
+ // dependency
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::dependency, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.name_null;
+ r = r && composite_value_traits< ::bpkg::version_constraint, id_sqlite >::get_null (i.constraint_value);
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::dependency, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.name_null = true;
+ composite_value_traits< ::bpkg::version_constraint, id_sqlite >::set_null (i.constraint_value, sk);
+ }
+
+ // dependency_alternative
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::dependency_alternative, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.enable_null;
+ r = r && i.reflect_null;
+ r = r && i.prefer_null;
+ r = r && i.accept_null;
+ r = r && i.require_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::dependency_alternative, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.enable_null = true;
+ i.reflect_null = true;
+ i.prefer_null = true;
+ i.accept_null = true;
+ i.require_null = true;
+ }
+
+ // dependency_alternatives
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::dependency_alternatives, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.buildtime_null;
+ r = r && i.comment_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::dependency_alternatives, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.buildtime_null = true;
+ i.comment_null = true;
+ }
+
+ // test_dependency
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::test_dependency, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && composite_value_traits< ::bpkg::dependency, id_sqlite >::get_null (i);
+ r = r && i.type_null;
+ r = r && i.buildtime_null;
+ r = r && i.enable_null;
+ r = r && i.reflect_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::test_dependency, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ composite_value_traits< ::bpkg::dependency, id_sqlite >::set_null (i, sk);
+ i.type_null = true;
+ i.buildtime_null = true;
+ i.enable_null = true;
+ i.reflect_null = true;
+ }
+
+ // buildfile
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::buildfile, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.path_null;
+ r = r && i.content_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::buildfile, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.path_null = true;
+ i.content_null = true;
+ }
+
+ // distribution_name_value
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::distribution_name_value, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.name_null;
+ r = r && i.value_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::distribution_name_value, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.name_null = true;
+ i.value_null = true;
+ }
+
+ // configuration
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::configuration, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ inline
+ void access::object_traits_impl< ::bpkg::configuration, id_sqlite >::
+ load_ (statements_type& sts,
+ object_type& obj,
+ bool)
+ {
+ ODB_POTENTIALLY_UNUSED (sts);
+ ODB_POTENTIALLY_UNUSED (obj);
+ }
+
+ // canonical_version
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::canonical_version, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.epoch_null;
+ r = r && i.canonical_upstream_null;
+ r = r && i.canonical_release_null;
+ r = r && i.revision_null;
+ r = r && i.iteration_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::canonical_version, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.epoch_null = true;
+ i.canonical_upstream_null = true;
+ i.canonical_release_null = true;
+ i.revision_null = true;
+ i.iteration_null = true;
+ }
+
+ // upstream_version
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::upstream_version, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.upstream_null;
+ r = r && i.release_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::upstream_version, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.upstream_null = true;
+ i.release_null = true;
+ }
+
+ // _repository_location
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::_repository_location, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.url_null;
+ r = r && i.type_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::_repository_location, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.url_null = true;
+ i.type_null = true;
+ }
+
+ // repository_fragment
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::repository_fragment, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ // repository_fragment_count
+ //
+
+ // fragment_type
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::repository::fragment_type, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.friendly_name_null;
+ r = r && i.fragment_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::repository::fragment_type, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.friendly_name_null = true;
+ i.fragment_null = true;
+ }
+
+ // repository
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::repository, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ // repository_count
+ //
+
+ // package_location
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::package_location, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.repository_fragment_null;
+ r = r && i.location_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::package_location, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.repository_fragment_null = true;
+ i.location_null = true;
+ }
+
+ // dependency_alternatives_ex
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::dependency_alternatives_ex, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && composite_value_traits< ::bpkg::dependency_alternatives, id_sqlite >::get_null (i);
+ r = r && i.type_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::dependency_alternatives_ex, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ composite_value_traits< ::bpkg::dependency_alternatives, id_sqlite >::set_null (i, sk);
+ i.type_null = true;
+ }
+
+ // available_package_id
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::available_package_id, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.name_null;
+ r = r && composite_value_traits< ::bpkg::canonical_version, id_sqlite >::get_null (i.version_value);
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::available_package_id, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.name_null = true;
+ composite_value_traits< ::bpkg::canonical_version, id_sqlite >::set_null (i.version_value, sk);
+ }
+
+ // _dependency_alternative_key
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::available_package::_dependency_alternative_key, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.outer_null;
+ r = r && i.inner_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::available_package::_dependency_alternative_key, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.outer_null = true;
+ i.inner_null = true;
+ }
+
+ // _dependency_key
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::available_package::_dependency_key, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.outer_null;
+ r = r && i.middle_null;
+ r = r && i.inner_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::available_package::_dependency_key, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.outer_null = true;
+ i.middle_null = true;
+ i.inner_null = true;
+ }
+
+ // available_package
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::available_package, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ // available_package_count
+ //
+
+ // available_test
+ //
+
+ // available_main
+ //
+
+ // prerequisite_info
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::prerequisite_info, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && composite_value_traits< ::bpkg::version_constraint, id_sqlite >::get_null (i.constraint_value);
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::prerequisite_info, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ composite_value_traits< ::bpkg::version_constraint, id_sqlite >::set_null (i.constraint_value, sk);
+ }
+
+ // _selected_package_ref
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::_selected_package_ref, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.configuration_null;
+ r = r && i.prerequisite_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::_selected_package_ref, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.configuration_null = true;
+ i.prerequisite_null = true;
+ }
+
+ // config_variable
+ //
+
+ inline
+ bool access::composite_value_traits< ::bpkg::config_variable, id_sqlite >::
+ get_null (const image_type& i)
+ {
+ bool r (true);
+ r = r && i.name_null;
+ r = r && i.source_null;
+ return r;
+ }
+
+ inline
+ void access::composite_value_traits< ::bpkg::config_variable, id_sqlite >::
+ set_null (image_type& i,
+ sqlite::statement_kind sk)
+ {
+ ODB_POTENTIALLY_UNUSED (sk);
+
+ using namespace sqlite;
+
+ i.name_null = true;
+ i.source_null = true;
+ }
+
+ // selected_package
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::selected_package, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ // certificate
+ //
+
+ inline
+ void access::object_traits_impl< ::bpkg::certificate, id_sqlite >::
+ erase (database& db, const object_type& obj)
+ {
+ callback (db, obj, callback_event::pre_erase);
+ erase (db, id (obj));
+ callback (db, obj, callback_event::post_erase);
+ }
+
+ inline
+ void access::object_traits_impl< ::bpkg::certificate, id_sqlite >::
+ load_ (statements_type& sts,
+ object_type& obj,
+ bool)
+ {
+ ODB_POTENTIALLY_UNUSED (sts);
+ ODB_POTENTIALLY_UNUSED (obj);
+ }
+
+ // package_dependent
+ //
+
+ // fragment_repository_count
+ //
+
+ // fragment_repository
+ //
+
+ // repository_complement_dependent
+ //
+
+ // repository_prerequisite_dependent
+ //
+
+ // repository_fragment_package
+ //
+
+ // package_repository_fragment
+ //
+}
+