DdlUtils
  1. DdlUtils
  2. DDLUTILS-212

Support for indexes that use functions

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0
    • Fix Version/s: None
    • Component/s: Core - PostgreSql
    • Labels:
      None
    • Environment:
      RHEL 4 Linux

      Description

      I created a postgres database and ran this SQL:

      /create LANGUAGE plpgsql;/
      CREATE OR REPLACE FUNCTION FUNC (/id/ INTEGER, /status/ INTEGER)
      RETURNS NUMERIC AS'
      BEGIN
      RETURN 0;
      END;

      'LANGUAGE plpgsql IMMUTABLE;

      create table test_list
      (
      test_list_id integer not null, --pk
      test_id integer not null, --fk
      status_id integer not null --fk
      );

      create unique index uq_test_list on test_list(test_list_id, test_id, func(test_list_id, status_id));

      When trying to load the database schema in Jasper Server it fails with this exception:

      Caused by: org.apache.ddlutils.model.ModelException: The index uq_test_list in table test_list references the undefined column func(test_list_id, status_id)
      at org.apache.ddlutils.model.Database.initialize(Database.java:393)
      at org.apache.ddlutils.platform.JdbcModelReader.getDatabase(JdbcModelReader.java:484)
      at org.apache.ddlutils.platform.PlatformImplBase.readModelFromDatabase(PlatformImplBase.java:1920)
      at com.jaspersoft.commons.semantic.metaapi.impl.jdbc.BaseJdbcMetaDataFactoryImpl.getMetaData(BaseJdbcMetaDataFactoryImpl.java:82)

      I applied the fix mentioned here:
      https://issues.apache.org/jira/browse/DDLUTILS-192

      Still it fails with the same exception.

        Activity

          People

          • Assignee:
            Thomas Dudziak
            Reporter:
            prasanna
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development