+# ============LICENSE_START=======================================================
+# Copyright (c) 2021 Bell Canada.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
databaseChangeLog:
- include:
file: changelog/db/changes/01-createCPSTables.yaml
- include:
file: changelog/db/changes/04-loadData-anchor.yaml
- include:
- file: changelog/db/changes/05-loadData-fragment.yaml
\ No newline at end of file
+ file: changelog/db/changes/05-loadData-fragment.yaml
+ - include:
+ file: changelog/db/changes/06-delete-not-required-fragment-index.yaml
--- /dev/null
+# ============LICENSE_START=======================================================
+# Copyright (c) 2021 Bell Canada.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+ - changeSet:
+ id: 6
+ author: cps
+ comment: Drop unique index for dataspace and xpath on fragment table
+ changes:
+ - dropIndex:
+ indexName: UQ_FRAGMENT_XPATH
+ tableName: fragment
+ rollback:
+ - createIndex:
+ columns:
+ - column:
+ name: xpath
+ - column:
+ name: dataspace_id
+ indexName: UQ_FRAGMENT_XPATH
+ tableName: fragment
+ unique: true
* ============LICENSE_START=======================================================
* Copyright (C) 2021 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
+ * Modifications Copyright (C) 2021 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
grandchildFragment.xpath == grandChildXpath
}
+ @Sql([CLEAR_DATA, SET_DATA])
+ def 'Store data node for multiple anchors using the same schema.'() {
+ def xpath = "/parent-new"
+ given: 'a fragment is stored for an anchor'
+ objectUnderTest.storeDataNode(DATASPACE_NAME, ANCHOR_NAME1, createDataNodeTree(xpath))
+ when: 'another fragment is stored for an other anchor, using the same schema set'
+ objectUnderTest.storeDataNode(DATASPACE_NAME, ANCHOR_NAME3, createDataNodeTree(xpath))
+ then: 'both fragments can be retrieved by their xpath'
+ def fragment1 = getFragmentByXpath(DATASPACE_NAME, ANCHOR_NAME1, xpath)
+ fragment1.anchor.name == ANCHOR_NAME1
+ fragment1.xpath == xpath
+ def fragment2 = getFragmentByXpath(DATASPACE_NAME, ANCHOR_NAME3, xpath)
+ fragment2.anchor.name == ANCHOR_NAME3
+ fragment2.xpath == xpath
+ }
+
@Unroll
@Sql([CLEAR_DATA, SET_DATA])
def 'Store datanode error scenario: #scenario.'() {
* ============LICENSE_START=======================================================
* Copyright (C) 2021 Nordix Foundation
* Modifications Copyright (C) 2021 Pantheon.tech
+ * Modifications Copyright (C) 2021 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
static final String SCHEMA_SET_NAME2 = 'SCHEMA-SET-002'
static final String ANCHOR_NAME1 = 'ANCHOR-001'
static final String ANCHOR_NAME2 = 'ANCHOR-002'
+ static final String ANCHOR_NAME3 = 'ANCHOR-003'
static final String ANCHOR_FOR_DATA_NODES_WITH_LEAVES = 'ANCHOR-003'
}