FederationStateStoreStoredProcs.sql 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  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. @limit int,
  94. @homeSubCluster VARCHAR(256)
  95. AS BEGIN
  96. DECLARE @errorMessage nvarchar(4000)
  97. BEGIN TRY
  98. SELECT
  99. [applicationId],
  100. [homeSubCluster],
  101. [createTime]
  102. FROM(SELECT
  103. [applicationId],
  104. [homeSubCluster],
  105. [createTime],
  106. row_number() over(order by [createTime] desc) AS app_rank
  107. FROM [dbo].[applicationsHomeSubCluster]
  108. WHERE [homeSubCluster] = @homeSubCluster OR @homeSubCluster = '') AS applicationsHomeSubCluster
  109. WHERE app_rank <= @limit;
  110. END TRY
  111. BEGIN CATCH
  112. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  113. /* raise error and terminate the execution */
  114. RAISERROR(@errorMessage, --- Error Message
  115. 1, -- Severity
  116. -1 -- State
  117. ) WITH log
  118. END CATCH
  119. END;
  120. GO
  121. IF OBJECT_ID ( '[sp_getApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  122. DROP PROCEDURE [sp_getApplicationHomeSubCluster];
  123. GO
  124. CREATE PROCEDURE [dbo].[sp_getApplicationHomeSubCluster]
  125. @applicationId VARCHAR(64),
  126. @homeSubCluster VARCHAR(256) OUTPUT
  127. AS BEGIN
  128. DECLARE @errorMessage nvarchar(4000)
  129. BEGIN TRY
  130. SELECT @homeSubCluster = [homeSubCluster]
  131. FROM [dbo].[applicationsHomeSubCluster]
  132. WHERE [applicationId] = @applicationid;
  133. END TRY
  134. BEGIN CATCH
  135. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  136. /* raise error and terminate the execution */
  137. RAISERROR(@errorMessage, --- Error Message
  138. 1, -- Severity
  139. -1 -- State
  140. ) WITH log
  141. END CATCH
  142. END;
  143. GO
  144. IF OBJECT_ID ( '[sp_deleteApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  145. DROP PROCEDURE [sp_deleteApplicationHomeSubCluster];
  146. GO
  147. CREATE PROCEDURE [dbo].[sp_deleteApplicationHomeSubCluster]
  148. @applicationId VARCHAR(64),
  149. @rowCount int OUTPUT
  150. AS BEGIN
  151. DECLARE @errorMessage nvarchar(4000)
  152. BEGIN TRY
  153. BEGIN TRAN
  154. DELETE FROM [dbo].[applicationsHomeSubCluster]
  155. WHERE [applicationId] = @applicationId;
  156. SELECT @rowCount = @@ROWCOUNT;
  157. COMMIT TRAN
  158. END TRY
  159. BEGIN CATCH
  160. ROLLBACK TRAN
  161. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  162. /* raise error and terminate the execution */
  163. RAISERROR(@errorMessage, --- Error Message
  164. 1, -- Severity
  165. -1 -- State
  166. ) WITH log
  167. END CATCH
  168. END;
  169. GO
  170. IF OBJECT_ID ( '[sp_registerSubCluster]', 'P' ) IS NOT NULL
  171. DROP PROCEDURE [sp_registerSubCluster];
  172. GO
  173. CREATE PROCEDURE [dbo].[sp_registerSubCluster]
  174. @subClusterId VARCHAR(256),
  175. @amRMServiceAddress VARCHAR(256),
  176. @clientRMServiceAddress VARCHAR(256),
  177. @rmAdminServiceAddress VARCHAR(256),
  178. @rmWebServiceAddress VARCHAR(256),
  179. @state VARCHAR(32),
  180. @lastStartTime BIGINT,
  181. @capability VARCHAR(6000),
  182. @rowCount int OUTPUT
  183. AS BEGIN
  184. DECLARE @errorMessage nvarchar(4000)
  185. BEGIN TRY
  186. BEGIN TRAN
  187. DELETE FROM [dbo].[membership]
  188. WHERE [subClusterId] = @subClusterId;
  189. INSERT INTO [dbo].[membership] (
  190. [subClusterId],
  191. [amRMServiceAddress],
  192. [clientRMServiceAddress],
  193. [rmAdminServiceAddress],
  194. [rmWebServiceAddress],
  195. [lastHeartBeat],
  196. [state],
  197. [lastStartTime],
  198. [capability] )
  199. VALUES (
  200. @subClusterId,
  201. @amRMServiceAddress,
  202. @clientRMServiceAddress,
  203. @rmAdminServiceAddress,
  204. @rmWebServiceAddress,
  205. GETUTCDATE(),
  206. @state,
  207. @lastStartTime,
  208. @capability);
  209. SELECT @rowCount = @@ROWCOUNT;
  210. COMMIT TRAN
  211. END TRY
  212. BEGIN CATCH
  213. ROLLBACK TRAN
  214. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  215. /* raise error and terminate the execution */
  216. RAISERROR(@errorMessage, --- Error Message
  217. 1, -- Severity
  218. -1 -- State
  219. ) WITH log
  220. END CATCH
  221. END;
  222. GO
  223. IF OBJECT_ID ( '[sp_getSubClusters]', 'P' ) IS NOT NULL
  224. DROP PROCEDURE [sp_getSubClusters];
  225. GO
  226. CREATE PROCEDURE [dbo].[sp_getSubClusters]
  227. AS BEGIN
  228. DECLARE @errorMessage nvarchar(4000)
  229. BEGIN TRY
  230. SELECT [subClusterId], [amRMServiceAddress], [clientRMServiceAddress],
  231. [rmAdminServiceAddress], [rmWebServiceAddress], [lastHeartBeat],
  232. [state], [lastStartTime], [capability]
  233. FROM [dbo].[membership]
  234. END TRY
  235. BEGIN CATCH
  236. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  237. /* raise error and terminate the execution */
  238. RAISERROR(@errorMessage, --- Error Message
  239. 1, -- Severity
  240. -1 -- State
  241. ) WITH log
  242. END CATCH
  243. END;
  244. GO
  245. IF OBJECT_ID ( '[sp_getSubCluster]', 'P' ) IS NOT NULL
  246. DROP PROCEDURE [sp_getSubCluster];
  247. GO
  248. CREATE PROCEDURE [dbo].[sp_getSubCluster]
  249. @subClusterId VARCHAR(256),
  250. @amRMServiceAddress VARCHAR(256) OUTPUT,
  251. @clientRMServiceAddress VARCHAR(256) OUTPUT,
  252. @rmAdminServiceAddress VARCHAR(256) OUTPUT,
  253. @rmWebServiceAddress VARCHAR(256) OUTPUT,
  254. @lastHeartbeat DATETIME2 OUTPUT,
  255. @state VARCHAR(256) OUTPUT,
  256. @lastStartTime BIGINT OUTPUT,
  257. @capability VARCHAR(6000) OUTPUT
  258. AS BEGIN
  259. DECLARE @errorMessage nvarchar(4000)
  260. BEGIN TRY
  261. BEGIN TRAN
  262. SELECT @subClusterId = [subClusterId],
  263. @amRMServiceAddress = [amRMServiceAddress],
  264. @clientRMServiceAddress = [clientRMServiceAddress],
  265. @rmAdminServiceAddress = [rmAdminServiceAddress],
  266. @rmWebServiceAddress = [rmWebServiceAddress],
  267. @lastHeartBeat = [lastHeartBeat],
  268. @state = [state],
  269. @lastStartTime = [lastStartTime],
  270. @capability = [capability]
  271. FROM [dbo].[membership]
  272. WHERE [subClusterId] = @subClusterId
  273. COMMIT TRAN
  274. END TRY
  275. BEGIN CATCH
  276. ROLLBACK TRAN
  277. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  278. /* raise error and terminate the execution */
  279. RAISERROR(@errorMessage, --- Error Message
  280. 1, -- Severity
  281. -1 -- State
  282. ) WITH log
  283. END CATCH
  284. END;
  285. GO
  286. IF OBJECT_ID ( '[sp_subClusterHeartbeat]', 'P' ) IS NOT NULL
  287. DROP PROCEDURE [sp_subClusterHeartbeat];
  288. GO
  289. CREATE PROCEDURE [dbo].[sp_subClusterHeartbeat]
  290. @subClusterId VARCHAR(256),
  291. @state VARCHAR(256),
  292. @capability VARCHAR(6000),
  293. @rowCount int OUTPUT
  294. AS BEGIN
  295. DECLARE @errorMessage nvarchar(4000)
  296. BEGIN TRY
  297. BEGIN TRAN
  298. UPDATE [dbo].[membership]
  299. SET [state] = @state,
  300. [lastHeartbeat] = GETUTCDATE(),
  301. [capability] = @capability
  302. WHERE [subClusterId] = @subClusterId;
  303. SELECT @rowCount = @@ROWCOUNT;
  304. COMMIT TRAN
  305. END TRY
  306. BEGIN CATCH
  307. ROLLBACK TRAN
  308. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  309. /* raise error and terminate the execution */
  310. RAISERROR(@errorMessage, --- Error Message
  311. 1, -- Severity
  312. -1 -- State
  313. ) WITH log
  314. END CATCH
  315. END;
  316. GO
  317. IF OBJECT_ID ( '[sp_deregisterSubCluster]', 'P' ) IS NOT NULL
  318. DROP PROCEDURE [sp_deregisterSubCluster];
  319. GO
  320. CREATE PROCEDURE [dbo].[sp_deregisterSubCluster]
  321. @subClusterId VARCHAR(256),
  322. @state VARCHAR(256),
  323. @rowCount int OUTPUT
  324. AS BEGIN
  325. DECLARE @errorMessage nvarchar(4000)
  326. BEGIN TRY
  327. BEGIN TRAN
  328. UPDATE [dbo].[membership]
  329. SET [state] = @state
  330. WHERE [subClusterId] = @subClusterId;
  331. SELECT @rowCount = @@ROWCOUNT;
  332. COMMIT TRAN
  333. END TRY
  334. BEGIN CATCH
  335. ROLLBACK TRAN
  336. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  337. /* raise error and terminate the execution */
  338. RAISERROR(@errorMessage, --- Error Message
  339. 1, -- Severity
  340. -1 -- State
  341. ) WITH log
  342. END CATCH
  343. END;
  344. GO
  345. IF OBJECT_ID ( '[sp_setPolicyConfiguration]', 'P' ) IS NOT NULL
  346. DROP PROCEDURE [sp_setPolicyConfiguration];
  347. GO
  348. CREATE PROCEDURE [dbo].[sp_setPolicyConfiguration]
  349. @queue VARCHAR(256),
  350. @policyType VARCHAR(256),
  351. @params VARBINARY(512),
  352. @rowCount int OUTPUT
  353. AS BEGIN
  354. DECLARE @errorMessage nvarchar(4000)
  355. BEGIN TRY
  356. BEGIN TRAN
  357. DELETE FROM [dbo].[policies]
  358. WHERE [queue] = @queue;
  359. INSERT INTO [dbo].[policies] (
  360. [queue],
  361. [policyType],
  362. [params])
  363. VALUES (
  364. @queue,
  365. @policyType,
  366. @params);
  367. SELECT @rowCount = @@ROWCOUNT;
  368. COMMIT TRAN
  369. END TRY
  370. BEGIN CATCH
  371. ROLLBACK TRAN
  372. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  373. /* raise error and terminate the execution */
  374. RAISERROR(@errorMessage, --- Error Message
  375. 1, -- Severity
  376. -1 -- State
  377. ) WITH log
  378. END CATCH
  379. END;
  380. GO
  381. IF OBJECT_ID ( '[sp_getPolicyConfiguration]', 'P' ) IS NOT NULL
  382. DROP PROCEDURE [sp_getPolicyConfiguration];
  383. GO
  384. CREATE PROCEDURE [dbo].[sp_getPolicyConfiguration]
  385. @queue VARCHAR(256),
  386. @policyType VARCHAR(256) OUTPUT,
  387. @params VARBINARY(6000) OUTPUT
  388. AS BEGIN
  389. DECLARE @errorMessage nvarchar(4000)
  390. BEGIN TRY
  391. SELECT @policyType = [policyType],
  392. @params = [params]
  393. FROM [dbo].[policies]
  394. WHERE [queue] = @queue
  395. END TRY
  396. BEGIN CATCH
  397. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  398. /* raise error and terminate the execution */
  399. RAISERROR(@errorMessage, --- Error Message
  400. 1, -- Severity
  401. -1 -- State
  402. ) WITH log
  403. END CATCH
  404. END;
  405. GO
  406. IF OBJECT_ID ( '[sp_getPoliciesConfigurations]', 'P' ) IS NOT NULL
  407. DROP PROCEDURE [sp_getPoliciesConfigurations];
  408. GO
  409. CREATE PROCEDURE [dbo].[sp_getPoliciesConfigurations]
  410. AS BEGIN
  411. DECLARE @errorMessage nvarchar(4000)
  412. BEGIN TRY
  413. SELECT [queue], [policyType], [params] FROM [dbo].[policies]
  414. END TRY
  415. BEGIN CATCH
  416. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  417. /* raise error and terminate the execution */
  418. RAISERROR(@errorMessage, --- Error Message
  419. 1, -- Severity
  420. -1 -- State
  421. ) WITH log
  422. END CATCH
  423. END;
  424. GO
  425. IF OBJECT_ID ( '[sp_addApplicationHomeSubCluster]', 'P' ) IS NOT NULL
  426. DROP PROCEDURE [sp_addApplicationHomeSubCluster];
  427. GO
  428. CREATE PROCEDURE [dbo].[sp_addReservationHomeSubCluster]
  429. @reservationId VARCHAR(128),
  430. @homeSubCluster VARCHAR(256),
  431. @storedHomeSubCluster VARCHAR(256) OUTPUT,
  432. @rowCount int OUTPUT
  433. AS BEGIN
  434. DECLARE @errorMessage nvarchar(4000)
  435. BEGIN TRY
  436. BEGIN TRAN
  437. -- If application to sub-cluster map doesn't exist, insert it.
  438. -- Otherwise don't change the current mapping.
  439. IF NOT EXISTS (SELECT TOP 1 *
  440. FROM [dbo].[reservationsHomeSubCluster]
  441. WHERE [reservationId] = @reservationId)
  442. INSERT INTO [dbo].[reservationsHomeSubCluster] (
  443. [reservationId],
  444. [homeSubCluster])
  445. VALUES (
  446. @reservationId,
  447. @homeSubCluster);
  448. -- End of the IF block
  449. SELECT @rowCount = @@ROWCOUNT;
  450. SELECT @storedHomeSubCluster = [homeSubCluster]
  451. FROM [dbo].[reservationsHomeSubCluster]
  452. WHERE [reservationId] = @reservationId;
  453. COMMIT TRAN
  454. END TRY
  455. BEGIN CATCH
  456. ROLLBACK TRAN
  457. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  458. /* raise error and terminate the execution */
  459. RAISERROR(@errorMessage, --- Error Message
  460. 1, -- Severity
  461. -1 -- State
  462. ) WITH log
  463. END CATCH
  464. END;
  465. GO
  466. IF OBJECT_ID ( '[sp_updateReservationHomeSubCluster]', 'P' ) IS NOT NULL
  467. DROP PROCEDURE [sp_updateReservationHomeSubCluster];
  468. GO
  469. CREATE PROCEDURE [dbo].[sp_updateReservationHomeSubCluster]
  470. @reservationId VARCHAR(128),
  471. @homeSubCluster VARCHAR(256),
  472. @rowCount int OUTPUT
  473. AS BEGIN
  474. DECLARE @errorMessage nvarchar(4000)
  475. BEGIN TRY
  476. BEGIN TRAN
  477. UPDATE [dbo].[reservationsHomeSubCluster]
  478. SET [homeSubCluster] = @homeSubCluster
  479. WHERE [reservationId] = @reservationId;
  480. SELECT @rowCount = @@ROWCOUNT;
  481. COMMIT TRAN
  482. END TRY
  483. BEGIN CATCH
  484. ROLLBACK TRAN
  485. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  486. /* raise error and terminate the execution */
  487. RAISERROR(@errorMessage, --- Error Message
  488. 1, -- Severity
  489. -1 -- State
  490. ) WITH log
  491. END CATCH
  492. END;
  493. GO
  494. IF OBJECT_ID ( '[sp_getReservationsHomeSubCluster]', 'P' ) IS NOT NULL
  495. DROP PROCEDURE [sp_getReservationsHomeSubCluster];
  496. GO
  497. CREATE PROCEDURE [dbo].[sp_getReservationsHomeSubCluster]
  498. AS BEGIN
  499. DECLARE @errorMessage nvarchar(4000)
  500. BEGIN TRY
  501. SELECT [reservationId], [homeSubCluster], [createTime]
  502. FROM [dbo].[reservationsHomeSubCluster]
  503. END TRY
  504. BEGIN CATCH
  505. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  506. /* raise error and terminate the execution */
  507. RAISERROR(@errorMessage, --- Error Message
  508. 1, -- Severity
  509. -1 -- State
  510. ) WITH log
  511. END CATCH
  512. END;
  513. GO
  514. IF OBJECT_ID ( '[sp_getReservationHomeSubCluster]', 'P' ) IS NOT NULL
  515. DROP PROCEDURE [sp_getReservationHomeSubCluster];
  516. GO
  517. CREATE PROCEDURE [dbo].[sp_getReservationHomeSubCluster]
  518. @reservationId VARCHAR(128),
  519. @homeSubCluster VARCHAR(256) OUTPUT
  520. AS BEGIN
  521. DECLARE @errorMessage nvarchar(4000)
  522. BEGIN TRY
  523. SELECT @homeSubCluster = [homeSubCluster]
  524. FROM [dbo].[reservationsHomeSubCluster]
  525. WHERE [reservationId] = @reservationId;
  526. END TRY
  527. BEGIN CATCH
  528. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  529. /* raise error and terminate the execution */
  530. RAISERROR(@errorMessage, --- Error Message
  531. 1, -- Severity
  532. -1 -- State
  533. ) WITH log
  534. END CATCH
  535. END;
  536. GO
  537. IF OBJECT_ID ( '[sp_deleteReservationHomeSubCluster]', 'P' ) IS NOT NULL
  538. DROP PROCEDURE [sp_deleteReservationHomeSubCluster];
  539. GO
  540. CREATE PROCEDURE [dbo].[sp_deleteReservationHomeSubCluster]
  541. @reservationId VARCHAR(128),
  542. @rowCount int OUTPUT
  543. AS BEGIN
  544. DECLARE @errorMessage nvarchar(4000)
  545. BEGIN TRY
  546. BEGIN TRAN
  547. DELETE FROM [dbo].[reservationsHomeSubCluster]
  548. WHERE [reservationId] = @reservationId;
  549. SELECT @rowCount = @@ROWCOUNT;
  550. COMMIT TRAN
  551. END TRY
  552. BEGIN CATCH
  553. ROLLBACK TRAN
  554. SET @errorMessage = dbo.func_FormatErrorMessage(ERROR_MESSAGE(), ERROR_LINE())
  555. /* raise error and terminate the execution */
  556. RAISERROR(@errorMessage, --- Error Message
  557. 1, -- Severity
  558. -1 -- State
  559. ) WITH log
  560. END CATCH
  561. END;
  562. GO