CMDBuild Forum

PGSQL Bad Grammar Error on Initial CMDBuild Setup

I’m attempting to install the READY2USE demo for testing/evaluation, and have hit a wall with the initial install/setup of CMDBuild.

 

I’ve deployed the webapps package, started the CMDBuild app and gone through the setup wizard.  Upon clicking ‘Finish’ the process fails with the following set of errors:

 

** Tomcat interface ERROR:

 

 

Call: services/json/configure/apply

------------------------------------

Error: org.cmdbuild.exception.ORMException: ORM_GENERIC_ERROR

    at org.cmdbuild.exception.ORMException$ORMExceptionType.createException(ORMException.java:63)

    at org.cmdbuild.services.database.DatabaseConfigurator.configure(DatabaseConfigurator.java:169)

    at org.cmdbuild.services.database.DatabaseConfigurator.configureAndSaveSettings(DatabaseConfigurator.java:147)

    at org.cmdbuild.servlets.json.Configure.apply(Configure.java:164)

 

** Tomcat log ERROR:

 

 

INFO  2017-02-21 14:50:05 [cmdbuild] Creating CMDBuild structure

INFO  2017-02-21 14:50:05 [cmdbuild] applying '/home/auldd/CMDB/tomcat/webapps/cmdbuild-2.4.2/WEB-INF/sql/base_schema/01_system_functions_base.sql'

ERROR 2017-02-21 14:50:05 [sql     ] Error while configuring the database. Exception message is StatementCallback; bad SQL grammar [--

-- Name handling

--

 

** PostgreSQL Log ERROR:

 

 

ERROR:  language "plpgsql" already exists

STATEMENT:  CREATE LANGUAGE plpgsql

ERROR:  language "plpgsql" does not exist

HINT:  Use CREATE LANGUAGE to load the language into the database.

STATEMENT:  

    

    /*

     * Utility functions

     */

    

    CREATE OR REPLACE FUNCTION _cm_comment_set_parts(comment text, parts text[]) RETURNS text AS $$

    DECLARE

        part text;

        key text;

        value text;

    BEGIN

        RAISE INFO 'setting comment parts % inside "%"', parts, comment;

        RAISE DEBUG 'comment (before): "%"', comment;

        -- we MUST use coalesce since "array_" functions handle empty array in some funny way

        FOR i IN COALESCE(array_lower(parts, 1),0) .. COALESCE(array_upper(parts, 1),-1) LOOP

            part = parts[i];

            RAISE DEBUG 'comment part: "%"', part;        

            key = split_part(part, ': ', 1);

            value = split_part(part, ': ', 2);

            comment = regexp_replace(comment, key || ': [^|]+', key || ': ' || value);

        END LOOP;

        RAISE DEBUG 'comment (after): "%"', comment;

        RETURN comment;

    END

    $$ LANGUAGE plpgsql VOLATILE

 

These are the specifics of my system:

 

  • OS:  CentOS release 6.7 (Final), kernel 2.6.32-573.el6.x86_64
  • DB:  PostgreSQL 8.4.20 (yum install)
  • Java:  java version "1.8.0_121" (yum install)
  • Tomcat:  8.5.11  (tarball)
  • CMDBuild:  2.4.2 (zip)
  • READY2USE:  1.1 (zip)

 

Haven’t attempted to apply the READY2USE demo on top — need to get CMDBuild installed first.

 

Any thoughts / suggestions greatly appreciated.

 

Cheers,

Dan
Dear Daniel,
 
you should execute file
 
/home/auldd/CMDB/tomcat/webapps/cmdbuild-2.4.2/WEB-INF/sql/base_schema/01_system_functions_base.sql
 
from pgAdmin (for example) and look for the specific error. But, since you specified 
 
DB: PostgreSQL 8.4.20 (yum install)
 
we suppose it's and issue related to an unsupported PostgreSQL version. As stated here you should use version 9.x.
 
Best regards.
 
-- CMDBuild Team
 
Previously Daniel wrote:

I’m attempting to install the READY2USE demo for testing/evaluation, and have hit a wall with the initial install/setup of CMDBuild.

 

I’ve deployed the webapps package, started the CMDBuild app and gone through the setup wizard.  Upon clicking ‘Finish’ the process fails with the following set of errors:

 

** Tomcat interface ERROR:

 

 

Call: services/json/configure/apply

------------------------------------

Error: org.cmdbuild.exception.ORMException: ORM_GENERIC_ERROR

    at org.cmdbuild.exception.ORMException$ORMExceptionType.createException(ORMException.java:63)

    at org.cmdbuild.services.database.DatabaseConfigurator.configure(DatabaseConfigurator.java:169)

    at org.cmdbuild.services.database.DatabaseConfigurator.configureAndSaveSettings(DatabaseConfigurator.java:147)

    at org.cmdbuild.servlets.json.Configure.apply(Configure.java:164)

 

** Tomcat log ERROR:

 

 

INFO  2017-02-21 14:50:05 [cmdbuild] Creating CMDBuild structure

INFO  2017-02-21 14:50:05 [cmdbuild] applying '/home/auldd/CMDB/tomcat/webapps/cmdbuild-2.4.2/WEB-INF/sql/base_schema/01_system_functions_base.sql'

ERROR 2017-02-21 14:50:05 [sql     ] Error while configuring the database. Exception message is StatementCallback; bad SQL grammar [--

-- Name handling

--

 

** PostgreSQL Log ERROR:

 

 

ERROR:  language "plpgsql" already exists

STATEMENT:  CREATE LANGUAGE plpgsql

ERROR:  language "plpgsql" does not exist

HINT:  Use CREATE LANGUAGE to load the language into the database.

STATEMENT:  

    

    /*

     * Utility functions

     */

    

    CREATE OR REPLACE FUNCTION _cm_comment_set_parts(comment text, parts text[]) RETURNS text AS $$

    DECLARE

        part text;

        key text;

        value text;

    BEGIN

        RAISE INFO 'setting comment parts % inside "%"', parts, comment;

        RAISE DEBUG 'comment (before): "%"', comment;

        -- we MUST use coalesce since "array_" functions handle empty array in some funny way

        FOR i IN COALESCE(array_lower(parts, 1),0) .. COALESCE(array_upper(parts, 1),-1) LOOP

            part = parts[i];

            RAISE DEBUG 'comment part: "%"', part;        

            key = split_part(part, ': ', 1);

            value = split_part(part, ': ', 2);

            comment = regexp_replace(comment, key || ': [^|]+', key || ': ' || value);

        END LOOP;

        RAISE DEBUG 'comment (after): "%"', comment;

        RETURN comment;

    END

    $$ LANGUAGE plpgsql VOLATILE

 

These are the specifics of my system:

 

  • OS:  CentOS release 6.7 (Final), kernel 2.6.32-573.el6.x86_64
  • DB:  PostgreSQL 8.4.20 (yum install)
  • Java:  java version "1.8.0_121" (yum install)
  • Tomcat:  8.5.11  (tarball)
  • CMDBuild:  2.4.2 (zip)
  • READY2USE:  1.1 (zip)

 

Haven’t attempted to apply the READY2USE demo on top — need to get CMDBuild installed first.

 

Any thoughts / suggestions greatly appreciated.

 

Cheers,

Dan

 

Perfect -- upgrading to PostgreSQL 9.3 did the trick: READY2USE is now installed, however, the startup page throws a few errors (probably missed a library) -- pdfbox2.0.2.jar, javase-2.1.jar, core-2.1.jar were copied into tomcat/lib:

 

* Class ChangeMgt not found

* Class ReqFulfil not found

* Class IncidentMgt not found

* Class WiringMgt not found

* Class IPAddressMgt not found

 

Where can these classes be found?

 

Thanks,

Dan

 

 

Previously Tecnoteca wrote:
Dear Daniel,
 
you should execute file
 
/home/auldd/CMDB/tomcat/webapps/cmdbuild-2.4.2/WEB-INF/sql/base_schema/01_system_functions_base.sql
 
from pgAdmin (for example) and look for the specific error. But, since you specified 
 
DB: PostgreSQL 8.4.20 (yum install)
 
we suppose it's and issue related to an unsupported PostgreSQL version. As stated here you should use version 9.x.
 
Best regards.
 
-- CMDBuild Team
 
Previously Daniel wrote:

I’m attempting to install the READY2USE demo for testing/evaluation, and have hit a wall with the initial install/setup of CMDBuild.

 

I’ve deployed the webapps package, started the CMDBuild app and gone through the setup wizard.  Upon clicking ‘Finish’ the process fails with the following set of errors:

 

** Tomcat interface ERROR:

 

 

Call: services/json/configure/apply

------------------------------------

Error: org.cmdbuild.exception.ORMException: ORM_GENERIC_ERROR

    at org.cmdbuild.exception.ORMException$ORMExceptionType.createException(ORMException.java:63)

    at org.cmdbuild.services.database.DatabaseConfigurator.configure(DatabaseConfigurator.java:169)

    at org.cmdbuild.services.database.DatabaseConfigurator.configureAndSaveSettings(DatabaseConfigurator.java:147)

    at org.cmdbuild.servlets.json.Configure.apply(Configure.java:164)

 

** Tomcat log ERROR:

 

 

INFO  2017-02-21 14:50:05 [cmdbuild] Creating CMDBuild structure

INFO  2017-02-21 14:50:05 [cmdbuild] applying '/home/auldd/CMDB/tomcat/webapps/cmdbuild-2.4.2/WEB-INF/sql/base_schema/01_system_functions_base.sql'

ERROR 2017-02-21 14:50:05 [sql     ] Error while configuring the database. Exception message is StatementCallback; bad SQL grammar [--

-- Name handling

--

 

** PostgreSQL Log ERROR:

 

 

ERROR:  language "plpgsql" already exists

STATEMENT:  CREATE LANGUAGE plpgsql

ERROR:  language "plpgsql" does not exist

HINT:  Use CREATE LANGUAGE to load the language into the database.

STATEMENT:  

    

    /*

     * Utility functions

     */

    

    CREATE OR REPLACE FUNCTION _cm_comment_set_parts(comment text, parts text[]) RETURNS text AS $$

    DECLARE

        part text;

        key text;

        value text;

    BEGIN

        RAISE INFO 'setting comment parts % inside "%"', parts, comment;

        RAISE DEBUG 'comment (before): "%"', comment;

        -- we MUST use coalesce since "array_" functions handle empty array in some funny way

        FOR i IN COALESCE(array_lower(parts, 1),0) .. COALESCE(array_upper(parts, 1),-1) LOOP

            part = parts[i];

            RAISE DEBUG 'comment part: "%"', part;        

            key = split_part(part, ': ', 1);

            value = split_part(part, ': ', 2);

            comment = regexp_replace(comment, key || ': [^|]+', key || ': ' || value);

        END LOOP;

        RAISE DEBUG 'comment (after): "%"', comment;

        RETURN comment;

    END

    $$ LANGUAGE plpgsql VOLATILE

 

These are the specifics of my system:

 

  • OS:  CentOS release 6.7 (Final), kernel 2.6.32-573.el6.x86_64
  • DB:  PostgreSQL 8.4.20 (yum install)
  • Java:  java version "1.8.0_121" (yum install)
  • Tomcat:  8.5.11  (tarball)
  • CMDBuild:  2.4.2 (zip)
  • READY2USE:  1.1 (zip)

 

Haven’t attempted to apply the READY2USE demo on top — need to get CMDBuild installed first.

 

Any thoughts / suggestions greatly appreciated.

 

Cheers,

Dan

 

 

They are all workflows.
Most probably you have not installed or
properly configured the Shark webapp (workflow engine).
CMDBuild Team