From d6c94660748c217feda75f2f76efcbf235de0dff Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Mon, 2 Dec 2019 13:15:54 +0100
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201043893][=C3=9Cberarbeitung=20Indizes=20im=20Liquibase]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Data_alias/basic/2019.3.2/changelog.xml   |   1 +
 .../basic/2019.3.2/reworkDbIndexes.xml        | 283 ++++++++++++++++++
 2 files changed, 284 insertions(+)
 create mode 100644 .liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml

diff --git a/.liquibase/Data_alias/basic/2019.3.2/changelog.xml b/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
index e5c49a6ae25..edc8f287335 100644
--- a/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
+++ b/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
@@ -6,4 +6,5 @@
     <include relativeToChangelogFile="true" file="rename_supportticket.xml"/>
     <include relativeToChangelogFile="true" file="leadimport/changelog.xml"/>
     <include relativeToChangelogFile="true" file="AttributeLoyalty_newValue_unknown.xml"/>
+    <include relativeToChangelogFile="true" file="reworkDbIndexes.xml"/>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
new file mode 100644
index 00000000000..0795451c974
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
@@ -0,0 +1,283 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <!--
+    The Index names need to be maximal 30 characters long because oracle11 only supports up to 30 characters per index identifier
+    Therefore, the index names have been shortend and may not be very good readable
+    -->
+    <changeSet author="j.goderbauer" id="5a0b62f4-6770-454c-9a0e-d60ca16596dd">
+        <!--remove problematic indexes-->
+        <dropUniqueConstraint constraintName="UNIQUE_CONTRACT_CONTRACTCODE"
+                              tableName="CONTRACT"
+                              uniqueColumns="CONTRACTCODE"/>
+        
+        <dropIndex tableName="PERSON" indexName="IDX_PERS_NAME" />
+        <dropIndex tableName="CONTACT" indexName="IDX_CONTACT_ANY_CONTACT" />
+        <dropIndex tableName="ACTIVITYLINK" indexName="IDX_ACTIVITYLINK_OBJECT" />
+        <dropIndex tableName="ACTIVITY" indexName="IDX_ACTIVITY_PARENT" />
+        <dropIndex tableName="TASK" indexName="IDX_TASK_PARENT" />
+        <!--additional indexes that are usefull-->
+        <createIndex indexName="IDX_AB_CTILOG_CALLID" tableName="AB_CTILOG">
+            <column name="CALLID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_OBJECT_TYPE" tableName="ACTIVITYLINK">
+            <column name="OBJECT_TYPE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_ID_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="ID_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_DATE_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="DATE_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_NUMBER_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="NUMBER_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_INT_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="INT_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_KEYWORD_ENTRY_KEYID" tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID"/>
+        </createIndex>
+        
+        <!--set all the referencing ids as single index now-->
+        <createIndex indexName="IDX_TICKET_TASK_ID" tableName="TICKET">
+            <column name="TASK_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTACT_ORGANISATION_ID" tableName="CONTACT">
+            <column name="ORGANISATION_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTACT_PERSON_ID" tableName="CONTACT">
+            <column name="PERSON_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTRACT_CONTACT_ID" tableName="CONTRACT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCT_CONTACT_ID" tableName="PRODUCT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PROD2PROD_SOURCE_ID" tableName="PROD2PROD">
+            <column name="SOURCE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PROD2PROD_DEST_ID" tableName="PROD2PROD">
+            <column name="DEST_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCTPRICE_PRODUCT_ID" tableName="PRODUCTPRICE">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCTPRICE_CONTACT_ID" tableName="PRODUCTPRICE">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_STOCK_PRODUCT_ID" tableName="STOCK">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_CONTACT_ID" tableName="OFFER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_OFFER_ID" tableName="OFFER">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_OBJECT_ROWID" tableName="OFFER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFERITEM_OFFER_ID" tableName="OFFERITEM">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFERITEM_PRODUCT_ID" tableName="OFFERITEM">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPROJECT_CONTACT_ID" tableName="SALESPROJECT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_OBJECT_ID" tableName="TIMETRACKING">
+            <column name="OBJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_CONTACT_ID" tableName="TIMETRACKING">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_ROW_ID" tableName="TIMETRACKING">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITY_PARENT_ID" tableName="ACTIVITY">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_SALESORDER_ID" tableName="SALESORDER">
+            <column name="SALESORDER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_CONTACT_ID" tableName="SALESORDER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_OFFER_ID" tableName="SALESORDER">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_OBJECT_ROWID" tableName="SALESORDER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDERITEM_PRODUCT_ID" tableName="SALESORDERITEM">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALEODITEM_SALESORDER_ID" tableName="SALESORDERITEM">
+            <column name="SALESORDER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TASK_PARENT_ID" tableName="TASK">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_OBJREL_OBJECT2_ROWID" tableName="AB_OBJECTRELATION">
+            <column name="OBJECT2_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_OBJREL_OBJECT1_ROWID" tableName="AB_OBJECTRELATION">
+            <column name="OBJECT1_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRUSE_AB_ATTRIBUTE_ID" tableName="AB_ATTRIBUTEUSAGE">
+            <column name="AB_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_OBJECT_ROWID" tableName="AB_ATTRIBUTERELATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_AB_ATTRIBUTE_ID" tableName="AB_ATTRIBUTERELATION">
+            <column name="AB_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_OBJECT_ROWID" tableName="ACTIVITYLINK">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_ACTIVITY_ID" tableName="ACTIVITYLINK">
+            <column name="ACTIVITY_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_KWD_ATTRREL_ATTR_ID" tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TASKLINK_OBJECT_ROWID" tableName="TASKLINK">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPRJMLSTONE_SALEPRJ_ID" tableName="SALESPROJECT_MILESTONE">
+            <column name="SALESPROJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPRJMLSTONE_PARENT_ID" tableName="SALESPROJECT_MILESTONE">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CMP_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CONTACT_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CMPSTEP_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGN_EMPL_CONTACT_ID" tableName="CAMPAIGN">
+            <column name="EMPLOYEE_CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CAMPAIGNSTEP_CAMPAIGN_ID" tableName="CAMPAIGNSTEP">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNSTP_EMPL_CONTACT_ID" tableName="CAMPAIGNSTEP">
+            <column name="EMPLOYEE_CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNSTP_PREDCSSRSTEP_ID" tableName="CAMPAIGNSTEP">
+            <column name="PREDECESSORSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_CAMPAIGN_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_PTCPT_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGNPARTICIPANT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_CMPSTEP_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_PRE_STEP_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="PREVIOUS_CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CAMPAIGNCOST_CAMPAIGN_ID" tableName="CAMPAIGNCOST">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNCST_CAMPAIGNSTEP_ID" tableName="CAMPAIGNCOST">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_TYPE_ID" tableName="CLASSIFICATION">
+            <column name="CLASSIFICATIONTYPE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_OBJECT_ROWID" tableName="CLASSIFICATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_SCORE_ID" tableName="CLASSIFICATION">
+            <column name="CLASSIFICATIONSCORE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTIONSCRE_TYPE_ID" tableName="CLASSIFICATIONSCORE">
+            <column name="CLASSIFICATIONTYPE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_FORECAST_OBJECT_ROWID" tableName="FORECAST">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMPETITION_OBJECT_ROWID" tableName="COMPETITION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMPETITION_CONTACT_ID" tableName="COMPETITION">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMMRESTRICTION_CONTACT_ID" tableName="COMMRESTRICTION">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAIL_DOCTEMPLT_ID" tableName="BULKMAIL">
+            <column name="DOCUMENTTEMPLATE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAILRCPT_BULKMAIL_ID" tableName="BULKMAILRECIPIENT">
+            <column name="BULKMAIL_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAILRCPT_CONTACT_ID" tableName="BULKMAILRECIPIENT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVO_CONTACT_ID" tableName="DSGVO">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVO_ROW_ID" tableName="DSGVO">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DESCTRLATION_OBJECT_ROWID" tableName="DESCRIPTIONTRANSLATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_CTILOG_CONTACT_ID" tableName="AB_CTILOG">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVOINFO_CONTACT_ID" tableName="DSGVOINFO">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LTTRRCPT_SERIALLETTER_ID" tableName="LETTERRECIPIENT">
+            <column name="SERIALLETTER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LETTERRECIPIENT_CONTACT_ID" tableName="LETTERRECIPIENT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SERIALLTTR_DOCTEMPLT_ID" tableName="SERIALLETTER">
+            <column name="DOCUMENTTEMPLATE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OBJECTMEMBER_OBJECT_ROWID" tableName="OBJECTMEMBER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OBJECTMEMBER_CONTACT_ID" tableName="OBJECTMEMBER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPR_TCHPNT_SALEPRJ_ID" tableName="SALESPROJECT_TOUCHPOINT">
+            <column name="SALESPROJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DUPSCNRESFLDCFG_DUPSCN_ID" tableName="DUPLICATESCANNERRESULTFIELDCONFIG">
+            <column name="DUPLICATESCANNER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEADLOG_LEADIMPORT_ID" tableName="LEADLOG">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEADTEMP_ROW_ID" tableName="LEADTEMP">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_IMPORTFIELD_LEADIMPORT_ID" tableName="IMPORTFIELD">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_LEADIMPORT_ID" tableName="LEAD">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_PERSON_ID" tableName="LEAD">
+            <column name="PERSON_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_ORGANISATION_ID" tableName="LEAD">
+            <column name="ORGANISATION_ID"/>
+        </createIndex>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
-- 
GitLab