Interface.h (1259B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #pragma once 4 #include "Microsoft/Schema/ISQLiteIndex.h" 5 #include "Microsoft/Schema/1_6/Interface.h" 6 7 namespace AppInstaller::Repository::Microsoft::Schema::V1_7 8 { 9 using namespace std::string_view_literals; 10 11 // Version 1.7 12 static constexpr std::string_view s_MetadataValueName_MapDataFolded = "mapDataFolded"sv; 13 static constexpr char s_MetadataValue_MapDataFolded_Separator = ';'; 14 15 // Interface to this schema version exposed through ISQLiteIndex. 16 struct Interface : public V1_6::Interface 17 { 18 static constexpr std::string_view MapDataFolded_VersionSpecifier = "1.7"sv; 19 20 Interface(Utility::NormalizationVersion normVersion = Utility::NormalizationVersion::Initial); 21 22 // Version 1.0 23 SQLite::Version GetVersion() const override; 24 std::vector<std::string> GetMultiPropertyByPrimaryId(const SQLite::Connection& connection, SQLite::rowid_t primaryId, PackageVersionMultiProperty property) const override; 25 26 protected: 27 void PrepareForPackaging(SQLite::Connection& connection, bool vacuum) override; 28 V1_0::OneToManyTableSchema GetOneToManyTableSchema() const override; 29 }; 30 }