@joebigelow / wix-1 / commits / 11112ebc

Use TupleIdIsPrimaryKey.

Sean Hall committed Apr 3, 2020 at 11:38 UTC 11112ebcdf97d4fa53e34d9dfe48410ff2378435
7 files changed +13 -41
src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+2 -22
@@ -64,10 +64,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
64 this.AddAssemblyTuple((AssemblyTuple)tuple);
65 break;
66
67 - case TupleDefinitionType.Binary:
68 - this.AddTupleDefaultly(tuple, idIsPrimaryKey: true);
69 - break;
70 -
67 case TupleDefinitionType.BBControl:
68 this.AddBBControlTuple((BBControlTuple)tuple);
69 break;
@@ -112,10 +108,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
108 this.AddFileTuple((FileTuple)tuple);
109 break;
110
115 - case TupleDefinitionType.Icon:
116 - this.AddTupleDefaultly(tuple, idIsPrimaryKey: true);
117 - break;
118 -
111 case TupleDefinitionType.IniFile:
112 this.AddIniFileTuple((IniFileTuple)tuple);
113 break;
@@ -144,10 +136,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
136 this.AddMsiServiceConfigFailureActionsTuple((MsiServiceConfigFailureActionsTuple)tuple);
137 break;
138
147 - case TupleDefinitionType.MsiShortcutProperty:
148 - this.AddTupleDefaultly(tuple, idIsPrimaryKey: true);
149 - break;
150 -
139 case TupleDefinitionType.MoveFile:
140 this.AddMoveFileTuple((MoveFileTuple)tuple);
141 break;
@@ -177,10 +165,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
165 this.AddRemoveRegistryTuple((RemoveRegistryTuple)tuple);
166 break;
167
180 - case TupleDefinitionType.ReserveCost:
181 - this.AddTupleDefaultly(tuple, idIsPrimaryKey: true);
182 - break;
183 -
168 case TupleDefinitionType.ServiceControl:
169 this.AddServiceControlTuple((ServiceControlTuple)tuple);
170 break;
@@ -192,10 +176,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
176 case TupleDefinitionType.Shortcut:
177 this.AddShortcutTuple((ShortcutTuple)tuple);
178 break;
195 -
196 - case TupleDefinitionType.Signature:
197 - this.AddTupleDefaultly(tuple, idIsPrimaryKey: true);
198 - break;
179
180 case TupleDefinitionType.SummaryInformation:
181 this.AddTupleDefaultly(tuple, tableName: "_SummaryInformation");
@@ -1070,7 +1050,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1050 }
1051 }
1052
1073 - private void AddTupleDefaultly(IntermediateTuple tuple, bool idIsPrimaryKey = false, string tableName = null)
1053 + private void AddTupleDefaultly(IntermediateTuple tuple, string tableName = null)
1054 {
1055 if (!this.TableDefinitions.TryGet(tableName ?? tuple.Definition.Name, out var tableDefinition))
1056 {
@@ -1080,7 +1060,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1060 var row = this.CreateRow(tuple, tableDefinition);
1061 var rowOffset = 0;
1062
1083 - if (idIsPrimaryKey)
1063 + if (tableDefinition.TupleIdIsPrimaryKey)
1064 {
1065 row[0] = tuple.Id.Id;
1066 rowOffset = 1;
src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs
+2 -4
@@ -10,9 +10,7 @@ namespace WixToolset.Core.ExtensibilityServices
10
11 internal class WindowsInstallerBackendHelper : IWindowsInstallerBackendHelper
12 {
13 - public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable<TableDefinition> tableDefinitions) => this.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, tableDefinitions, false);
14 -
15 - public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable<TableDefinition> tableDefinitions, bool columnZeroIsId)
13 + public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable<TableDefinition> tableDefinitions)
14 {
15 var tableDefinition = tableDefinitions.FirstOrDefault(t => t.TupleDefinitionName == tuple.Definition.Name);
16
@@ -25,7 +23,7 @@ namespace WixToolset.Core.ExtensibilityServices
23 var row = table.CreateRow(tuple.SourceLineNumbers);
24 var rowOffset = 0;
25
28 - if (columnZeroIsId)
26 + if (tableDefinition.TupleIdIsPrimaryKey)
27 {
28 row[0] = tuple.Id.Id;
29 rowOffset = 1;
src/test/Example.Extension/ExampleCompilerExtension.cs
+2 -3
@@ -88,9 +88,8 @@ namespace Example.Extension
88
89 if (!this.Messaging.EncounteredError)
90 {
91 - var tuple = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Example");
92 - tuple.Set(0, id.Id);
93 - tuple.Set(1, value);
91 + var tuple = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Example", id);
92 + tuple.Set(0, value);
93 }
94 }
95
src/test/Example.Extension/ExampleTuple.cs
+1 -2
@@ -1,4 +1,4 @@
1 -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
1 +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace Example.Extension
4 {
@@ -6,7 +6,6 @@ namespace Example.Extension
6
7 public enum ExampleTupleFields
8 {
9 - Example,
9 Value,
10 }
11
src/test/Example.Extension/ExampleTupleDefinitions.cs
-1
@@ -13,7 +13,6 @@ namespace Example.Extension
13 ExampleName,
14 new[]
15 {
16 - new IntermediateFieldDefinition(nameof(ExampleTupleFields.Example), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ExampleTupleFields.Value), IntermediateFieldType.String),
17 },
18 typeof(ExampleTuple));
src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs
+2 -3
@@ -63,9 +63,8 @@ namespace WixToolsetTest.CoreIntegration
63 Assert.Equal(@"example.txt", fileTuple[FileTupleFields.Source].PreviousValue.AsPath().Path);
64
65 var example = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).Single();
66 - Assert.Null(example.Id?.Id);
67 - Assert.Equal("Foo", example[0].AsString());
68 - Assert.Equal("Bar", example[1].AsString());
66 + Assert.Equal("Foo", example.Id?.Id);
67 + Assert.Equal("Bar", example[0].AsString());
68 }
69 }
70
src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs
+4 -6
@@ -168,9 +168,8 @@ namespace WixToolsetTest.CoreIntegration
168 Assert.Equal(@"example.txt", fileTuple[FileTupleFields.Source].PreviousValue.AsPath().Path);
169
170 var example = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).Single();
171 - Assert.Null(example.Id?.Id);
172 - Assert.Equal("Foo", example[0].AsString());
173 - Assert.Equal("Bar", example[1].AsString());
171 + Assert.Equal("Foo", example.Id?.Id);
172 + Assert.Equal("Bar", example[0].AsString());
173 }
174 }
175
@@ -232,9 +231,8 @@ namespace WixToolsetTest.CoreIntegration
231 Assert.Equal(@"other.txt", fileTuples[1][FileTupleFields.Source].PreviousValue.AsPath().Path);
232
233 var examples = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).ToArray();
235 - Assert.Equal(new string[] { null, null }, examples.Select(t => t.Id?.Id).ToArray());
236 - Assert.Equal(new[] { "Foo", "Other" }, examples.Select(t => t.AsString(0)).ToArray());
237 - Assert.Equal(new[] { "Bar", "Value" }, examples.Select(t => t[1].AsString()).ToArray());
234 + Assert.Equal(new string[] { "Foo", "Other" }, examples.Select(t => t.Id?.Id).ToArray());
235 + Assert.Equal(new[] { "Bar", "Value" }, examples.Select(t => t[0].AsString()).ToArray());
236 }
237 }
238 }