FederationStateStoreStoreProcs.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. USE [FederationStateStore]
  19. GO
  20. IF OBJECT_ID ( '[sp_addApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  21. DROP PROCEDURE [sp_addApplicationHomeSubCluster];
  22. GO
  23. CREATE PROCEDURE [dbo].[sp_addApplicationHomeSubCluster]
  24. @applicationId VARCHAR(64),
  25. @homeSubCluster VARCHAR(256),
  26. @storedHomeSubCluster VARCHAR(256) OUTPUT,
  27. @rowCount int OUTPUT
  28. AS BEGIN
  29. DECLARE @errorMessage nvarchar(4000)
  30. BEGIN TRY
  31. BEGIN TRAN
  32. -- If application to sub-cluster map doesn't exist, insert it.
  33. -- Otherwise don't change the current mapping.
  34. IF NOT EXISTS (SELECT TOP 1 *
  35. FROM [dbo].[applicationsHomeSubCluster]
  36. WHERE [applicationId] = @applicationId)
  37. INSERT INTO [dbo].[applicationsHomeSubCluster] (
  38. [applicationId],
  39. [homeSubCluster])
  40. VALUES (
  41. @applicationId,
  42. @homeSubCluster);
  43. -- End of the IF block
  44. SELECT @rowCount = @@ROWCOUNT;
  45. SELECT @storedHomeSubCluster = [homeSubCluster]
  46. FROM [dbo].[applicationsHomeSubCluster]
  47. WHERE [applicationId] = @applicationId;
  48. COMMIT TRAN
  49. END TRY
  50. BEGIN CATCH
  51. ROLLBACK TRAN
  52. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  53. /* raise error and terminate the execution */
  54. RAISERROR(@errorMessage, --- Error Message
  55. 1, -- Severity
  56. -1 -- State
  57. ) WITH log
  58. END CATCH
  59. END;
  60. GO
  61. IF OBJECT_ID ( '[sp_updateApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  62. DROP PROCEDURE [sp_updateApplicationHomeSubCluster];
  63. GO
  64. CREATE PROCEDURE [dbo].[sp_updateApplicationHomeSubCluster]
  65. @applicationId VARCHAR(64),
  66. @homeSubCluster VARCHAR(256),
  67. @rowCount int OUTPUT
  68. AS BEGIN
  69. DECLARE @errorMessage nvarchar(4000)
  70. BEGIN TRY
  71. BEGIN TRAN
  72. UPDATE [dbo].[applicationsHomeSubCluster]
  73. SET [homeSubCluster] = @homeSubCluster
  74. WHERE [applicationId] = @applicationid;
  75. SELECT @rowCount = @@ROWCOUNT;
  76. COMMIT TRAN
  77. END TRY
  78. BEGIN CATCH
  79. ROLLBACK TRAN
  80. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  81. /* raise error and terminate the execution */
  82. RAISERROR(@errorMessage, --- Error Message
  83. 1, -- Severity
  84. -1 -- State
  85. ) WITH log
  86. END CATCH
  87. END;
  88. GO
  89. IF OBJECT_ID ( '[sp_getApplicationsHomeSubCluster]', 'P' ) IS NOT NULL
  90. DROP PROCEDURE [sp_getApplicationsHomeSubCluster];
  91. GO
  92. CREATE PROCEDURE [dbo].[sp_getApplicationsHomeSubCluster]
  93. AS BEGIN
  94. DECLARE @errorMessage nvarchar(4000)
  95. BEGIN TRY
  96. SELECT [applicationId], [homeSubCluster], [createTime]
  97. FROM [dbo].[applicationsHomeSubCluster]
  98. END TRY
  99. BEGIN CATCH
  100. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  101. /* raise error and terminate the execution */
  102. RAISERROR(@errorMessage, --- Error Message
  103. 1, -- Severity
  104. -1 -- State
  105. ) WITH log
  106. END CATCH
  107. END;
  108. GO
  109. IF OBJECT_ID ( '[sp_getApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  110. DROP PROCEDURE [sp_getApplicationHomeSubCluster];
  111. GO
  112. CREATE PROCEDURE [dbo].[sp_getApplicationHomeSubCluster]
  113. @applicationId VARCHAR(64),
  114. @homeSubCluster VARCHAR(256) OUTPUT
  115. AS BEGIN
  116. DECLARE @errorMessage nvarchar(4000)
  117. BEGIN TRY
  118. SELECT @homeSubCluster = [homeSubCluster]
  119. FROM [dbo].[applicationsHomeSubCluster]
  120. WHERE [applicationId] = @applicationid;
  121. END TRY
  122. BEGIN CATCH
  123. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  124. /* raise error and terminate the execution */
  125. RAISERROR(@errorMessage, --- Error Message
  126. 1, -- Severity
  127. -1 -- State
  128. ) WITH log
  129. END CATCH
  130. END;
  131. GO
  132. IF OBJECT_ID ( '[sp_deleteApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  133. DROP PROCEDURE [sp_deleteApplicationHomeSubCluster];
  134. GO
  135. CREATE PROCEDURE [dbo].[sp_deleteApplicationHomeSubCluster]
  136. @applicationId VARCHAR(64),
  137. @rowCount int OUTPUT
  138. AS BEGIN
  139. DECLARE @errorMessage nvarchar(4000)
  140. BEGIN TRY
  141. BEGIN TRAN
  142. DELETE FROM [dbo].[applicationsHomeSubCluster]
  143. WHERE [applicationId] = @applicationId;
  144. SELECT @rowCount = @@ROWCOUNT;
  145. COMMIT TRAN
  146. END TRY
  147. BEGIN CATCH
  148. ROLLBACK TRAN
  149. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  150. /* raise error and terminate the execution */
  151. RAISERROR(@errorMessage, --- Error Message
  152. 1, -- Severity
  153. -1 -- State
  154. ) WITH log
  155. END CATCH
  156. END;
  157. GO
  158. IF OBJECT_ID ( '[sp_registerSubCluster]', 'P' ) IS NOT NULL
  159. DROP PROCEDURE [sp_registerSubCluster];
  160. GO
  161. CREATE PROCEDURE [dbo].[sp_registerSubCluster]
  162. @subClusterId VARCHAR(256),
  163. @amRMServiceAddress VARCHAR(256),
  164. @clientRMServiceAddress VARCHAR(256),
  165. @rmAdminServiceAddress VARCHAR(256),
  166. @rmWebServiceAddress VARCHAR(256),
  167. @state VARCHAR(32),
  168. @lastStartTime BIGINT,
  169. @capability VARCHAR(6000),
  170. @rowCount int OUTPUT
  171. AS BEGIN
  172. DECLARE @errorMessage nvarchar(4000)
  173. BEGIN TRY
  174. BEGIN TRAN
  175. DELETE FROM [dbo].[membership]
  176. WHERE [subClusterId] = @subClusterId;
  177. INSERT INTO [dbo].[membership] (
  178. [subClusterId],
  179. [amRMServiceAddress],
  180. [clientRMServiceAddress],
  181. [rmAdminServiceAddress],
  182. [rmWebServiceAddress],
  183. [lastHeartBeat],
  184. [state],
  185. [lastStartTime],
  186. [capability] )
  187. VALUES (
  188. @subClusterId,
  189. @amRMServiceAddress,
  190. @clientRMServiceAddress,
  191. @rmAdminServiceAddress,
  192. @rmWebServiceAddress,
  193. GETUTCDATE(),
  194. @state,
  195. @lastStartTime,
  196. @capability);
  197. SELECT @rowCount = @@ROWCOUNT;
  198. COMMIT TRAN
  199. END TRY
  200. BEGIN CATCH
  201. ROLLBACK TRAN
  202. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  203. /* raise error and terminate the execution */
  204. RAISERROR(@errorMessage, --- Error Message
  205. 1, -- Severity
  206. -1 -- State
  207. ) WITH log
  208. END CATCH
  209. END;
  210. GO
  211. IF OBJECT_ID ( '[sp_getSubClusters]', 'P' ) IS NOT NULL
  212. DROP PROCEDURE [sp_getSubClusters];
  213. GO
  214. CREATE PROCEDURE [dbo].[sp_getSubClusters]
  215. AS BEGIN
  216. DECLARE @errorMessage nvarchar(4000)
  217. BEGIN TRY
  218. SELECT [subClusterId], [amRMServiceAddress], [clientRMServiceAddress],
  219. [rmAdminServiceAddress], [rmWebServiceAddress], [lastHeartBeat],
  220. [state], [lastStartTime], [capability]
  221. FROM [dbo].[membership]
  222. END TRY
  223. BEGIN CATCH
  224. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  225. /* raise error and terminate the execution */
  226. RAISERROR(@errorMessage, --- Error Message
  227. 1, -- Severity
  228. -1 -- State
  229. ) WITH log
  230. END CATCH
  231. END;
  232. GO
  233. IF OBJECT_ID ( '[sp_getSubCluster]', 'P' ) IS NOT NULL
  234. DROP PROCEDURE [sp_getSubCluster];
  235. GO
  236. CREATE PROCEDURE [dbo].[sp_getSubCluster]
  237. @subClusterId VARCHAR(256),
  238. @amRMServiceAddress VARCHAR(256) OUTPUT,
  239. @clientRMServiceAddress VARCHAR(256) OUTPUT,
  240. @rmAdminServiceAddress VARCHAR(256) OUTPUT,
  241. @rmWebServiceAddress VARCHAR(256) OUTPUT,
  242. @lastHeartbeat DATETIME2 OUTPUT,
  243. @state VARCHAR(256) OUTPUT,
  244. @lastStartTime BIGINT OUTPUT,
  245. @capability VARCHAR(6000) OUTPUT
  246. AS BEGIN
  247. DECLARE @errorMessage nvarchar(4000)
  248. BEGIN TRY
  249. BEGIN TRAN
  250. SELECT @subClusterId = [subClusterId],
  251. @amRMServiceAddress = [amRMServiceAddress],
  252. @clientRMServiceAddress = [clientRMServiceAddress],
  253. @rmAdminServiceAddress = [rmAdminServiceAddress],
  254. @rmWebServiceAddress = [rmWebServiceAddress],
  255. @lastHeartBeat = [lastHeartBeat],
  256. @state = [state],
  257. @lastStartTime = [lastStartTime],
  258. @capability = [capability]
  259. FROM [dbo].[membership]
  260. WHERE [subClusterId] = @subClusterId
  261. COMMIT TRAN
  262. END TRY
  263. BEGIN CATCH
  264. ROLLBACK TRAN
  265. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  266. /* raise error and terminate the execution */
  267. RAISERROR(@errorMessage, --- Error Message
  268. 1, -- Severity
  269. -1 -- State
  270. ) WITH log
  271. END CATCH
  272. END;
  273. GO
  274. IF OBJECT_ID ( '[sp_subClusterHeartbeat]', 'P' ) IS NOT NULL
  275. DROP PROCEDURE [sp_subClusterHeartbeat];
  276. GO
  277. CREATE PROCEDURE [dbo].[sp_subClusterHeartbeat]
  278. @subClusterId VARCHAR(256),
  279. @state VARCHAR(256),
  280. @capability VARCHAR(6000),
  281. @rowCount int OUTPUT
  282. AS BEGIN
  283. DECLARE @errorMessage nvarchar(4000)
  284. BEGIN TRY
  285. BEGIN TRAN
  286. UPDATE [dbo].[membership]
  287. SET [state] = @state,
  288. [lastHeartbeat] = GETUTCDATE(),
  289. [capability] = @capability
  290. WHERE [subClusterId] = @subClusterId;
  291. SELECT @rowCount = @@ROWCOUNT;
  292. COMMIT TRAN
  293. END TRY
  294. BEGIN CATCH
  295. ROLLBACK TRAN
  296. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  297. /* raise error and terminate the execution */
  298. RAISERROR(@errorMessage, --- Error Message
  299. 1, -- Severity
  300. -1 -- State
  301. ) WITH log
  302. END CATCH
  303. END;
  304. GO
  305. IF OBJECT_ID ( '[sp_deregisterSubCluster]', 'P' ) IS NOT NULL
  306. DROP PROCEDURE [sp_deregisterSubCluster];
  307. GO
  308. CREATE PROCEDURE [dbo].[sp_deregisterSubCluster]
  309. @subClusterId VARCHAR(256),
  310. @state VARCHAR(256),
  311. @rowCount int OUTPUT
  312. AS BEGIN
  313. DECLARE @errorMessage nvarchar(4000)
  314. BEGIN TRY
  315. BEGIN TRAN
  316. UPDATE [dbo].[membership]
  317. SET [state] = @state
  318. WHERE [subClusterId] = @subClusterId;
  319. SELECT @rowCount = @@ROWCOUNT;
  320. COMMIT TRAN
  321. END TRY
  322. BEGIN CATCH
  323. ROLLBACK TRAN
  324. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  325. /* raise error and terminate the execution */
  326. RAISERROR(@errorMessage, --- Error Message
  327. 1, -- Severity
  328. -1 -- State
  329. ) WITH log
  330. END CATCH
  331. END;
  332. GO
  333. IF OBJECT_ID ( '[sp_setPolicyConfiguration]', 'P' ) IS NOT NULL
  334. DROP PROCEDURE [sp_setPolicyConfiguration];
  335. GO
  336. CREATE PROCEDURE [dbo].[sp_setPolicyConfiguration]
  337. @queue VARCHAR(256),
  338. @policyType VARCHAR(256),
  339. @params VARBINARY(512),
  340. @rowCount int OUTPUT
  341. AS BEGIN
  342. DECLARE @errorMessage nvarchar(4000)
  343. BEGIN TRY
  344. BEGIN TRAN
  345. DELETE FROM [dbo].[policies]
  346. WHERE [queue] = @queue;
  347. INSERT INTO [dbo].[policies] (
  348. [queue],
  349. [policyType],
  350. [params])
  351. VALUES (
  352. @queue,
  353. @policyType,
  354. @params);
  355. SELECT @rowCount = @@ROWCOUNT;
  356. COMMIT TRAN
  357. END TRY
  358. BEGIN CATCH
  359. ROLLBACK TRAN
  360. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  361. /* raise error and terminate the execution */
  362. RAISERROR(@errorMessage, --- Error Message
  363. 1, -- Severity
  364. -1 -- State
  365. ) WITH log
  366. END CATCH
  367. END;
  368. GO
  369. IF OBJECT_ID ( '[sp_getPolicyConfiguration]', 'P' ) IS NOT NULL
  370. DROP PROCEDURE [sp_getPolicyConfiguration];
  371. GO
  372. CREATE PROCEDURE [dbo].[sp_getPolicyConfiguration]
  373. @queue VARCHAR(256),
  374. @policyType VARCHAR(256) OUTPUT,
  375. @params VARBINARY(6000) OUTPUT
  376. AS BEGIN
  377. DECLARE @errorMessage nvarchar(4000)
  378. BEGIN TRY
  379. SELECT @policyType = [policyType],
  380. @params = [params]
  381. FROM [dbo].[policies]
  382. WHERE [queue] = @queue
  383. END TRY
  384. BEGIN CATCH
  385. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  386. /* raise error and terminate the execution */
  387. RAISERROR(@errorMessage, --- Error Message
  388. 1, -- Severity
  389. -1 -- State
  390. ) WITH log
  391. END CATCH
  392. END;
  393. GO
  394. IF OBJECT_ID ( '[sp_getPoliciesConfigurations]', 'P' ) IS NOT NULL
  395. DROP PROCEDURE [sp_getPoliciesConfigurations];
  396. GO
  397. CREATE PROCEDURE [dbo].[sp_getPoliciesConfigurations]
  398. AS BEGIN
  399. DECLARE @errorMessage nvarchar(4000)
  400. BEGIN TRY
  401. SELECT [queue], [policyType], [params] FROM [dbo].[policies]
  402. END TRY
  403. BEGIN CATCH
  404. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  405. /* raise error and terminate the execution */
  406. RAISERROR(@errorMessage, --- Error Message
  407. 1, -- Severity
  408. -1 -- State
  409. ) WITH log
  410. END CATCH
  411. END;
  412. GO