summaryrefslogtreecommitdiffstats
path: root/cps-ri/src/main/resources/changelog/db/changes
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2023-08-17 14:58:30 +0100
committerDaniel Hanrahan <daniel.hanrahan@est.tech>2024-01-10 12:44:19 +0000
commit36b81b27703d298f016180a71c85113d5c90c6b1 (patch)
treec2661b7f16e8366907e55ec2fd85634c12fbe51e /cps-ri/src/main/resources/changelog/db/changes
parent8e617d64a7725f5fb0f0f31a5c551ff3e1e484de (diff)
Enable hibernate write batching
- Implement fragment ID sequence generator with allocation size of 100 - Enable write batching for insert and update, with batch size of 100 - Write performance is over 2x faster Issue-ID: CPS-1795 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e
Diffstat (limited to 'cps-ri/src/main/resources/changelog/db/changes')
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql20
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-rollback.sql20
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence.yaml28
3 files changed, 68 insertions, 0 deletions
diff --git a/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql
new file mode 100644
index 000000000..7f8d686c7
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-forward.sql
@@ -0,0 +1,20 @@
+/*
+ ============LICENSE_START=======================================================
+ Copyright (C) 2024 Nordix Foundation.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+*/
+
+ALTER TABLE fragment ALTER COLUMN id DROP IDENTITY;
+CREATE SEQUENCE fragment_id_seq INCREMENT BY 100 START WITH 100;
+SELECT setval('fragment_id_seq', (SELECT ((max(id) / 100) + 1) * 100 FROM fragment), TRUE);
diff --git a/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-rollback.sql b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-rollback.sql
new file mode 100644
index 000000000..88bb8c774
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence-rollback.sql
@@ -0,0 +1,20 @@
+/*
+ ============LICENSE_START=======================================================
+ Copyright (C) 2024 Nordix Foundation.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+*/
+
+DROP SEQUENCE fragment_id_seq;
+ALTER TABLE fragment ALTER id ADD GENERATED BY DEFAULT AS IDENTITY;
+SELECT setval('fragment_id_seq', (SELECT max(id) FROM fragment), TRUE);
diff --git a/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence.yaml b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence.yaml
new file mode 100644
index 000000000..8bdabb501
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/22-fragment-id-sequence.yaml
@@ -0,0 +1,28 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+ - changeSet:
+ author: cps
+ id: 21
+ changes:
+ - sqlFile:
+ path: changelog/db/changes/22-fragment-id-sequence-forward.sql
+ rollback:
+ - sqlFile:
+ path: changelog/db/changes/22-fragment-id-sequence-rollback.sql