diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2023-02-17 21:06:00 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-02-20 16:17:32 +0300 |
commit | eaebfcff492cf7f707b44a3d28620e786116faf1 (patch) | |
tree | f76076ca5c06be6cf932c9e330a282546ec1008c /bpkg/package.hxx | |
parent | 4887f43d983898e48feaffc467327bc7fc4e1180 (diff) |
Store in database and document type and language package manifest values
Diffstat (limited to 'bpkg/package.hxx')
-rw-r--r-- | bpkg/package.hxx | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/bpkg/package.hxx b/bpkg/package.hxx index e811e62..e5e70ad 100644 --- a/bpkg/package.hxx +++ b/bpkg/package.hxx @@ -11,6 +11,7 @@ #include <type_traits> // static_assert #include <odb/core.hxx> +#include <odb/section.hxx> #include <odb/nested-container.hxx> #include <libbutl/timestamp.hxx> @@ -27,7 +28,7 @@ // #define DB_SCHEMA_VERSION_BASE 12 -#pragma db model version(DB_SCHEMA_VERSION_BASE, 22, closed) +#pragma db model version(DB_SCHEMA_VERSION_BASE, 23, closed) namespace bpkg { @@ -513,6 +514,10 @@ namespace bpkg operator size_t () const {return result;} }; + // language + // + #pragma db value(language) definition + // package_location // #pragma db value @@ -685,6 +690,11 @@ namespace bpkg upstream_version_type version; optional<string> upstream_version; + optional<string> type; + + small_vector<language, 1> languages; + odb::section languages_section; + optional<package_name> project; // List of repository fragments to which this package version belongs @@ -743,6 +753,8 @@ namespace bpkg : id (move (m.name), m.version), version (move (m.version)), upstream_version (move (m.upstream_version)), + type (move (m.type)), + languages (move (m.languages)), project (move (m.project)), dependencies (convert (move (m.dependencies))), tests (move (m.tests)), @@ -794,6 +806,16 @@ namespace bpkg // #pragma db member(id) id column("") #pragma db member(version) set(this.version.init (this.id.version, (?))) + + // languages + // + #pragma db member(languages) id_column("") value_column("language_") \ + section(languages_section) + + #pragma db member(languages_section) load(lazy) update(always) + + // locations + // #pragma db member(locations) id_column("") value_column("") \ unordered value_not_null |