|
16 | 16 | IF Object_Id('dbo.ColumnSplitter', 'PC') IS NOT NULL |
17 | 17 | DROP PROCEDURE [dbo].[ColumnSplitter]; |
18 | 18 | GO |
| 19 | +IF Object_Id('dbo.MultiColumnSplitter', 'PC') IS NOT NULL |
| 20 | +DROP PROCEDURE [dbo].[MultiColumnSplitter]; |
| 21 | +GO |
19 | 22 | IF Object_Id('dbo.IsType', 'FS') IS NOT NULL |
20 | 23 | DROP FUNCTION [dbo].[IsType]; |
21 | 24 | GO |
@@ -52,28 +55,38 @@ IF EXISTS ( |
52 | 55 | ) |
53 | 56 | BEGIN TRY |
54 | 57 | ALTER ASSEMBLY Utilities |
55 | | - FROM 'C:\Users\eldle\OneDrive\Documents\GitHub\sisula\code\Utilities' + @version + '.dll' |
| 58 | + FROM 'C:\Users\e-lronnback\GitHub\sisula\code\Utilities' + @version + '.dll' |
56 | 59 | WITH PERMISSION_SET = SAFE; |
57 | 60 | PRINT 'The .NET CLR for SQL Server ' + @version + ' was updated.' |
58 | 61 | END TRY BEGIN CATCH |
59 | 62 | DECLARE @msg VARCHAR(2000) = ERROR_MESSAGE(); |
60 | | - IF(PATINDEX('%identical%', @msg) = 0) PRINT ERROR_MESSAGE(); |
| 63 | + IF(PATINDEX('%identical%', @msg) = 0) |
| 64 | + BEGIN |
| 65 | + PRINT ERROR_MESSAGE(); |
| 66 | + END |
| 67 | + ELSE |
| 68 | + BEGIN TRY |
| 69 | + DROP ASSEMBLY Utilities; |
| 70 | + END TRY |
| 71 | + BEGIN CATCH |
| 72 | + PRINT ERROR_MESSAGE(); |
| 73 | + END CATCH |
61 | 74 | END CATCH |
62 | 75 | ELSE -- assembly does not exist |
63 | 76 | BEGIN TRY |
64 | 77 | -- since some version of 2017 assemblies must be explicitly whitelisted |
65 | 78 | IF(@version >= 2017 AND OBJECT_ID('sys.sp_add_trusted_assembly') IS NOT NULL) |
66 | 79 | BEGIN |
67 | 80 | CREATE TABLE #hash([hash] varbinary(64)); |
68 | | - EXEC('INSERT INTO #hash SELECT CONVERT(varbinary(64), ''0x'' + H, 1) FROM OPENROWSET(BULK ''C:\Users\eldle\OneDrive\Documents\GitHub\sisula\code\Utilities' + @version + '.SHA512'', SINGLE_CLOB) T(H);'); |
| 81 | + EXEC('INSERT INTO #hash SELECT CONVERT(varbinary(64), ''0x'' + H, 1) FROM OPENROWSET(BULK ''C:\Users\e-lronnback\GitHub\sisula\code\Utilities' + @version + '.SHA512'', SINGLE_CLOB) T(H);'); |
69 | 82 | DECLARE @hash varbinary(64); |
70 | 83 | SELECT @hash = [hash] FROM #hash; |
71 | 84 | IF NOT EXISTS(SELECT [hash] FROM sys.trusted_assemblies WHERE [hash] = @hash) |
72 | 85 | EXEC sys.sp_add_trusted_assembly @hash, N'Utilities'; |
73 | 86 | END |
74 | 87 | CREATE ASSEMBLY Utilities |
75 | 88 | AUTHORIZATION dbo |
76 | | - FROM 'C:\Users\eldle\OneDrive\Documents\GitHub\sisula\code\Utilities' + @version + '.dll' |
| 89 | + FROM 'C:\Users\e-lronnback\GitHub\sisula\code\Utilities' + @version + '.dll' |
77 | 90 | WITH PERMISSION_SET = SAFE; |
78 | 91 | PRINT 'The .NET CLR for SQL Server ' + @version + ' was installed.' |
79 | 92 | END TRY BEGIN CATCH |
@@ -112,6 +125,14 @@ CREATE PROCEDURE [dbo].ColumnSplitter( |
112 | 125 | ) |
113 | 126 | AS EXTERNAL NAME Utilities.ColumnSplitter.InitMethod; |
114 | 127 | GO |
| 128 | +CREATE PROCEDURE [dbo].MultiColumnSplitter( |
| 129 | + @table AS nvarchar(4000), |
| 130 | + @column AS nvarchar(4000), |
| 131 | + @pattern AS nvarchar(4000), |
| 132 | + @includeColumns AS nvarchar(4000) = null |
| 133 | +) |
| 134 | +AS EXTERNAL NAME Utilities.MultiColumnSplitter.InitMethod; |
| 135 | +GO |
115 | 136 | IF NOT EXISTS ( |
116 | 137 | SELECT value |
117 | 138 | FROM sys.configurations |
|
137 | 158 | -- |
138 | 159 | -- Create: PGA_Kaggle_Stats_RawSplit |
139 | 160 | -- |
140 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
141 | | --- From: WARP in the WARP domain |
| 161 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 162 | +-- From: TSE-5GYVY33 in the CORPNET domain |
142 | 163 | -------------------------------------------------------------------------- |
143 | 164 | CREATE PROCEDURE [dbo].[PGA_Kaggle_CreateRawSplitTable] ( |
144 | 165 | @agentJobId uniqueidentifier = null, |
|
215 | 236 | -- the target of the BULK INSERT operation, since it cannot insert |
216 | 237 | -- into a table with multiple columns without a format file. |
217 | 238 | -- |
218 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
219 | | --- From: WARP in the WARP domain |
| 239 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 240 | +-- From: TSE-5GYVY33 in the CORPNET domain |
220 | 241 | -------------------------------------------------------------------------- |
221 | 242 | CREATE PROCEDURE [dbo].[PGA_Kaggle_CreateInsertView] ( |
222 | 243 | @agentJobId uniqueidentifier = null, |
|
289 | 310 | -- This job may called multiple times in a workflow when more than |
290 | 311 | -- one file matching a given filename pattern is found. |
291 | 312 | -- |
292 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
293 | | --- From: WARP in the WARP domain |
| 313 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 314 | +-- From: TSE-5GYVY33 in the CORPNET domain |
294 | 315 | -------------------------------------------------------------------------- |
295 | 316 | CREATE PROCEDURE [dbo].[PGA_Kaggle_BulkInsert] ( |
296 | 317 | @filename varchar(2000), |
@@ -337,7 +358,7 @@ EXEC GolfDW.metadata._WorkSourceToTarget |
337 | 358 | FORMAT = ''CSV'', |
338 | 359 | CODEPAGE = ''ACP'', |
339 | 360 | FIELDQUOTE = ''"'', |
340 | | - FORMATFILE = ''C:\Users\eldle\OneDrive\Documents\GitHub\sisula\Examples\Golf\formats\source.xml'', |
| 361 | + FORMATFILE = ''C:\Users\e-lronnback\GitHub\sisula\Examples\Golf\formats\source.xml'', |
341 | 362 | FIRSTROW = 2, |
342 | 363 | TABLOCK |
343 | 364 | ); |
|
421 | 442 | -- |
422 | 443 | -- Create: PGA_Kaggle_Stats_Split |
423 | 444 | -- |
424 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
425 | | --- From: WARP in the WARP domain |
| 445 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 446 | +-- From: TSE-5GYVY33 in the CORPNET domain |
426 | 447 | -------------------------------------------------------------------------- |
427 | 448 | CREATE PROCEDURE [dbo].[PGA_Kaggle_CreateSplitViews] ( |
428 | 449 | @agentJobId uniqueidentifier = null, |
|
564 | 585 | -- |
565 | 586 | -- Create: PGA_Kaggle_Stats_Error |
566 | 587 | -- |
567 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
568 | | --- From: WARP in the WARP domain |
| 588 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 589 | +-- From: TSE-5GYVY33 in the CORPNET domain |
569 | 590 | -------------------------------------------------------------------------- |
570 | 591 | CREATE PROCEDURE [dbo].[PGA_Kaggle_CreateErrorViews] ( |
571 | 592 | @agentJobId uniqueidentifier = null, |
|
650 | 671 | -- |
651 | 672 | -- Create: PGA_Kaggle_Stats_Typed |
652 | 673 | -- |
653 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
654 | | --- From: WARP in the WARP domain |
| 674 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 675 | +-- From: TSE-5GYVY33 in the CORPNET domain |
655 | 676 | -------------------------------------------------------------------------- |
656 | 677 | CREATE PROCEDURE [dbo].[PGA_Kaggle_CreateTypedTables] ( |
657 | 678 | @agentJobId uniqueidentifier = null, |
|
723 | 744 | -- |
724 | 745 | -- Load: PGA_Kaggle_Stats_Split into PGA_Kaggle_Stats_Typed |
725 | 746 | -- |
726 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
727 | | --- From: WARP in the WARP domain |
| 747 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 748 | +-- From: TSE-5GYVY33 in the CORPNET domain |
728 | 749 | -------------------------------------------------------------------------- |
729 | 750 | CREATE PROCEDURE [dbo].[PGA_Kaggle_SplitRawIntoTyped] ( |
730 | 751 | @agentJobId uniqueidentifier = null, |
|
842 | 863 | -- Key: Player Name (as primary key) |
843 | 864 | -- Key: Date (as primary key) |
844 | 865 | -- |
845 | | --- Generated: Tue Mar 16 13:06:49 UTC+0100 2021 by eldle |
846 | | --- From: WARP in the WARP domain |
| 866 | +-- Generated: Fri Feb 17 10:36:15 UTC+0100 2023 by e-lronnback |
| 867 | +-- From: TSE-5GYVY33 in the CORPNET domain |
847 | 868 | -------------------------------------------------------------------------- |
848 | 869 | CREATE PROCEDURE [dbo].[PGA_Kaggle_AddKeysToTyped] ( |
849 | 870 | @agentJobId uniqueidentifier = null, |
|
0 commit comments