Mon, 24 Aug 2015 09:58:49 +0200[idx-operator-class] Close the connection after retrieving the table comments 3.0PR15Q4 3.0PR16Q1
Augusto Mauch <augusto.mauch@openbravo.com> [Mon, 24 Aug 2015 09:58:49 +0200] rev 634
[idx-operator-class] Close the connection after retrieving the table comments

Wed, 19 Aug 2015 09:11:10 +0200Fixes issue 30525: Merges [idx-operator-class] with dbms main branch
Augusto Mauch <augusto.mauch@openbravo.com> [Wed, 19 Aug 2015 09:11:10 +0200] rev 633
Fixes issue 30525: Merges [idx-operator-class] with dbms main branch

Tue, 18 Aug 2015 15:03:04 +0200[idx-operator-class] Adds automated tests
Augusto Mauch <augusto.mauch@openbravo.com> [Tue, 18 Aug 2015 15:03:04 +0200] rev 632
[idx-operator-class] Adds automated tests

Tue, 18 Aug 2015 14:59:00 +0200[idx-operator-class]: Supports the use of Operator Classes in index columns
Augusto Mauch <augusto.mauch@openbravo.com> [Tue, 18 Aug 2015 14:59:00 +0200] rev 631
[idx-operator-class]: Supports the use of Operator Classes in index columns

The fix is very straightforward in PostgreSQL: if the column of an index defines an operator class, that operator class is included in the XML, and viceversa. This is very easy to do be
cause the info about the operator class used in the index column is stored in the indclass column of the pg_index table.

It gets more complicated for Oracle. Oracle does not have the concept of operator class, so when an index that defines one is imported, there is no standard place where to store it. And
it really needs to be stored, because otherwise when that index is exported from Oracle it would lose the operator class. To solve this, the operator classes used by index columns are
stored as comments in the table that owns the indexes with the following format:
"indexName1.indexColumn1.operatorClass=operatorClass1$indexName2.indexColumn2.operatorClass=operatorClass2$..."

These comments need to be updated each time an index that defines an operator class is added or removed, both when it is done at the same time of the table creation or after it.

The operator classes used in the index columns should not be taken into account when comparing indexes in Oracle. With this we achieve that indexes will not be recreated in oracle if the only change is tha
t an operator class has been added/removed from an index column.

Wed, 19 Aug 2015 09:02:46 +0200Fixes issue 30179: Merge [func-idx] with dbms main branch
Augusto Mauch <augusto.mauch@openbravo.com> [Wed, 19 Aug 2015 09:02:46 +0200] rev 630
Fixes issue 30179: Merge [func-idx] with dbms main branch

Tue, 18 Aug 2015 09:19:42 +0200[func-idx] Refactors how the emptyStringIsNull prop is passed to IndexColumn
Augusto Mauch <augusto.mauch@openbravo.com> [Tue, 18 Aug 2015 09:19:42 +0200] rev 629
[func-idx] Refactors how the emptyStringIsNull prop is passed to IndexColumn

Instead of passing just the emptyStringIsNull property from ModelComparator to IndexColumn, pass all the platformInfo object, just in case there are more platform properties that are bound to be used there in the future.

Mon, 17 Aug 2015 21:34:29 +0200[func-idx] Index column functions containing empty strings are not recreated
Augusto Mauch <augusto.mauch@openbravo.com> [Mon, 17 Aug 2015 21:34:29 +0200] rev 628
[func-idx] Index column functions containing empty strings are not recreated

Oracle treats empty string as nulls. This behaviour resulted in the recreation of all the indexes whose columns used functions containing empty strings, because the comparison of the two functions (the one from the XML, with an empty strign, and the one from the database with null) resulted in a recreation.

This changeset fixes this, and now those indexes are not recreated. There is one pending issue: if the function used in an index contains an empty string as a parameter, when that index is exported there will be changes, as the empty string will be replaced by null in the XML. This will be addressed in a separate issue.

Mon, 17 Aug 2015 10:54:49 +0200[func-idx] Whitespaces in quoted text are not removed
Augusto Mauch <augusto.mauch@openbravo.com> [Mon, 17 Aug 2015 10:54:49 +0200] rev 627
[func-idx] Whitespaces in quoted text are not removed

Fri, 14 Aug 2015 11:48:23 +0200[func-idx] Prevents showing error when exporting a function based index
Augusto Mauch <augusto.mauch@openbravo.com> [Fri, 14 Aug 2015 11:48:23 +0200] rev 626
[func-idx] Prevents showing error when exporting a function based index

When an index is exporting using export.database, there is a check that makes sure that the name of the index column corresponds with the name of one column in the database. This test does not need to be done when the index is function based, as in that case the name of the index column wil be the string literal functionBasedColumn, and not the name of a column in the database

Fri, 14 Aug 2015 10:22:27 +0200[func-idx] Merge with main dbsm branch
Augusto Mauch <augusto.mauch@openbravo.com> [Fri, 14 Aug 2015 10:22:27 +0200] rev 625
[func-idx] Merge with main dbsm branch