FederationStateStoreStoredProcs.sql 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053
  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_IN VARCHAR(64),
  25. @homeSubCluster_IN VARCHAR(256),
  26. @applicationContext_IN VARBINARY(MAX),
  27. @storedHomeSubCluster_OUT VARCHAR(256) OUTPUT,
  28. @rowCount_OUT int OUTPUT
  29. AS BEGIN
  30. DECLARE @errorMessage nvarchar(4000)
  31. BEGIN TRY
  32. BEGIN TRAN
  33. -- If application to sub-cluster map doesn't exist, insert it.
  34. -- Otherwise don't change the current mapping.
  35. IF NOT EXISTS (SELECT TOP 1 *
  36. FROM [dbo].[applicationsHomeSubCluster]
  37. WHERE [applicationId] = @applicationId_IN)
  38. INSERT INTO [dbo].[applicationsHomeSubCluster] (
  39. [applicationId],
  40. [homeSubCluster],
  41. [createTime],
  42. [applicationContext])
  43. VALUES (
  44. @applicationId_IN,
  45. @homeSubCluster_IN,
  46. GETUTCDATE(),
  47. @applicationContext_IN);
  48. -- End of the IF block
  49. SELECT @rowCount_OUT = @@ROWCOUNT;
  50. SELECT @storedHomeSubCluster_OUT = [homeSubCluster]
  51. FROM [dbo].[applicationsHomeSubCluster]
  52. WHERE [applicationId] = @applicationId_IN;
  53. COMMIT TRAN
  54. END TRY
  55. BEGIN CATCH
  56. ROLLBACK TRAN
  57. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  58. /* raise error and terminate the execution */
  59. RAISERROR(@errorMessage, --- Error Message
  60. 1, -- Severity
  61. -1 -- State
  62. ) WITH log
  63. END CATCH
  64. END;
  65. GO
  66. IF OBJECT_ID ( '[sp_updateApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  67. DROP PROCEDURE [sp_updateApplicationHomeSubCluster];
  68. GO
  69. CREATE PROCEDURE [dbo].[sp_updateApplicationHomeSubCluster]
  70. @applicationId_IN VARCHAR(64),
  71. @homeSubCluster_IN VARCHAR(256),
  72. @applicationContext_IN VARBINARY(MAX),
  73. @rowCount_OUT int OUTPUT
  74. AS BEGIN
  75. DECLARE @errorMessage nvarchar(4000)
  76. BEGIN TRY
  77. BEGIN TRAN
  78. UPDATE [dbo].[applicationsHomeSubCluster]
  79. SET [homeSubCluster] = @homeSubCluster_IN,
  80. [applicationContext] = @applicationContext_IN
  81. WHERE [applicationId] = @applicationId_IN;
  82. SELECT @rowCount_OUT = @@ROWCOUNT;
  83. COMMIT TRAN
  84. END TRY
  85. BEGIN CATCH
  86. ROLLBACK TRAN
  87. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  88. /* raise error and terminate the execution */
  89. RAISERROR(@errorMessage, --- Error Message
  90. 1, -- Severity
  91. -1 -- State
  92. ) WITH log
  93. END CATCH
  94. END;
  95. GO
  96. IF OBJECT_ID ( '[sp_getApplicationsHomeSubCluster]', 'P' ) IS NOT NULL
  97. DROP PROCEDURE [sp_getApplicationsHomeSubCluster];
  98. GO
  99. CREATE PROCEDURE [dbo].[sp_getApplicationsHomeSubCluster]
  100. @limit_IN int,
  101. @homeSubCluster_IN VARCHAR(256)
  102. AS BEGIN
  103. DECLARE @errorMessage nvarchar(4000)
  104. BEGIN TRY
  105. SELECT
  106. [applicationId],
  107. [homeSubCluster],
  108. [createTime]
  109. FROM(SELECT
  110. [applicationId],
  111. [homeSubCluster],
  112. [createTime],
  113. row_number() over(order by [createTime] desc) AS app_rank
  114. FROM [dbo].[applicationsHomeSubCluster]
  115. WHERE [homeSubCluster] = @homeSubCluster_IN OR @homeSubCluster_IN = '') AS applicationsHomeSubCluster
  116. WHERE app_rank <= @limit_IN;
  117. END TRY
  118. BEGIN CATCH
  119. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  120. /* raise error and terminate the execution */
  121. RAISERROR(@errorMessage, --- Error Message
  122. 1, -- Severity
  123. -1 -- State
  124. ) WITH log
  125. END CATCH
  126. END;
  127. GO
  128. IF OBJECT_ID ( '[sp_getApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  129. DROP PROCEDURE [sp_getApplicationHomeSubCluster];
  130. GO
  131. CREATE PROCEDURE [dbo].[sp_getApplicationHomeSubCluster]
  132. @applicationId_IN VARCHAR(64),
  133. @homeSubCluster_OUT VARCHAR(256) OUTPUT,
  134. @createTime_OUT datetime OUT,
  135. @applicationContext_OUT VARBINARY(MAX) OUTPUT
  136. AS BEGIN
  137. DECLARE @errorMessage nvarchar(4000)
  138. BEGIN TRY
  139. SELECT @homeSubCluster_OUT = [homeSubCluster],
  140. @createTime_OUT = [createTime],
  141. @applicationContext_OUT = [applicationContext]
  142. FROM [dbo].[applicationsHomeSubCluster]
  143. WHERE [applicationId] = @applicationId_IN;
  144. END TRY
  145. BEGIN CATCH
  146. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  147. /* raise error and terminate the execution */
  148. RAISERROR(@errorMessage, --- Error Message
  149. 1, -- Severity
  150. -1 -- State
  151. ) WITH log
  152. END CATCH
  153. END;
  154. GO
  155. IF OBJECT_ID ( '[sp_deleteApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  156. DROP PROCEDURE [sp_deleteApplicationHomeSubCluster];
  157. GO
  158. CREATE PROCEDURE [dbo].[sp_deleteApplicationHomeSubCluster]
  159. @applicationId_IN VARCHAR(64),
  160. @rowCount_OUT int OUTPUT
  161. AS BEGIN
  162. DECLARE @errorMessage nvarchar(4000)
  163. BEGIN TRY
  164. BEGIN TRAN
  165. DELETE FROM [dbo].[applicationsHomeSubCluster]
  166. WHERE [applicationId] = @applicationId_IN;
  167. SELECT @rowCount_OUT = @@ROWCOUNT;
  168. COMMIT TRAN
  169. END TRY
  170. BEGIN CATCH
  171. ROLLBACK TRAN
  172. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  173. /* raise error and terminate the execution */
  174. RAISERROR(@errorMessage, --- Error Message
  175. 1, -- Severity
  176. -1 -- State
  177. ) WITH log
  178. END CATCH
  179. END;
  180. GO
  181. IF OBJECT_ID ( '[sp_registerSubCluster]', 'P' ) IS NOT NULL
  182. DROP PROCEDURE [sp_registerSubCluster];
  183. GO
  184. CREATE PROCEDURE [dbo].[sp_registerSubCluster]
  185. @subClusterId_IN VARCHAR(256),
  186. @amRMServiceAddress_IN VARCHAR(256),
  187. @clientRMServiceAddress_IN VARCHAR(256),
  188. @rmAdminServiceAddress_IN VARCHAR(256),
  189. @rmWebServiceAddress_IN VARCHAR(256),
  190. @state_IN VARCHAR(32),
  191. @lastStartTime_IN BIGINT,
  192. @capability_IN VARCHAR(6000),
  193. @rowCount_OUT int OUTPUT
  194. AS BEGIN
  195. DECLARE @errorMessage nvarchar(4000)
  196. BEGIN TRY
  197. BEGIN TRAN
  198. DELETE FROM [dbo].[membership]
  199. WHERE [subClusterId] = @subClusterId_IN;
  200. INSERT INTO [dbo].[membership] (
  201. [subClusterId],
  202. [amRMServiceAddress],
  203. [clientRMServiceAddress],
  204. [rmAdminServiceAddress],
  205. [rmWebServiceAddress],
  206. [lastHeartBeat],
  207. [state],
  208. [lastStartTime],
  209. [capability] )
  210. VALUES (
  211. @subClusterId_IN,
  212. @amRMServiceAddress_IN,
  213. @clientRMServiceAddress_IN,
  214. @rmAdminServiceAddress_IN,
  215. @rmWebServiceAddress_IN,
  216. GETUTCDATE(),
  217. @state_IN,
  218. @lastStartTime_IN,
  219. @capability_IN);
  220. SELECT @rowCount_OUT = @@ROWCOUNT;
  221. COMMIT TRAN
  222. END TRY
  223. BEGIN CATCH
  224. ROLLBACK TRAN
  225. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  226. /* raise error and terminate the execution */
  227. RAISERROR(@errorMessage, --- Error Message
  228. 1, -- Severity
  229. -1 -- State
  230. ) WITH log
  231. END CATCH
  232. END;
  233. GO
  234. IF OBJECT_ID ( '[sp_getSubClusters]', 'P' ) IS NOT NULL
  235. DROP PROCEDURE [sp_getSubClusters];
  236. GO
  237. CREATE PROCEDURE [dbo].[sp_getSubClusters]
  238. AS BEGIN
  239. DECLARE @errorMessage nvarchar(4000)
  240. BEGIN TRY
  241. SELECT [subClusterId], [amRMServiceAddress], [clientRMServiceAddress],
  242. [rmAdminServiceAddress], [rmWebServiceAddress], [lastHeartBeat],
  243. [state], [lastStartTime], [capability]
  244. FROM [dbo].[membership]
  245. END TRY
  246. BEGIN CATCH
  247. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  248. /* raise error and terminate the execution */
  249. RAISERROR(@errorMessage, --- Error Message
  250. 1, -- Severity
  251. -1 -- State
  252. ) WITH log
  253. END CATCH
  254. END;
  255. GO
  256. IF OBJECT_ID ( '[sp_getSubCluster]', 'P' ) IS NOT NULL
  257. DROP PROCEDURE [sp_getSubCluster];
  258. GO
  259. CREATE PROCEDURE [dbo].[sp_getSubCluster]
  260. @subClusterId_IN VARCHAR(256),
  261. @amRMServiceAddress_OUT VARCHAR(256) OUTPUT,
  262. @clientRMServiceAddress_OUT VARCHAR(256) OUTPUT,
  263. @rmAdminServiceAddress_OUT VARCHAR(256) OUTPUT,
  264. @rmWebServiceAddress_OUT VARCHAR(256) OUTPUT,
  265. @lastHeartBeat_OUT DATETIME2 OUTPUT,
  266. @state_OUT VARCHAR(256) OUTPUT,
  267. @lastStartTime_OUT BIGINT OUTPUT,
  268. @capability_OUT VARCHAR(6000) OUTPUT
  269. AS BEGIN
  270. DECLARE @errorMessage nvarchar(4000)
  271. BEGIN TRY
  272. BEGIN TRAN
  273. SELECT @subClusterId_IN = [subClusterId],
  274. @amRMServiceAddress_OUT = [amRMServiceAddress],
  275. @clientRMServiceAddress_OUT = [clientRMServiceAddress],
  276. @rmAdminServiceAddress_OUT = [rmAdminServiceAddress],
  277. @rmWebServiceAddress_OUT = [rmWebServiceAddress],
  278. @lastHeartBeat_OUT = [lastHeartBeat],
  279. @state_OUT = [state],
  280. @lastStartTime_OUT = [lastStartTime],
  281. @capability_OUT = [capability]
  282. FROM [dbo].[membership]
  283. WHERE [subClusterId] = @subClusterId_IN
  284. COMMIT TRAN
  285. END TRY
  286. BEGIN CATCH
  287. ROLLBACK TRAN
  288. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  289. /* raise error and terminate the execution */
  290. RAISERROR(@errorMessage, --- Error Message
  291. 1, -- Severity
  292. -1 -- State
  293. ) WITH log
  294. END CATCH
  295. END;
  296. GO
  297. IF OBJECT_ID ( '[sp_subClusterHeartbeat]', 'P' ) IS NOT NULL
  298. DROP PROCEDURE [sp_subClusterHeartbeat];
  299. GO
  300. CREATE PROCEDURE [dbo].[sp_subClusterHeartbeat]
  301. @subClusterId_IN VARCHAR(256),
  302. @state_IN VARCHAR(256),
  303. @capability_IN VARCHAR(6000),
  304. @rowCount_OUT int OUTPUT
  305. AS BEGIN
  306. DECLARE @errorMessage nvarchar(4000)
  307. BEGIN TRY
  308. BEGIN TRAN
  309. UPDATE [dbo].[membership]
  310. SET [state] = @state_IN,
  311. [lastHeartbeat] = GETUTCDATE(),
  312. [capability] = @capability_IN
  313. WHERE [subClusterId] = @subClusterId_IN;
  314. SELECT @rowCount_OUT = @@ROWCOUNT;
  315. COMMIT TRAN
  316. END TRY
  317. BEGIN CATCH
  318. ROLLBACK TRAN
  319. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  320. /* raise error and terminate the execution */
  321. RAISERROR(@errorMessage, --- Error Message
  322. 1, -- Severity
  323. -1 -- State
  324. ) WITH log
  325. END CATCH
  326. END;
  327. GO
  328. IF OBJECT_ID ( '[sp_deregisterSubCluster]', 'P' ) IS NOT NULL
  329. DROP PROCEDURE [sp_deregisterSubCluster];
  330. GO
  331. CREATE PROCEDURE [dbo].[sp_deregisterSubCluster]
  332. @subClusterId_IN VARCHAR(256),
  333. @state_IN VARCHAR(256),
  334. @rowCount_OUT int OUTPUT
  335. AS BEGIN
  336. DECLARE @errorMessage nvarchar(4000)
  337. BEGIN TRY
  338. BEGIN TRAN
  339. UPDATE [dbo].[membership]
  340. SET [state] = @state_IN
  341. WHERE [subClusterId] = @subClusterId_IN;
  342. SELECT @rowCount_OUT = @@ROWCOUNT;
  343. COMMIT TRAN
  344. END TRY
  345. BEGIN CATCH
  346. ROLLBACK TRAN
  347. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  348. /* raise error and terminate the execution */
  349. RAISERROR(@errorMessage, --- Error Message
  350. 1, -- Severity
  351. -1 -- State
  352. ) WITH log
  353. END CATCH
  354. END;
  355. GO
  356. IF OBJECT_ID ( '[sp_setPolicyConfiguration]', 'P' ) IS NOT NULL
  357. DROP PROCEDURE [sp_setPolicyConfiguration];
  358. GO
  359. CREATE PROCEDURE [dbo].[sp_setPolicyConfiguration]
  360. @queue_IN VARCHAR(256),
  361. @policyType_IN VARCHAR(256),
  362. @params_IN VARBINARY(512),
  363. @rowCount_OUT int OUTPUT
  364. AS BEGIN
  365. DECLARE @errorMessage nvarchar(4000)
  366. BEGIN TRY
  367. BEGIN TRAN
  368. DELETE FROM [dbo].[policies]
  369. WHERE [queue] = @queue_IN;
  370. INSERT INTO [dbo].[policies] (
  371. [queue],
  372. [policyType],
  373. [params])
  374. VALUES (
  375. @queue_IN,
  376. @policyType_IN,
  377. @params_IN);
  378. SELECT @rowCount_OUT = @@ROWCOUNT;
  379. COMMIT TRAN
  380. END TRY
  381. BEGIN CATCH
  382. ROLLBACK TRAN
  383. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  384. /* raise error and terminate the execution */
  385. RAISERROR(@errorMessage, --- Error Message
  386. 1, -- Severity
  387. -1 -- State
  388. ) WITH log
  389. END CATCH
  390. END;
  391. GO
  392. IF OBJECT_ID ( '[sp_getPolicyConfiguration]', 'P' ) IS NOT NULL
  393. DROP PROCEDURE [sp_getPolicyConfiguration];
  394. GO
  395. CREATE PROCEDURE [dbo].[sp_getPolicyConfiguration]
  396. @queue_IN VARCHAR(256),
  397. @policyType_OUT VARCHAR(256) OUTPUT,
  398. @params_OUT VARBINARY(6000) OUTPUT
  399. AS BEGIN
  400. DECLARE @errorMessage nvarchar(4000)
  401. BEGIN TRY
  402. SELECT @policyType_OUT = [policyType],
  403. @params_OUT = [params]
  404. FROM [dbo].[policies]
  405. WHERE [queue] = @queue_IN
  406. END TRY
  407. BEGIN CATCH
  408. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  409. /* raise error and terminate the execution */
  410. RAISERROR(@errorMessage, --- Error Message
  411. 1, -- Severity
  412. -1 -- State
  413. ) WITH log
  414. END CATCH
  415. END;
  416. GO
  417. IF OBJECT_ID ( '[sp_getPoliciesConfigurations]', 'P' ) IS NOT NULL
  418. DROP PROCEDURE [sp_getPoliciesConfigurations];
  419. GO
  420. CREATE PROCEDURE [dbo].[sp_getPoliciesConfigurations]
  421. AS BEGIN
  422. DECLARE @errorMessage nvarchar(4000)
  423. BEGIN TRY
  424. SELECT [queue], [policyType], [params] FROM [dbo].[policies]
  425. END TRY
  426. BEGIN CATCH
  427. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  428. /* raise error and terminate the execution */
  429. RAISERROR(@errorMessage, --- Error Message
  430. 1, -- Severity
  431. -1 -- State
  432. ) WITH log
  433. END CATCH
  434. END;
  435. GO
  436. IF OBJECT_ID ( '[sp_addReservationHomeSubCluster]', 'P' ) IS NOT NULL
  437. DROP PROCEDURE [sp_addReservationHomeSubCluster];
  438. GO
  439. CREATE PROCEDURE [dbo].[sp_addReservationHomeSubCluster]
  440. @reservationId_IN VARCHAR(128),
  441. @homeSubCluster_IN VARCHAR(256),
  442. @storedHomeSubCluster_OUT VARCHAR(256) OUTPUT,
  443. @rowCount_OUT int OUTPUT
  444. AS BEGIN
  445. DECLARE @errorMessage nvarchar(4000)
  446. BEGIN TRY
  447. BEGIN TRAN
  448. -- If application to sub-cluster map doesn't exist, insert it.
  449. -- Otherwise don't change the current mapping.
  450. IF NOT EXISTS (SELECT TOP 1 *
  451. FROM [dbo].[reservationsHomeSubCluster]
  452. WHERE [reservationId] = @reservationId_IN)
  453. INSERT INTO [dbo].[reservationsHomeSubCluster] (
  454. [reservationId],
  455. [homeSubCluster])
  456. VALUES (
  457. @reservationId_IN,
  458. @homeSubCluster_IN);
  459. -- End of the IF block
  460. SELECT @rowCount_OUT = @@ROWCOUNT;
  461. SELECT @storedHomeSubCluster_OUT = [homeSubCluster]
  462. FROM [dbo].[reservationsHomeSubCluster]
  463. WHERE [reservationId] = @reservationId_IN;
  464. COMMIT TRAN
  465. END TRY
  466. BEGIN CATCH
  467. ROLLBACK TRAN
  468. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  469. /* raise error and terminate the execution */
  470. RAISERROR(@errorMessage, --- Error Message
  471. 1, -- Severity
  472. -1 -- State
  473. ) WITH log
  474. END CATCH
  475. END;
  476. GO
  477. IF OBJECT_ID ( '[sp_updateReservationHomeSubCluster]', 'P' ) IS NOT NULL
  478. DROP PROCEDURE [sp_updateReservationHomeSubCluster];
  479. GO
  480. CREATE PROCEDURE [dbo].[sp_updateReservationHomeSubCluster]
  481. @reservationId_IN VARCHAR(128),
  482. @homeSubCluster_IN VARCHAR(256),
  483. @rowCount_OUT int OUTPUT
  484. AS BEGIN
  485. DECLARE @errorMessage nvarchar(4000)
  486. BEGIN TRY
  487. BEGIN TRAN
  488. UPDATE [dbo].[reservationsHomeSubCluster]
  489. SET [homeSubCluster] = @homeSubCluster_IN
  490. WHERE [reservationId] = @reservationId_IN;
  491. SELECT @rowCount_OUT = @@ROWCOUNT;
  492. COMMIT TRAN
  493. END TRY
  494. BEGIN CATCH
  495. ROLLBACK TRAN
  496. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  497. /* raise error and terminate the execution */
  498. RAISERROR(@errorMessage, --- Error Message
  499. 1, -- Severity
  500. -1 -- State
  501. ) WITH log
  502. END CATCH
  503. END;
  504. GO
  505. IF OBJECT_ID ( '[sp_getReservationsHomeSubCluster]', 'P' ) IS NOT NULL
  506. DROP PROCEDURE [sp_getReservationsHomeSubCluster];
  507. GO
  508. CREATE PROCEDURE [dbo].[sp_getReservationsHomeSubCluster]
  509. AS BEGIN
  510. DECLARE @errorMessage nvarchar(4000)
  511. BEGIN TRY
  512. SELECT [reservationId], [homeSubCluster], [createTime]
  513. FROM [dbo].[reservationsHomeSubCluster]
  514. END TRY
  515. BEGIN CATCH
  516. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  517. /* raise error and terminate the execution */
  518. RAISERROR(@errorMessage, --- Error Message
  519. 1, -- Severity
  520. -1 -- State
  521. ) WITH log
  522. END CATCH
  523. END;
  524. GO
  525. IF OBJECT_ID ( '[sp_getReservationHomeSubCluster]', 'P' ) IS NOT NULL
  526. DROP PROCEDURE [sp_getReservationHomeSubCluster];
  527. GO
  528. CREATE PROCEDURE [dbo].[sp_getReservationHomeSubCluster]
  529. @reservationId_IN VARCHAR(128),
  530. @homeSubCluster_OUT VARCHAR(256) OUTPUT
  531. AS BEGIN
  532. DECLARE @errorMessage nvarchar(4000)
  533. BEGIN TRY
  534. SELECT @homeSubCluster_OUT = [homeSubCluster]
  535. FROM [dbo].[reservationsHomeSubCluster]
  536. WHERE [reservationId] = @reservationId_IN;
  537. END TRY
  538. BEGIN CATCH
  539. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  540. /* raise error and terminate the execution */
  541. RAISERROR(@errorMessage, --- Error Message
  542. 1, -- Severity
  543. -1 -- State
  544. ) WITH log
  545. END CATCH
  546. END;
  547. GO
  548. IF OBJECT_ID ( '[sp_deleteReservationHomeSubCluster]', 'P' ) IS NOT NULL
  549. DROP PROCEDURE [sp_deleteReservationHomeSubCluster];
  550. GO
  551. CREATE PROCEDURE [dbo].[sp_deleteReservationHomeSubCluster]
  552. @reservationId_IN VARCHAR(128),
  553. @rowCount_OUT int OUTPUT
  554. AS BEGIN
  555. DECLARE @errorMessage nvarchar(4000)
  556. BEGIN TRY
  557. BEGIN TRAN
  558. DELETE FROM [dbo].[reservationsHomeSubCluster]
  559. WHERE [reservationId] = @reservationId_IN;
  560. SELECT @rowCount_OUT = @@ROWCOUNT;
  561. COMMIT TRAN
  562. END TRY
  563. BEGIN CATCH
  564. ROLLBACK TRAN
  565. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  566. /* raise error and terminate the execution */
  567. RAISERROR(@errorMessage, --- Error Message
  568. 1, -- Severity
  569. -1 -- State
  570. ) WITH log
  571. END CATCH
  572. END;
  573. GO
  574. IF OBJECT_ID ( '[sp_addMasterKey]', 'P' ) IS NOT NULL
  575. DROP PROCEDURE [sp_addMasterKey];
  576. GO
  577. CREATE PROCEDURE [dbo].[sp_addMasterKey]
  578. @keyId_IN BIGINT,
  579. @masterKey_IN VARCHAR(1024),
  580. @rowCount_OUT int OUTPUT
  581. AS BEGIN
  582. DECLARE @errorMessage nvarchar(4000)
  583. BEGIN TRY
  584. BEGIN TRAN
  585. -- If application to sub-cluster map doesn't exist, insert it.
  586. -- Otherwise don't change the current mapping.
  587. IF NOT EXISTS (SELECT TOP 1 *
  588. FROM [dbo].[masterKeys]
  589. WHERE [keyId] = @keyId_IN)
  590. INSERT INTO [dbo].[masterKeys] (
  591. [keyId],
  592. [masterKey])
  593. VALUES (
  594. @keyId_IN,
  595. @masterKey_IN);
  596. -- End of the IF block
  597. SELECT @rowCount_OUT = @@ROWCOUNT;
  598. COMMIT TRAN
  599. END TRY
  600. BEGIN CATCH
  601. ROLLBACK TRAN
  602. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  603. /* raise error and terminate the execution */
  604. RAISERROR(@errorMessage, --- Error Message
  605. 1, -- Severity
  606. -1 -- State
  607. ) WITH log
  608. END CATCH
  609. END;
  610. GO
  611. IF OBJECT_ID ( '[sp_getMasterKey]', 'P' ) IS NOT NULL
  612. DROP PROCEDURE [sp_getMasterKey];
  613. GO
  614. CREATE PROCEDURE [dbo].[sp_getMasterKey]
  615. @keyId_IN bigint,
  616. @masterKey_OUT VARCHAR(1024) OUTPUT
  617. AS BEGIN
  618. DECLARE @errorMessage nvarchar(4000)
  619. BEGIN TRY
  620. SELECT @masterKey_OUT = [masterKey]
  621. FROM [dbo].[masterKeys]
  622. WHERE [keyId] = @keyId_IN;
  623. END TRY
  624. BEGIN CATCH
  625. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  626. /* raise error and terminate the execution */
  627. RAISERROR(@errorMessage, --- Error Message
  628. 1, -- Severity
  629. -1 -- State
  630. ) WITH log
  631. END CATCH
  632. END;
  633. GO
  634. IF OBJECT_ID ( '[sp_deleteMasterKey]', 'P' ) IS NOT NULL
  635. DROP PROCEDURE [sp_deleteMasterKey];
  636. GO
  637. CREATE PROCEDURE [dbo].[sp_deleteMasterKey]
  638. @keyId_IN bigint,
  639. @rowCount_OUT int OUTPUT
  640. AS BEGIN
  641. DECLARE @errorMessage nvarchar(4000)
  642. BEGIN TRY
  643. BEGIN TRAN
  644. DELETE FROM [dbo].[masterKeys]
  645. WHERE [keyId] = @keyId_IN;
  646. SELECT @rowCount_OUT = @@ROWCOUNT;
  647. COMMIT TRAN
  648. END TRY
  649. BEGIN CATCH
  650. ROLLBACK TRAN
  651. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  652. /* raise error and terminate the execution */
  653. RAISERROR(@errorMessage, --- Error Message
  654. 1, -- Severity
  655. -1 -- State
  656. ) WITH log
  657. END CATCH
  658. END;
  659. GO
  660. IF OBJECT_ID ( '[sp_addDelegationToken]', 'P' ) IS NOT NULL
  661. DROP PROCEDURE [sp_addDelegationToken];
  662. GO
  663. CREATE PROCEDURE [dbo].[sp_addDelegationToken]
  664. @sequenceNum_IN BIGINT,
  665. @tokenIdent_IN VARCHAR(1024),
  666. @token_IN VARCHAR(1024),
  667. @renewDate_IN BIGINT,
  668. @rowCount_OUT int OUTPUT
  669. AS BEGIN
  670. DECLARE @errorMessage nvarchar(4000)
  671. BEGIN TRY
  672. BEGIN TRAN
  673. -- If application to sub-cluster map doesn't exist, insert it.
  674. -- Otherwise don't change the current mapping.
  675. IF NOT EXISTS (SELECT TOP 1 *
  676. FROM [dbo].[delegationTokens]
  677. WHERE [sequenceNum] = @sequenceNum_IN)
  678. INSERT INTO [dbo].[delegationTokens] (
  679. [sequenceNum],
  680. [tokenIdent],
  681. [token],
  682. [renewDate])
  683. VALUES (
  684. @sequenceNum_IN,
  685. @tokenIdent_IN,
  686. @token_IN,
  687. @renewDate_IN);
  688. -- End of the IF block
  689. SELECT @rowCount_OUT = @@ROWCOUNT;
  690. COMMIT TRAN
  691. END TRY
  692. BEGIN CATCH
  693. ROLLBACK TRAN
  694. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  695. /* raise error and terminate the execution */
  696. RAISERROR(@errorMessage, --- Error Message
  697. 1, -- Severity
  698. -1 -- State
  699. ) WITH log
  700. END CATCH
  701. END;
  702. GO
  703. IF OBJECT_ID ( '[sp_getDelegationToken]', 'P' ) IS NOT NULL
  704. DROP PROCEDURE [sp_getDelegationToken];
  705. GO
  706. CREATE PROCEDURE [dbo].[sp_getDelegationToken]
  707. @sequenceNum_IN BIGINT,
  708. @tokenIdent_OUT VARCHAR(1024) OUTPUT,
  709. @token_OUT VARCHAR(1024) OUTPUT,
  710. @renewDate_OUT BIGINT OUTPUT
  711. AS BEGIN
  712. DECLARE @errorMessage nvarchar(4000)
  713. BEGIN TRY
  714. SELECT @tokenIdent_OUT = [tokenIdent],
  715. @token_OUT = [token],
  716. @renewDate_OUT = [renewDate]
  717. FROM [dbo].[delegationTokens]
  718. WHERE [sequenceNum] = @sequenceNum_IN;
  719. END TRY
  720. BEGIN CATCH
  721. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  722. /* raise error and terminate the execution */
  723. RAISERROR(@errorMessage, --- Error Message
  724. 1, -- Severity
  725. -1 -- State
  726. ) WITH log
  727. END CATCH
  728. END;
  729. GO
  730. IF OBJECT_ID ( '[sp_updateDelegationToken]', 'P' ) IS NOT NULL
  731. DROP PROCEDURE [sp_updateDelegationToken];
  732. GO
  733. CREATE PROCEDURE [dbo].[sp_updateDelegationToken]
  734. @sequenceNum_IN BIGINT,
  735. @tokenIdent_IN VARCHAR(1024),
  736. @token_IN VARCHAR(1024),
  737. @renewDate_IN BIGINT,
  738. @rowCount_OUT BIGINT OUTPUT
  739. AS BEGIN
  740. DECLARE @errorMessage nvarchar(4000)
  741. BEGIN TRY
  742. UPDATE [dbo].[delegationTokens]
  743. SET [tokenIdent] = @tokenIdent_IN,
  744. [token] = @token_IN,
  745. [renewDate] = @renewDate_IN
  746. WHERE [sequenceNum] = @sequenceNum_IN;
  747. SELECT @rowCount_OUT = @@ROWCOUNT;
  748. END TRY
  749. BEGIN CATCH
  750. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  751. /* raise error and terminate the execution */
  752. RAISERROR(@errorMessage, --- Error Message
  753. 1, -- Severity
  754. -1 -- State
  755. ) WITH log
  756. END CATCH
  757. END;
  758. GO
  759. IF OBJECT_ID ( '[sp_deleteDelegationToken]', 'P' ) IS NOT NULL
  760. DROP PROCEDURE [sp_deleteDelegationToken];
  761. GO
  762. CREATE PROCEDURE [dbo].[sp_deleteDelegationToken]
  763. @sequenceNum_IN bigint,
  764. @rowCount_OUT int OUTPUT
  765. AS BEGIN
  766. DECLARE @errorMessage nvarchar(4000)
  767. BEGIN TRY
  768. BEGIN TRAN
  769. DELETE FROM [dbo].[delegationTokens]
  770. WHERE [sequenceNum] = @sequenceNum_IN;
  771. SELECT @rowCount_OUT = @@ROWCOUNT;
  772. COMMIT TRAN
  773. END TRY
  774. BEGIN CATCH
  775. ROLLBACK TRAN
  776. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  777. /* raise error and terminate the execution */
  778. RAISERROR(@errorMessage, --- Error Message
  779. 1, -- Severity
  780. -1 -- State
  781. ) WITH log
  782. END CATCH
  783. END;
  784. GO
  785. IF OBJECT_ID ( '[sp_storeVersion]', 'P' ) IS NOT NULL
  786. DROP PROCEDURE [sp_storeVersion];
  787. GO
  788. CREATE PROCEDURE [dbo].[sp_storeVersion]
  789. @fedVersion_IN VARBINARY(1024),
  790. @versionComment_IN VARCHAR(255),
  791. @rowCount_OUT BIGINT OUTPUT
  792. AS BEGIN
  793. DECLARE @errorMessage nvarchar(4000)
  794. BEGIN TRY
  795. BEGIN TRAN
  796. DELETE FROM [dbo].[versions];
  797. INSERT INTO [dbo].[versions] (
  798. [fedVersion],
  799. [versionComment])
  800. VALUES (
  801. @fedVersion_IN,
  802. @versionComment_IN);
  803. SELECT @rowCount_OUT = @@ROWCOUNT;
  804. COMMIT TRAN
  805. END TRY
  806. BEGIN CATCH
  807. ROLLBACK TRAN
  808. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  809. /* raise error and terminate the execution */
  810. RAISERROR(@errorMessage, --- Error Message
  811. 1, -- Severity
  812. -1 -- State
  813. ) WITH log
  814. END CATCH
  815. END;
  816. GO
  817. IF OBJECT_ID ( '[sp_getVersion]', 'P' ) IS NOT NULL
  818. DROP PROCEDURE [sp_getVersion];
  819. GO
  820. CREATE PROCEDURE [dbo].[sp_getVersion]
  821. @fedVersion_OUT VARCHAR(1024) OUTPUT,
  822. @versionComment_OUT VARCHAR(255) OUTPUT
  823. AS BEGIN
  824. DECLARE @errorMessage nvarchar(4000)
  825. BEGIN TRY
  826. SELECT @fedVersion_OUT = [fedVersion],
  827. @versionComment_OUT = [versionComment]
  828. FROM [dbo].[versions]
  829. LIMIT 1;
  830. END TRY
  831. BEGIN CATCH
  832. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  833. /* raise error and terminate the execution */
  834. RAISERROR(@errorMessage, --- Error Message
  835. 1, -- Severity
  836. -1 -- State
  837. ) WITH log
  838. END CATCH
  839. END;
  840. GO