Skip to content

Commit 727a1c4

Browse files
committed
Merge branch 'main' into dev
2 parents 24980f8 + 7b2b461 commit 727a1c4

8 files changed

+164
-13
lines changed

Virtual_EDW/FodyWeavers.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
3+
<Costura />
4+
</Weavers>

Virtual_EDW/FodyWeavers.xsd

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3+
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
4+
<xs:element name="Weavers">
5+
<xs:complexType>
6+
<xs:all>
7+
<xs:element name="Costura" minOccurs="0" maxOccurs="1">
8+
<xs:complexType>
9+
<xs:all>
10+
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
11+
<xs:annotation>
12+
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
13+
</xs:annotation>
14+
</xs:element>
15+
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
16+
<xs:annotation>
17+
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
18+
</xs:annotation>
19+
</xs:element>
20+
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimeAssemblies" type="xs:string">
21+
<xs:annotation>
22+
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
23+
</xs:annotation>
24+
</xs:element>
25+
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimeAssemblies" type="xs:string">
26+
<xs:annotation>
27+
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
28+
</xs:annotation>
29+
</xs:element>
30+
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
31+
<xs:annotation>
32+
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
33+
</xs:annotation>
34+
</xs:element>
35+
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
36+
<xs:annotation>
37+
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
38+
</xs:annotation>
39+
</xs:element>
40+
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
41+
<xs:annotation>
42+
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
43+
</xs:annotation>
44+
</xs:element>
45+
</xs:all>
46+
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
47+
<xs:annotation>
48+
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
49+
</xs:annotation>
50+
</xs:attribute>
51+
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
52+
<xs:annotation>
53+
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
54+
</xs:annotation>
55+
</xs:attribute>
56+
<xs:attribute name="IncludeRuntimeReferences" type="xs:boolean">
57+
<xs:annotation>
58+
<xs:documentation>Controls if runtime assemblies are also embedded.</xs:documentation>
59+
</xs:annotation>
60+
</xs:attribute>
61+
<xs:attribute name="UseRuntimeReferencePaths" type="xs:boolean">
62+
<xs:annotation>
63+
<xs:documentation>Controls whether the runtime assemblies are embedded with their full path or only with their assembly name.</xs:documentation>
64+
</xs:annotation>
65+
</xs:attribute>
66+
<xs:attribute name="DisableCompression" type="xs:boolean">
67+
<xs:annotation>
68+
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
69+
</xs:annotation>
70+
</xs:attribute>
71+
<xs:attribute name="DisableCleanup" type="xs:boolean">
72+
<xs:annotation>
73+
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
74+
</xs:annotation>
75+
</xs:attribute>
76+
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
77+
<xs:annotation>
78+
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
79+
</xs:annotation>
80+
</xs:attribute>
81+
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
82+
<xs:annotation>
83+
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
84+
</xs:annotation>
85+
</xs:attribute>
86+
<xs:attribute name="ExcludeAssemblies" type="xs:string">
87+
<xs:annotation>
88+
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
89+
</xs:annotation>
90+
</xs:attribute>
91+
<xs:attribute name="IncludeAssemblies" type="xs:string">
92+
<xs:annotation>
93+
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
94+
</xs:annotation>
95+
</xs:attribute>
96+
<xs:attribute name="ExcludeRuntimeAssemblies" type="xs:string">
97+
<xs:annotation>
98+
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
99+
</xs:annotation>
100+
</xs:attribute>
101+
<xs:attribute name="IncludeRuntimeAssemblies" type="xs:string">
102+
<xs:annotation>
103+
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
104+
</xs:annotation>
105+
</xs:attribute>
106+
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
107+
<xs:annotation>
108+
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
109+
</xs:annotation>
110+
</xs:attribute>
111+
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
112+
<xs:annotation>
113+
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
114+
</xs:annotation>
115+
</xs:attribute>
116+
<xs:attribute name="PreloadOrder" type="xs:string">
117+
<xs:annotation>
118+
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
119+
</xs:annotation>
120+
</xs:attribute>
121+
</xs:complexType>
122+
</xs:element>
123+
</xs:all>
124+
<xs:attribute name="VerifyAssembly" type="xs:boolean">
125+
<xs:annotation>
126+
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
127+
</xs:annotation>
128+
</xs:attribute>
129+
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
130+
<xs:annotation>
131+
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
132+
</xs:annotation>
133+
</xs:attribute>
134+
<xs:attribute name="GenerateXsd" type="xs:boolean">
135+
<xs:annotation>
136+
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
137+
</xs:annotation>
138+
</xs:attribute>
139+
</xs:complexType>
140+
</xs:element>
141+
</xs:schema>
343 KB
Binary file not shown.

Virtual_EDW/Templates/templatePresentationGenerateTables.Handlebars

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ IF OBJECT_ID('[{{targetDataObject.name}}]', 'U') IS NOT NULL
77
DROP TABLE [{{targetDataObject.name}}];
88

99
CREATE TABLE [{{targetDataObject.name}}]
10-
(
11-
[{{#each businessKeyDefinitions}}{{#if @first}}{{surrogateKey}}{{/if}}{{/each}}] binary(16) NOT NULL
12-
,[{{../conventions.etlProcessAttribute}}] [int] NOT NULL
13-
,[{{../conventions.loadDateTimeAttribute}}] [datetime2](7) NOT NULL
14-
,[{{../conventions.recordSourceAttribute}}] [nvarchar](100) NOT NULL
15-
{{#each relatedDataObjects}}
16-
{{/each}}
10+
({{/if}}{{/each}}
11+
{{#each dataObjectMappings}}
1712
{{#each dataItemMappings}}
1813
,[{{targetDataItem.name}}] [nvarchar](1000) NOT NULL
1914
{{/each}}
20-
){{/if}}{{/each}}
15+
{{/each}}
16+
[SNAPSHOT_DATE] [datetime2](7) NOT NULL,
17+
[{{metadataConfiguration.etlProcessAttribute}}] [int] NOT NULL,
18+
[{{metadataConfiguration.loadDateTimeAttribute}}] [datetime2](7) NOT NULL,
19+
[{{metadataConfiguration.changeDataCaptureAttribute}}] [nvarchar](100) NOT NULL,
20+
[{{metadataConfiguration.eventDateTimeAttribute}}] [datetime2](7) NOT NULL,
21+
[{{metadataConfiguration.recordChecksumAttribute}}] [binary](16) NOT NULL
22+
)

Virtual_EDW/VdwUtility.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ public static void CreateVdwSchema(Microsoft.Data.SqlClient.SqlConnection connec
234234

235235
public static void ExecuteInDatabase(TeamConnection teamConnection, string query)
236236
{
237+
// SQL Server
237238
if (teamConnection.TechnologyConnectionType == TechnologyConnectionType.SqlServer)
238239
{
239240
var connectionString = teamConnection.CreateSqlServerConnectionString(false);
@@ -260,6 +261,7 @@ public static void ExecuteInDatabase(TeamConnection teamConnection, string query
260261
sqlConnection.Dispose();
261262
}
262263
}
264+
// Snowflake
263265
else if (teamConnection.TechnologyConnectionType == TechnologyConnectionType.Snowflake)
264266
{
265267
IDbConnection conn = new SnowflakeDbConnection();
@@ -269,8 +271,13 @@ public static void ExecuteInDatabase(TeamConnection teamConnection, string query
269271
{
270272
conn.Open();
271273
IDbCommand cmd = conn.CreateCommand();
274+
// Select the Snowflake warehouse.
272275
cmd.CommandText = $"USE WAREHOUSE {teamConnection.DatabaseServer.Warehouse}";
273276
cmd.ExecuteNonQuery();
277+
// Support multiple statements for this session.
278+
cmd.CommandText = "ALTER SESSION SET MULTI_STATEMENT_COUNT = 0;";
279+
cmd.ExecuteNonQuery();
280+
// Run the query generated from the template.
274281
cmd.CommandText = query;
275282
cmd.ExecuteNonQuery();
276283
}

Virtual_EDW/Virtual_DWH.csproj.DotSettings

Lines changed: 0 additions & 2 deletions
This file was deleted.

Virtual_EDW/Virtual_Data_Warehouse.deps.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"Microsoft.SqlServer.SqlManagementObjects": "170.13.0",
1717
"Microsoft.Windows.Compatibility": "7.0.1",
1818
"Newtonsoft.Json": "13.0.3",
19-
"TEAM_Library": "1.0.0.0"
19+
"TEAM_Library": "1.0.0.0",
20+
"Snowflake.Data": "2.1.2.0"
2021
},
2122
"runtime": {
2223
"Virtual_Data_Warehouse.dll": {}

Virtual_EDW/Virtual_EDW.csproj.DotSettings

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)