CMDBuild Forum

openmaint-1.1-2.5.0 error: org.cmdbuild.exception.ORMException: ORM_SQL_PATCH

Hi,

This post is with reference to the error I am facing after deployment of openmaint-1.1-2.5.0.

I am trying to make a fresh install of openmaint-1.1-2.5.0. But I get error "org.cmdbuild.exception.ORMException: ORM_SQL_PATCH" when I click on "Apply Patch" button just after a fresh install of openmaint.

 

My Test Environment:

OS: Windows 7 Professional 64bit

Tomcat: Tomcat8.5.28

Java: 1.8.0_162

Database: PostgreSQL 64bit v10.2-1

==========================================

Here is what I did to install it:

1. Downloaded openmaint-1.1-2.5.0.zip.

2. Extracted it to "D:\Programs\Apache\Tomcat8.5.28\webapps"

3. After extraction, two war files got shown: "cmdbuild-openmaint-2.5.0.war" and "cmdbuild-shark-server-openmaint-2.5.0.war".

4. I renamed them to "openmaint" and "shark" respectively.

5. Now I started Tomcat

6. In firefox browser, I opened url: "http://localhost:8080/openmaint".

7. A screen shown with fields:

    > Choose default language: Drop Down List

    > Show language selection in login box: checkbox

8. I click on "Next". In next screen following fields are shown section-wise:

CMDBuild Database:

    > Type: Drop Down List -> I selected value "Demo"

    > Name: Text Box: I entered name for the database

    > Create a shark schema: Check Box -> I selected it

 

Database Connection (PostgreSQL JDBC Driver 42.2.1):

    > Host: localhost

    > Port: 5432

    > Super user: postgres

    > Password: *******

    I tested connection and it was successful

 

Create restricted database user:

User Type: Drop Down List -> I selected "Super user"

9. I click on "Next". The installation seems to have gone well and it shows a link to access application.

10. When I click link to access application, the opened webpage shows a list of patches to be applied. Following is the list of patches shown:

Category    Name        Description
openMAINT    1.1.0-04    DataModel - Fix triggers and constraints
openMAINT    1.1.0-05    Workorder - Refactoring
openMAINT    1.1.0-06    Maintenance request - Refactoring
openMAINT    1.1.0-07    Processes - Emails revision
openMAINT    1.1.0-08    DataModel - Lookup types revision
openMAINT    1.1.0-09    Maintenance processes - Refactoring
openMAINT    1.1.0-10    Maintenance processes - Time-based preventive activities refactoring
openMAINT    1.1.0-11    Maintenance processes - Time-based preventive activities refactoring (functions)
openMAINT    1.1.0-12    DataModel - Remove unused classes
openMAINT    1.1.0-13    DataModel - Triggers and constraints clean-up
openMAINT    1.1.0-14    DataModel - Comments revision
openMAINT    1.1.0-15    Maintenance processes - Meter-based preventive maintenance
openMAINT    1.1.0-16    DataModel - M/D domains revision
openMAINT    1.1.0-17    Maintenance processes - Scheduling criteria improvements
openMAINT    1.1.0-18    DataModel - Avoid duplicate relations. Remove unused triggers.
openMAINT    1.1.0-19    DataModel - Load French translations
openMAINT    1.1.0-20    DataModel - Drop BuildingBimProject domain if bim is not configured
openMAINT    1.1.0-21    DataModel - New domain Department-Person
openMAINT    1.1.0-22    DataModel - Fix lookup values
openMAINT    1.1.0-23    Reports - Reports improvements
openMAINT    1.1.0-24    DataModel - Fix Priority lookup
openMAINT    1.1.0-25    DataModel - Load Italian translations
openMAINT    1.1.0-26    Portal - Portal utilities
openMAINT    1.1.0-27    Processes - Fix ticket numbers generation
openMAINT    1.1.0-28    Maintenance processes - Time-based preventive activities improvements
openMAINT    1.1.0-29    DataModel - PMScheduling class
openMAINT    1.1.0-30    Maintenance processes - Improvements
openMAINT    1.1.0-31    DataModel - New navigation menu
openMAINT    1.1.0-32    Preventive maintenance - Functions
openMAINT    1.1.0-33    Dashboards and Views- Improvements
openMAINT    1.1.0-34    DataModel - Remove unused metadata
openMAINT    1.1.0-35    Dashboards - Code clean-up
openMAINT    1.1.0-36    QR Code Generator - New process for generating QR codes labels
openMAINT    1.1.0-37    DataModel - Set all grants
openMAINT    1.1.0-38    Reorganize menu folders
openMAINT    1.1.0-39    Add preventive maintenance widgets
openMAINT    1.1.0-40    Fix too short field for Workorder Downtime
openMAINT    1.1.0-41    MTBF/Warehouse reports - Fix descriptions of asset types in input params dropdown
openMAINT    1.1.0-42    DataModel - New service activity class to be used in the maintenance processes
openMAINT    1.1.0-43    Maintenance processes - Fix emails recipients
openMAINT    1.1.0-44    WOGen process - Add message with instructions for the user
openMAINT    1.1.0-45    DataModel - Move spatial_ref_sys table into gis schema
openMAINT    1.1.0-46    Reports - Report to print barcodes from Asset Management and stand-alone
openMAINT    1.1.0-47    DataModel - Fix CQL filters on InventoryItem subclasses
openMAINT    1.1.0-48    QRCodeGen process - Process is startable from AssetManager role only
openMAINT    1.1.0-49    DataModel - Fix wrong dashboard definition
openMAINT    1.1.0-50    DataModel - Final fixes for Italian translations

 

11. When I click on "Apply" button, I get a small error popup on right bottom corner of the page with text "Error in SQL patch". I click on "Show details" link and see following error:

Call: services/json/configure/applypatches
-------------------------------------------
Error: org.cmdbuild.exception.ORMException: ORM_SQL_PATCH
    at org.cmdbuild.exception.ORMException$ORMExceptionType.createException(ORMException.java:63)
    at org.cmdbuild.services.DefaultPatchManager.applyPatch(DefaultPatchManager.java:391)
    at org.cmdbuild.services.DefaultPatchManager.applyPatchList(DefaultPatchManager.java:360)
    at org.cmdbuild.services.startup.DefaultStartupLogic.migrate(DefaultStartupLogic.java:31)
    at org.cmdbuild.servlets.json.Configure.applyPatches(Configure.java:214)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:104)
    at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:64)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:183)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.cmdbuild.filters.LocalizationFilter.doFilter(LocalizationFilter.java:127)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

 

The log file "cmdbuild.log" shows following entries after I click on "Apply Patch" button:

INFO  2018-04-13 15:28:14 [jsonrpc ] Calling url /configure/applypatches

INFO  2018-04-13 15:28:14 [cmdbuild] applying patch 'DefaultPatchManager.DefaultPatch[version=1.1.0-04,description=DataModel - Fix triggers and constraints,category=openMAINT,file=D:\Programs\Apache\Tomcat8.5.28\webapps\openmaint\WEB-INF\patches-ext\openMAINT\1.1.0-04.sql]'

ERROR 2018-04-13 15:28:14 [cmdbuild] failed applying patch '1.1.0-04'

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [-- DataModel - Fix triggers and constraints

 

-- AccountingDocument

 

COMMENT ON TABLE public."AccountingDocument"

  IS 'DESCR: Accounting document|MODE: write|STATUS: active|SUPERCLASS: true|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."AccountingDocument"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocument"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocument"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Number|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."AccountingDocument"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocument"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocument"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocument"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."AccountingDocument"."Contract" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ContractAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Contract|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."Referent" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ReferentAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Referent|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget centre|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."BasePrice" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Base price|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."TaxAmount" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Tax amount|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."TotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Total price|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."Supplier" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SupplierAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Supplier|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocument"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Title|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

 

 

-- PurchaseDeliveryNote

 

CREATE OR REPLACE FUNCTION public._opm_trigger_purchasedeliverynote_description()

  RETURNS trigger AS

$BODY$

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

    IF(TG_OP = 'INSERT') THEN

        NEW."Code"= concat_ws('-','PDN',lpad(nextval('purchasedeliverynote_seq')::VARCHAR,9,'0'));

    END IF;

    NEW."Description" = concat_ws(' - ', NEW."Code", NEW."Title");

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

DROP SEQUENCE public.purchasedeliverynote_seq;

 

CREATE SEQUENCE public.purchasedeliverynote_seq

  INCREMENT 1

  MINVALUE 1

  MAXVALUE 999999999

  START 1

  CACHE 1;

 

SELECT * FROM cm_modify_domain('DeliveryNoteWarehouseMovement', 'LABEL: DeliveryNoteWarehouseMovement|DESCRDIR: generates|DESCRINV: is generated by|MODE: write|STATUS: active|TYPE: domain|CLASS1: PurchaseDeliveryNote|CLASS2: WarehouseMovement|CARDIN: 1:N|MASTERDETAIL: false|MDLABEL: |DISABLED1: |DISABLED2: ');

 

COMMENT ON TABLE public."PurchaseDeliveryNote"

  IS 'DESCR: Delivery note|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Number|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Contract" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ContractAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Contract|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Referent" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ReferentAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Referent|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget centre|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."BasePrice" IS 'STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Base price|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."TaxAmount" IS 'STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Tax amount|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."TotalPrice" IS 'STATUS: noactive|BASEDSP: true|CLASSORDER: 0|DESCR: Total price|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Supplier" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SupplierAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Supplier|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Title|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Order" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseOrderDeliveryNote|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Order|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseDeliveryNote"."Request" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseRequestDeliveryNote|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Purchase request|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

 

 

-- PurchaseInvoice

 

CREATE OR REPLACE FUNCTION public._opm_trigger_purchaseinvoice_description()

  RETURNS trigger AS

$BODY$

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

    IF(TG_OP = 'INSERT') THEN

        NEW."Code"= concat_ws('-', 'PI',lpad(nextval('purchaseinvoice_seq')::VARCHAR,9,'0'));

    END IF;

    NEW."Description" = concat_ws(' - ', NEW."Code", NEW."Title");

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

DROP SEQUENCE public.purchaseinvoice_seq;

 

CREATE SEQUENCE public.purchaseinvoice_seq

  INCREMENT 1

  MINVALUE 1

  MAXVALUE 999999999

  START 1

  CACHE 1;

 

COMMENT ON TABLE public."PurchaseInvoice"

  IS 'DESCR: Invoice|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."PurchaseInvoice"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoice"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoice"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Number|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."PurchaseInvoice"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."PurchaseInvoice"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoice"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoice"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoice"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Contract" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ContractAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Contract|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Referent" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ReferentAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Referent|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget centre|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."BasePrice" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Base price|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."TaxAmount" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Tax amount|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."TotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Total price|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Supplier" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SupplierAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Supplier|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Title|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."ToApprove" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: To Approve|GROUP: |INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."PaymentTerm" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Payment Term|GROUP: |INDEX: 16|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."TaxIncluded" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Tax Included|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Paid" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Paid|GROUP: |INDEX: 17|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Request" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseRequestInvoice|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Purchase request|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoice"."Order" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseOrderInvoice|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Order|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

 

 

-- PurchaseOrder

 

SELECT * FROM cm_delete_attribute('"PurchaseOrder"'::regclass, 'ScheduledStart');

SELECT * FROM cm_delete_attribute('"PurchaseOrder"'::regclass, 'ScheduledEnd');

SELECT * FROM cm_create_attribute('"PurchaseOrder"'::regclass,'DueDate','date',null,false,false,'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Due date|GROUP: |INDEX: 16|MODE: write|FIELDMODE: write');

 

CREATE OR REPLACE FUNCTION public._opm_trigger_purchaseorder_description()

  RETURNS trigger AS

$BODY$

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

    IF(TG_OP = 'INSERT') THEN

        NEW."Code"= concat_ws('-', 'PO',lpad(nextval('purchaseorder_seq')::VARCHAR,9,'0'));

    END IF;

    NEW."Description" = concat_ws(' - ', NEW."Code", NEW."Title");

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

DROP SEQUENCE public.purchaseorder_seq;

 

CREATE SEQUENCE public.purchaseorder_seq

  INCREMENT 1

  MINVALUE 1

  MAXVALUE 999999999

  START 1

  CACHE 1;

 

SELECT * FROM cm_modify_domain('PurchaseOrderInvoice', 'LABEL: PurchaseOrderInvoice|DESCRDIR: generates|DESCRINV: is related to|MODE: write|STATUS: active|TYPE: domain|CLASS1: PurchaseOrder|CLASS2: PurchaseInvoice|CARDIN: 1:N|MASTERDETAIL: false|MDLABEL: |DISABLED1: |DISABLED2: ');

 

COMMENT ON TABLE public."PurchaseOrder"

  IS 'DESCR: Purchase order|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."PurchaseOrder"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrder"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrder"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Number|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."PurchaseOrder"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."PurchaseOrder"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrder"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrder"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrder"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Contract" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ContractAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Contract|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Referent" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ReferentAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Referent|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget centre|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."BasePrice" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Base price|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."TaxAmount" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Tax amount|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."TotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Total price|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Supplier" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SupplierAccountingDocument|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Supplier|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Title|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."ActualEnd" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Actual end date|GROUP: |INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Request" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseRequestPurchaseOrder|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Purchase request|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."Type" IS 'LOOKUP: PurchaseType|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Type|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrder"."DueDate" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Due date|GROUP: |INDEX: 14|MODE: write|FIELDMODE: write';

 

 

-- AccountingDocumentItem

 

COMMENT ON TABLE public."AccountingDocumentItem"

  IS 'DESCR: Accounting document item|MODE: write|STATUS: active|SUPERCLASS: true|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."AccountingDocumentItem"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocumentItem"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocumentItem"."Code" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 1|DESCR: Number|GROUP: |INDEX: 1|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."AccountingDocumentItem"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."AccountingDocumentItem"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocumentItem"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocumentItem"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."AccountingDocumentItem"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."BudgetItem" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetItemDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget item|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."Quantity" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Quantity|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."UnitBasePrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit base price|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."UnitTaxAmount" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tax amount|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."UnitTotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tot. price|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."QuantityUoM" IS 'LOOKUP: UnitOfMeasure|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: U/M|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."Item" IS 'REFERENCEDIRECT: false|REFERENCEDOM: WarehouseItemAccountingDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Item|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."AccountingDocumentItem"."ItemType" IS 'LOOKUP: WarehouseItemCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Item type|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

 

-- PurchaseInvoiceItem

 

ALTER TABLE public."PurchaseInvoiceItem"

  ADD CONSTRAINT "_NotNull_Invoice" CHECK ("Status" <> 'A'::bpchar OR "Invoice" IS NOT NULL);

 

CREATE OR REPLACE FUNCTION public._opm_trigger_purchaseinvoiceitem_description()

  RETURNS trigger AS

$BODY$

DECLARE

    code character varying;

    max_code integer;

    parent_code character varying;

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

    IF(TG_OP = 'INSERT') THEN

 

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "PurchaseInvoiceItem"

        WHERE "Invoice" = NEW."Invoice" AND "Status" = 'A';

 

        NEW."Code"= trim(to_char(max_code + 1,'000'));

 

    ELSEIF(TG_OP = 'UPDATE' AND NEW."Invoice" <> OLD."Invoice") THEN

       

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "PurchaseInvoiceItem"

        WHERE "Invoice" = NEW."Invoice" AND "Status" = 'A' AND "Id" <> NEW."Id";   

 

        NEW."Code"= trim(to_char(max_code + 1,'000'));

    END IF;

   

    SELECT "Code" INTO parent_code

    FROM "PurchaseInvoice"

    WHERE "Id" = NEW."Invoice";

   

    NEW."Description" = concat_ws(' - ', concat_ws('/', parent_code,NEW."Code"), NEW."Title");

   

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

COMMENT ON TABLE public."PurchaseInvoiceItem"

  IS 'DESCR: Invoice item|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Code" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 1|DESCR: Number|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."BudgetItem" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetItemDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget item|GROUP: |INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Quantity" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Quantity|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."UnitBasePrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit base price|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."UnitTaxAmount" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tax amount|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."UnitTotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tot. price|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."QuantityUoM" IS 'LOOKUP: UnitOfMeasure|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: U/M|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Item" IS 'REFERENCEDIRECT: false|REFERENCEDOM: WarehouseItemAccountingDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Item|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."ItemType" IS 'LOOKUP: WarehouseItemCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Item type|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Invoice" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseInvoiceItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Invoice|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseInvoiceItem"."Request" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseRequestInvoiceItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Purchase request|GROUP: |INDEX: 13|MODE: write|FIELDMODE: write';

 

-- PurchaseOrderItem

 

ALTER TABLE public."PurchaseOrderItem" DROP CONSTRAINT "_NotNull_Quantity";

ALTER TABLE public."PurchaseOrderItem" DROP CONSTRAINT "_NotNull_QuantityUoM";

 

CREATE OR REPLACE FUNCTION public._opm_trigger_purchaseorderitem_description()

  RETURNS trigger AS

$BODY$

DECLARE

    code character varying;

    max_code integer;

    parent_code character varying;

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

 

    IF(TG_OP = 'INSERT') THEN

 

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "PurchaseOrderItem"

        WHERE "Order" = NEW."Order" AND "Status"='A';

 

        NEW."Code"= trim(to_char(max_code + 1,'000'));

 

    ELSEIF(TG_OP = 'UPDATE' AND NEW."Order" <> OLD."Order") THEN

       

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "PurchaseOrderItem"

        WHERE "Order" = NEW."Order" AND "Status" = 'A' AND "Id" <> NEW."Id";   

 

        NEW."Code"= trim(to_char(max_code + 1,'000'));

    END IF;

   

    SELECT "Code" INTO parent_code

    FROM "PurchaseOrder"

    WHERE "Id" = NEW."Order";

   

    NEW."Description" = concat_ws(' - ', concat_ws('/', parent_code,NEW."Code"), NEW."Title");

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

COMMENT ON TABLE public."PurchaseOrderItem"

  IS 'DESCR: Order item|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."PurchaseOrderItem"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrderItem"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrderItem"."Code" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 1|DESCR: Number|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."PurchaseOrderItem"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."PurchaseOrderItem"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrderItem"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrderItem"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."PurchaseOrderItem"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."BudgetItem" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetItemDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget item|GROUP: |INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."Quantity" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Quantity|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."UnitBasePrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit base price|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."UnitTaxAmount" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tax amount|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."UnitTotalPrice" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Per-unit tot. price|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."QuantityUoM" IS 'LOOKUP: UnitOfMeasure|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: U/M|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."Title" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."Item" IS 'REFERENCEDIRECT: false|REFERENCEDOM: WarehouseItemAccountingDocumentItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Item|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."ItemType" IS 'LOOKUP: WarehouseItemCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Item type|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."Order" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseOrderItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Order|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."PurchaseOrderItem"."Request" IS 'REFERENCEDIRECT: false|REFERENCEDOM: PurchaseRequestOrderItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Purchase request|GROUP: |INDEX: 13|MODE: read|FIELDMODE: read';

 

-- Budget

 

COMMENT ON TABLE public."Budget"

  IS 'DESCR: Budget|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."Budget"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."Budget"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."Budget"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Code|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."Budget"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."Budget"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."Budget"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."Manager" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ManagerBudget|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Manager|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."Company" IS 'REFERENCEDIRECT: false|REFERENCEDOM: CompanyBudget|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Company|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."StartDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Start date|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."Enddate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: End date|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Budget"."ApprovalDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Approval date|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

 

 

-- BudgetCentre

 

ALTER TABLE public."BudgetCentre"

  ADD CONSTRAINT "_NotNull_Budget" CHECK ("Status" <> 'A'::bpchar OR "Budget" IS NOT NULL);

 

DROP SEQUENCE public.budgetcentre_seq;

 

CREATE SEQUENCE public.budgetcentre_seq

  INCREMENT 1

  MINVALUE 1

  MAXVALUE 9999

  START 1

  CACHE 1;

 

CREATE OR REPLACE FUNCTION public._opm_trigger_budgetcentre_description()

  RETURNS trigger AS

$BODY$

DECLARE

    budget_code character varying;

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

    IF(TG_OP = 'INSERT') THEN

        NEW."Code"= lpad(nextval('budgetcentre_seq')::VARCHAR,4,'0');

    END IF;

 

    SELECT concat_ws('/', "Code", NEW."Code") into budget_code

    FROM "Budget"

    WHERE "Id" = NEW."Budget" AND "Status"='A';

 

    NEW."Description" = concat_ws('-', budget_code, NEW."Name");

 

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

COMMENT ON TABLE public."BudgetCentre"

  IS 'DESCR: Budget centre|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."BudgetCentre"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetCentre"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetCentre"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 2|DESCR: Code|GROUP: |INDEX: 3|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."BudgetCentre"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 5|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."BudgetCentre"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetCentre"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetCentre"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetCentre"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetCentre"."DetailedDescription" IS 'EDITORTYPE: HTML|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Detailed description|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetCentre"."Department" IS 'REFERENCEDIRECT: false|REFERENCEDOM: DepartmentBudgetCentre|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Department|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetCentre"."Budget" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetBudgetCentre|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Budget|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetCentre"."Name" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Name|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

 

-- BudgetItem

 

ALTER TABLE public."BudgetItem"

  ADD CONSTRAINT "_NotNull_BudgetCentre" CHECK ("Status" <> 'A'::bpchar OR "BudgetCentre" IS NOT NULL);

 

CREATE OR REPLACE FUNCTION public._opm_trigger_budgetitem_description()

  RETURNS trigger AS

$BODY$

DECLARE

    code character varying;

    parent_descr character varying;

    max_code integer;

   

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

 

    SELECT "Description" INTO parent_descr

    FROM "BudgetCentre"

    WHERE "Id" = NEW."BudgetCentre";

 

    IF(TG_OP = 'INSERT') THEN

 

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "BudgetItem"

        WHERE "BudgetCentre" = NEW."BudgetCentre" AND "Status"='A';

       

        NEW."Code"= trim(to_char(max_code+1,'000'));

 

    ELSEIF(TG_OP = 'UPDATE') THEN

       

        SELECT coalesce(MAX("Code"::integer),0) into max_code

        FROM "BudgetItem"

        WHERE "BudgetCentre" = NEW."BudgetCentre" AND "Status" = 'A' AND "Id" <> NEW."Id";   

 

        NEW."Code"= trim(to_char(max_code + 1,'000'));

    END IF;

   

    NEW."Description" = concat_ws(' - ', concat_ws('/', parent_descr,NEW."Code"), NEW."Name");

 

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

SELECT * FROM cm_modify_domain('BudgetItemCost', 'LABEL: BudgetItemCost|DESCRDIR: is involved in|DESCRINV: refers to|MODE: write|STATUS: active|TYPE: domain|CLASS1: BudgetItem|CLASS2: CostIssue|CARDIN: 1:N|MASTERDETAIL: true|MDLABEL: Cost Issues|DISABLED1: |DISABLED2: ');

 

COMMENT ON TABLE public."BudgetItem"

  IS 'DESCR: Budget item|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."BudgetItem"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetItem"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetItem"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 2|DESCR: Code|GROUP: |INDEX: 2|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."BudgetItem"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 4|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."BudgetItem"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetItem"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetItem"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."BudgetItem"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Budget centre|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."PlannedValue" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Planned value|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."AuthorizationDate" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Authorization date|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."AuthorizedValue" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Authorized value|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."Site" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SiteBudgetItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Site|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."BudgetItem"."Name" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Name|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

 

 

-- Certificate

 

SELECT * FROM cm_create_attribute('"Certificate"'::regclass,'Date','date',null,false,false,'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write');

 

COMMENT ON TABLE public."Certificate"

  IS 'DESCR: Certificate|MODE: write|STATUS: active|SUPERCLASS: true|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."Certificate"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."Certificate"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."Certificate"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Certificate"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Certificate"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."Certificate"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."Certificate"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."Certificate"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."Certificate"."Site" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SiteCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Site|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Certificate"."Certificator" IS 'REFERENCEDIRECT: false|REFERENCEDOM: StakeholderCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Certificator|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Certificate"."Outcome" IS 'LOOKUP: CertificationOutcome|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Outcome|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Certificate"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

 

-- DisabilityAccess

 

COMMENT ON TABLE public."DisabilityAccess"

  IS 'DESCR: Disability access|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."DisabilityAccess"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."DisabilityAccess"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."DisabilityAccess"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."DisabilityAccess"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."DisabilityAccess"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."DisabilityAccess"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."DisabilityAccess"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."DisabilityAccess"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."DisabilityAccess"."Site" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SiteCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Site|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."DisabilityAccess"."Certificator" IS 'REFERENCEDIRECT: false|REFERENCEDOM: StakeholderCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Certificator|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."DisabilityAccess"."Outcome" IS 'LOOKUP: CertificationOutcome|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Outcome|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."DisabilityAccess"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

 

-- EnergyPerformance

 

COMMENT ON TABLE public."EnergyPerformance"

  IS 'DESCR: Energy performance|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."EnergyPerformance"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."EnergyPerformance"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."EnergyPerformance"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."EnergyPerformance"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."EnergyPerformance"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."EnergyPerformance"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."EnergyPerformance"."Site" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SiteCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Site|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Certificator" IS 'REFERENCEDIRECT: false|REFERENCEDOM: StakeholderCertificate|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Certificator|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Outcome" IS 'LOOKUP: CertificationOutcome|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Outcome|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Rating" IS 'LOOKUP: EfficiencyRating|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Rating|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."InspectionDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Inspection date|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."EnergyConsumption" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Energy consumption|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Co2Emissions" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: CO2 emissions|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."MainFuelType" IS 'LOOKUP: Fuel|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Main fuel type|GROUP: |INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."EfficiencyHotWaterHeating" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Efficiency hot water heating source|GROUP: |INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."EfficiencyMainHeating" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Efficiency main heating source|GROUP: |INDEX: 13|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."PhotovoltaicSupply" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Photovoltaic supply|GROUP: |INDEX: 14|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."RecommendedImprovements" IS 'EDITORTYPE: HTML|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Recommended improvements|GROUP: |INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."EnergyPerformance"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Date|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

 

-- ClimaticZone

 

COMMENT ON TABLE public."ClimaticZone"

  IS 'DESCR: Climatic zone|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."ClimaticZone"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."ClimaticZone"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."ClimaticZone"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: |INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."ClimaticZone"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: |INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."ClimaticZone"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."ClimaticZone"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."ClimaticZone"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."ClimaticZone"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."ClimaticZone"."Type" IS 'LOOKUP: ClimaticZone|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Type|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."ClimaticZone"."MeanDailyTemperature" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Mean daily temperature|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

 

-- CostIssue

 

COMMENT ON TABLE public."CostIssue"

  IS 'DESCR: Cost issue|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."CostIssue"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."CostIssue"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."CostIssue"."Code" IS 'MODE: read|DESCR: Code|INDEX: 1|BASEDSP: true|CLASSORDER: 0';

COMMENT ON COLUMN public."CostIssue"."Description" IS 'MODE: read|DESCR: Description|INDEX: 2|BASEDSP: true|CLASSORDER: 0';

COMMENT ON COLUMN public."CostIssue"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."CostIssue"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."CostIssue"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."CostIssue"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3|CLASSORDER: 0';

COMMENT ON COLUMN public."CostIssue"."Site" IS 'REFERENCEDIRECT: false|REFERENCEDOM: SiteCost|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 2|DESCR: Site|GROUP: |INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."Amount" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Amount|GROUP: |INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."Date" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Date|GROUP: |INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."Type" IS 'LOOKUP: CostIssue - Type|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Type|GROUP: |INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."BudgetCentre" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetCentreCost|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget centre|GROUP: |INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."BudgetItem" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BudgetItemCost|REFERENCETYPE: restrict|FILTER: from BudgetItem where BudgetCentre = {client:BudgetCentre}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Budget item|GROUP: |INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."CostIssue"."Workorder" IS 'REFERENCEDIRECT: false|REFERENCEDOM: WorkorderCost|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Workorder|GROUP: |INDEX: 10|MODE: write|FIELDMODE: write';

 

-- InventoryItem

 

COMMENT ON TABLE public."InventoryItem"

  IS 'DESCR: Inventory item|MODE: write|STATUS: active|SUPERCLASS: true|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."InventoryItem"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."InventoryItem"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."InventoryItem"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: General Data|INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: General Data|INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."InventoryItem"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."InventoryItem"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."InventoryItem"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."InventoryItem"."IsInComplex" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ComplexItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Complex|GROUP: Position|INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."IsInBuilding" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BuildingItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Building|GROUP: Position|INDEX: 5|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."IsInFloor" IS 'REFERENCEDIRECT: false|REFERENCEDOM: FloorItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Floor|GROUP: Position|INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."IsInRoom" IS 'REFERENCEDIRECT: false|REFERENCEDOM: RoomItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Room|GROUP: Position|INDEX: 7|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."IsInUnit" IS 'REFERENCEDIRECT: false|REFERENCEDOM: UnitItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Unit|GROUP: Position|INDEX: 8|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Area" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceAreaItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Area|GROUP: Maintenance Data|INDEX: 9|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Category" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceCategoryItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Category|GROUP: Maintenance Data|INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Group" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceGroupItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Group|GROUP: Maintenance Data|INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Condition" IS 'LOOKUP: Condition|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Condition|GROUP: Maintenance Data|INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Criticality" IS 'LOOKUP: Criticality|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Criticality|GROUP: Maintenance Data|INDEX: 13|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."LastCheckDate" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Last check date|GROUP: Maintenance Data|INDEX: 14|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."InventoryItem"."Availability" IS 'LOOKUP: AvailabilitySubCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Availability|GROUP: General Data|INDEX: 3|MODE: write|FIELDMODE: write';

 

-- Site

 

COMMENT ON TABLE public."Site"

  IS 'DESCR: Site|MODE: write|STATUS: active|SUPERCLASS: true|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."Site"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."Site"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."Site"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: General Data|INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: General Data|INDEX: 2|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."Site"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."Site"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."Site"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."Site"."IsInComplex" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ComplexItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Complex|GROUP: Position|INDEX: 5|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Site"."IsInBuilding" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BuildingItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Building|GROUP: Position|INDEX: 6|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Site"."IsInFloor" IS 'REFERENCEDIRECT: false|REFERENCEDOM: FloorItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Floor|GROUP: Position|INDEX: 7|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Site"."IsInRoom" IS 'REFERENCEDIRECT: false|REFERENCEDOM: RoomItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Room|GROUP: Position|INDEX: 8|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Site"."IsInUnit" IS 'REFERENCEDIRECT: false|REFERENCEDOM: UnitItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Unit|GROUP: Position|INDEX: 9|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Site"."Area" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceAreaItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Area|GROUP: Maintenance Data|INDEX: 14|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Category" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceCategoryItem|REFERENCETYPE: restrict|FILTER: from MaintenanceCategory where Area=0{client:Area.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Category|GROUP: Maintenance Data|INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Group" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceGroupItem|REFERENCETYPE: restrict|FILTER: from MaintenanceGroup where Category=0{client:Category.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Group|GROUP: Maintenance Data|INDEX: 16|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Condition" IS 'LOOKUP: Condition|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Condition|GROUP: Maintenance Data|INDEX: 17|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Criticality" IS 'LOOKUP: Criticality|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Criticality|GROUP: Maintenance Data|INDEX: 18|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."LastCheckDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Last check date|GROUP: Maintenance Data|INDEX: 19|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Availability" IS 'LOOKUP: AvailabilitySubCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Availability|GROUP: General Data|INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Address" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Address|GROUP: Position|INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."ZIP" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: ZIP|GROUP: Position|INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."City" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: City|GROUP: Position|INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Country" IS 'LOOKUP: Country|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Country|GROUP: Position|INDEX: 13|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."TotalGrossArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total gross area [m2]|GROUP: Dimensional Data|INDEX: 20|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."TotalNetArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total net area [m2]|GROUP: Dimensional Data|INDEX: 21|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."CoveredArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Covered area [m2]|GROUP: Dimensional Data|INDEX: 22|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."GlazedArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Glazed area [m2]|GROUP: Dimensional Data|INDEX: 23|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."CleanableArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Cleanable area [m2]|GROUP: Dimensional Data|INDEX: 24|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."TotalVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total volume [m3]|GROUP: Dimensional Data|INDEX: 25|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."TotalHeatedVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Heated volume [m3]|GROUP: Dimensional Data|INDEX: 26|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Site"."Name" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Name|GROUP: General Data|INDEX: 3|MODE: write|FIELDMODE: write';

 

-- Building

 

CREATE OR REPLACE FUNCTION public._opm_building()

  RETURNS trigger AS

$BODY$

DECLARE

    complex character varying;

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

 

    SELECT INTO complex c."Code"

    FROM "Complex" c

    WHERE c."Id"=NEW."Complex" AND c."Status"='A';

   

    NEW."Description" = concat_ws(' - ', complex, concat_ws(' ', NEW."Code", NEW."Name"));

 

    NEW."IsInComplex" = NEW."Complex";

 

    RETURN NEW;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

CREATE OR REPLACE FUNCTION public._opm_count_buildings_of_complex()

  RETURNS trigger AS

$BODY$

DECLARE

    new_value INTEGER;

    old_value integer;

BEGIN

    --RAISE NOTICE 'Trigger % on %', TG_NAME, TG_TABLE_NAME;

 

    IF    (TG_OP = 'UPDATE' AND OLD."Complex" IS NOT NULL) THEN       

 

        SELECT "Buildings" INTO old_value

        FROM "Complex"

        WHERE "Id" = OLD."Complex";

       

        SELECT COUNT(*) INTO new_value

        FROM "Map_ComplexBuilding"

        WHERE "IdObj1" = OLD."Complex" AND "Status"='A';

 

        old_value = coalesce(old_value,0);

        new_value = coalesce(new_value,0);

 

        --RAISE NOTICE 'there were % buildings in complex %', old_value, OLD."Complex";

        --RAISE NOTICE 'there are % buildings in complex %', new_value, OLD."Complex";

 

        IF(old_value <> new_value)THEN

            UPDATE "Complex"

            SET "Buildings" = new_value

            WHERE "Id" = OLD."Complex";

        END IF;

    END IF;

    IF(NEW."Complex" IS NOT NULL) THEN

 

        SELECT "Buildings" INTO old_value

        FROM "Complex"

        WHERE "Id" = NEW."Complex";

       

        SELECT COUNT(*) INTO new_value

        FROM "Map_ComplexBuilding"

        WHERE "IdObj1" = NEW."Complex" AND "Status"='A';

 

        old_value = coalesce(old_value,0);

        new_value = coalesce(new_value,0);

 

        --RAISE NOTICE 'there were % buildings in complex %', old_value, NEW."Complex";

        --RAISE NOTICE 'there are % buildings in complex %', new_value, NEW."Complex";

 

        IF(old_value <> new_value)THEN

            UPDATE "Complex"

            SET "Buildings" = new_value

            WHERE "Id"=NEW."Complex";       

        END IF;

    END IF;

    RETURN null;

END;

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

 

COMMENT ON TABLE public."Building"

  IS 'DESCR: Building|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."Building"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."Building"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."Building"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 1|DESCR: Code|GROUP: General Data|INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Description" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Description|GROUP: General Data|INDEX: 2|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."Building"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."Building"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."Building"."Notes" IS 'EDITORTYPE: null|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Notes|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."IsInComplex" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ComplexItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Complex|GROUP: Position|INDEX: 7|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."IsInBuilding" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BuildingItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Building|GROUP: Position|INDEX: 8|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."IsInFloor" IS 'REFERENCEDIRECT: false|REFERENCEDOM: FloorItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Floor|GROUP: Position|INDEX: 9|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."IsInRoom" IS 'REFERENCEDIRECT: false|REFERENCEDOM: RoomItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Room|GROUP: Position|INDEX: 10|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."IsInUnit" IS 'REFERENCEDIRECT: false|REFERENCEDOM: UnitItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Unit|GROUP: Position|INDEX: 11|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Building"."Area" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceAreaItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Area|GROUP: Maintenance Data|INDEX: 17|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Category" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceCategoryItem|REFERENCETYPE: restrict|FILTER: from MaintenanceCategory where Area=0{client:Area.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Category|GROUP: Maintenance Data|INDEX: 18|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Group" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceGroupItem|REFERENCETYPE: restrict|FILTER: from MaintenanceGroup where Category=0{client:Category.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Group|GROUP: Maintenance Data|INDEX: 19|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Condition" IS 'LOOKUP: Condition|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Condition|GROUP: Maintenance Data|INDEX: 20|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Criticality" IS 'LOOKUP: Criticality|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Criticality|GROUP: Maintenance Data|INDEX: 21|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."LastCheckDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Last check date|GROUP: Maintenance Data|INDEX: 22|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Availability" IS 'LOOKUP: AvailabilitySubCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Availability|GROUP: General Data|INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Address" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Address|GROUP: Position|INDEX: 13|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."ZIP" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: ZIP|GROUP: Position|INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."City" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: City|GROUP: Position|INDEX: 14|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Country" IS 'LOOKUP: Country|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Country|GROUP: Position|INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."TotalGrossArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total gross area [m2]|GROUP: Dimensional Data|INDEX: 20|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."TotalNetArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total net area [m2]|GROUP: Dimensional Data|INDEX: 21|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."CoveredArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Covered area [m2]|GROUP: Dimensional Data|INDEX: 22|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."GlazedArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Glazed area [m2]|GROUP: Dimensional Data|INDEX: 23|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."CleanableArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Cleanable area [m2]|GROUP: Dimensional Data|INDEX: 24|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."TotalVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total volume [m3]|GROUP: Dimensional Data|INDEX: 25|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."TotalHeatedVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Heated volume [m3]|GROUP: Dimensional Data|INDEX: 26|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Name" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Name|GROUP: General Data|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Complex" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ComplexBuilding|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: true|CLASSORDER: 2|DESCR: Complex|GROUP: Position|INDEX: 6|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."ClimaticZone" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ClimaticZoneBuilding|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Climatic zone|GROUP: Position|INDEX: 16|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Building"."Floors" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Number of floors|GROUP: Dimensional Data|INDEX: 30|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."Building"."Rooms" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Number of rooms|GROUP: Dimensional Data|INDEX: 31|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."Building"."Units" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Number of units|GROUP: Dimensional Data|INDEX: 32|MODE: read|FIELDMODE: read';

COMMENT ON COLUMN public."Building"."MainUse" IS 'LOOKUP: BuildingMainUse|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Main use|GROUP: General Data|INDEX: 5|MODE: write|FIELDMODE: write';

 

 

-- Complex

 

COMMENT ON TABLE public."Complex"

  IS 'DESCR: Complex|MODE: write|STATUS: active|SUPERCLASS: false|TYPE: class|USERSTOPPABLE: false';

COMMENT ON COLUMN public."Complex"."Id" IS 'MODE: reserved';

COMMENT ON COLUMN public."Complex"."IdClass" IS 'MODE: reserved';

COMMENT ON COLUMN public."Complex"."Code" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Code|GROUP: General Data|INDEX: 1|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Description" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Description|GROUP: General Data|INDEX: 2|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."Status" IS 'MODE: reserved';

COMMENT ON COLUMN public."Complex"."User" IS 'MODE: reserved';

COMMENT ON COLUMN public."Complex"."BeginDate" IS 'MODE: reserved';

COMMENT ON COLUMN public."Complex"."Notes" IS 'MODE: read|DESCR: Notes|INDEX: 3';

COMMENT ON COLUMN public."Complex"."IsInComplex" IS 'REFERENCEDIRECT: false|REFERENCEDOM: ComplexItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Complex|GROUP: Position|INDEX: 5|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."IsInBuilding" IS 'REFERENCEDIRECT: false|REFERENCEDOM: BuildingItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Building|GROUP: Position|INDEX: 6|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."IsInFloor" IS 'REFERENCEDIRECT: false|REFERENCEDOM: FloorItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Floor|GROUP: Position|INDEX: 7|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."IsInRoom" IS 'REFERENCEDIRECT: false|REFERENCEDOM: RoomItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Room|GROUP: Position|INDEX: 8|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."IsInUnit" IS 'REFERENCEDIRECT: false|REFERENCEDOM: UnitItem|REFERENCETYPE: restrict|FILTER: |STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Unit|GROUP: Position|INDEX: 9|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."Area" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceAreaItem|REFERENCETYPE: restrict|FILTER: |STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Area|GROUP: Maintenance Data|INDEX: 14|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Category" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceCategoryItem|REFERENCETYPE: restrict|FILTER: from MaintenanceCategory where Area=0{client:Area.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Category|GROUP: Maintenance Data|INDEX: 15|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Group" IS 'REFERENCEDIRECT: false|REFERENCEDOM: MaintenanceGroupItem|REFERENCETYPE: restrict|FILTER: from MaintenanceGroup where Category=0{client:Category.Id}|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Group|GROUP: Maintenance Data|INDEX: 16|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Condition" IS 'LOOKUP: Condition|STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Condition|GROUP: Maintenance Data|INDEX: 17|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Criticality" IS 'LOOKUP: Criticality|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Criticality|GROUP: Maintenance Data|INDEX: 18|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."LastCheckDate" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Last check date|GROUP: Maintenance Data|INDEX: 19|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Availability" IS 'LOOKUP: AvailabilitySubCategory|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Availability|GROUP: General Data|INDEX: 4|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Address" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Address|GROUP: Position|INDEX: 10|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."ZIP" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: ZIP|GROUP: Position|INDEX: 11|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."City" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: City|GROUP: Position|INDEX: 12|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Country" IS 'LOOKUP: Country|STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Country|GROUP: Position|INDEX: 13|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."TotalGrossArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total gross area [m2]|GROUP: Dimensional Data|INDEX: 20|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."TotalNetArea" IS 'STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Total net area [m2]|GROUP: Dimensional Data|INDEX: 21|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."CoveredArea" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Covered area [m2]|GROUP: Dimensional Data|INDEX: 22|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."GlazedArea" IS 'STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Glazed area [m2]|GROUP: Dimensional Data|INDEX: 23|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."CleanableArea" IS 'STATUS: noactive|BASEDSP: false|CLASSORDER: 0|DESCR: Cleanable area [m2]|GROUP: Dimensional Data|INDEX: 24|MODE: hidden|FIELDMODE: hidden';

COMMENT ON COLUMN public."Complex"."TotalVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Total volume [m3]|GROUP: Dimensional Data|INDEX: 25|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."TotalHeatedVolume" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Heated volume [m3]|GROUP: Dimensional Data|INDEX: 26|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Name" IS 'STATUS: active|BASEDSP: true|CLASSORDER: 0|DESCR: Name|GROUP: General Data|INDEX: 3|MODE: write|FIELDMODE: write';

COMMENT ON COLUMN public."Complex"."Buildings" IS 'STATUS: active|BASEDSP: false|CLASSORDER: 0|DESCR: Number of buildings|GROUP: Dimensional Data|INDEX: 27|MODE: read|FIELDMODE: read';

 

 

 

 

 

 

 

 

 

 

 

 

 

]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "public.AccountingDocument" does not exist

    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231)

    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)

    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:415)

    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:439)

    at org.cmdbuild.services.DefaultPatchManager$4.doInTransactionWithoutResult(DefaultPatchManager.java:378)

    at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34)

    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)

    at org.cmdbuild.services.DefaultPatchManager.applyPatch(DefaultPatchManager.java:372)

    at org.cmdbuild.services.DefaultPatchManager.applyPatchList(DefaultPatchManager.java:360)

    at org.cmdbuild.services.startup.DefaultStartupLogic.migrate(DefaultStartupLogic.java:31)

    at org.cmdbuild.servlets.json.Configure.applyPatches(Configure.java:214)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:104)

    at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:64)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:183)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.LocalizationFilter.doFilter(LocalizationFilter.java:127)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)

    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)

    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.lang.Thread.run(Unknown Source)

Caused by: org.postgresql.util.PSQLException: ERROR: relation "public.AccountingDocument" does not exist

    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2422)

    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2167)

    at org.postgresql.core.v3.QueryExecutorImpl.flushIfDeadlockRisk(QueryExecutorImpl.java:1297)

    at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:1332)

    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:298)

    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)

    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)

    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:307)

    at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:293)

    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:270)

    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:266)

    at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)

    at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)

    at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:431)

    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:404)

    ... 60 more

ERROR 2018-04-13 15:28:14 [jsonrpc ] A org.cmdbuild.exception.ORMException occurred calling method class org.cmdbuild.servlets.json.Configure.applyPatches: ORM_SQL_PATCH

org.cmdbuild.exception.ORMException: ORM_SQL_PATCH

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

    at org.cmdbuild.services.DefaultPatchManager.applyPatch(DefaultPatchManager.java:391)

    at org.cmdbuild.services.DefaultPatchManager.applyPatchList(DefaultPatchManager.java:360)

    at org.cmdbuild.services.startup.DefaultStartupLogic.migrate(DefaultStartupLogic.java:31)

    at org.cmdbuild.servlets.json.Configure.applyPatches(Configure.java:214)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:104)

    at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:64)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:183)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.cmdbuild.filters.LocalizationFilter.doFilter(LocalizationFilter.java:127)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)

    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)

    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.lang.Thread.run(Unknown Source)

INFO  2018-04-13 15:28:14 [jsonrpc ] Calling url /configure/getpatches

 

===================================================================

 

Can someone please help me resolve this error?

 

Thanks

 

There is something seriously wrong with the data scripts in your latest openmaint version.

 

I have also attempted to setup openmaint with blank data. When I set it up with blank data, it takes me to a point where there is no option on screen to do anything. Please refer attached document.

 

At least increase the file upload size to 2 MB. Attachment control displays a message "Select a file to upload as an attachment to this comment.

                            The maximum allowed attachment size is
                            100
                            kilobytes.". If someone has to send snapshots then, it can go beyond 500 KB so easily.</p>


issues-faced-while-setting-up-docx (89.3 KB)

I tried to run patches from the folder "WEB-INF\patches-ext\openMAINT" by importing the sql script using pgAdmin.

The files 1.1.0-01.sql, 1.1.0-02.sql, 1.1.0-03.sql runs successfully. But as soon as I try to run the file "1.1.0-04.sql", I get following error in pgAdmin

 

ERROR: relation "public.AccountingDocument" does not exist SQL state: 42P01



When I move further and try to execute the script
"1.1.0-05.sql", It also fails.

I get following error:

 

ERROR: relation "Workorder" does not exist SQL state: 42P01


It seems, your database creation scripts are missing tables for creation along with some other issues.

 


patch-1-1-0-04-import-error-jpg (78.1 KB)

We suggest you take a look at this post on the forum:
http://www.cmdbuild.org/forum/forum-in-english/503988843?b_start=0#715251068
CMDBuild Team

 

 

Hi,

 

Thanks for your reply. I referred to the URL that you mentioned. That thread talks about using different JDBC jar file.

 

I tried to set it up with both postgresql-42.2.1.jar and postgresql-9.4.1212.jar. But it did not helped me. I still get that error.

 

Kindly note that, previously also I did a fresh installation. I did an absolutely fresh installation again . Previously I was using PostgreSQL atabase server version 10.3-2 and this time I used PostgreSQL 9.6.8-2. But no success!!

 

And following is what I did.

1. Copied jar files "cmdbuild-openmaint-2.5.0.war" and "cmdbuild-shark-server-openmaint-2.5.0.war" to "Tomcat8.5.28\webapps" directory.

2. Renamed it to "openmaint.war" and "shark.war".

3. Copied jdbc driver "postgresql-42.2.1.jar" to folder "Tomcat8.5.28\lib".

4. Started Tomcat Server.

5. Accessed url "http://localhost:8080/openmaint" in chrome.

6. Openmaint configuration wizard screen opens up.

7. I used the option of "Demo" in the dropdown "Type" under "Configure -> CMDBuild database" section.

Note that I used PostgreSQL 9.6.8.2 configured at port 5433 this time.

8. Configuration completed successfully. It shows a message alert on screen with an OK button. By clicking on OK button, system takes me to a new webpage which shows list of all patches available. The list is same as I mentioned in my first reply. The list starts from 1.1.0-01 and goes upto 1.1.0-50.

9. I click on button "Apply".

10. After clicking "Apply" button, the page reloads and same error popup at right bottom corner is shown. It points to same error as I mentioned in my first reply. But the patch list shown now starts from 1.1.0-04 and goes upto 1.1.0-50. So this means, the patches 1.1.0-01, 1.1.0-02 and 1.1.0-03 got applied but it starts failing from patch number 1.1.0-04.

 

Did I do anything wrong in above steps or I missed some steps? You can refer latest cmdbuild.log file attached as zip file to see errors.

 

I would request you to test this release of "cmdbuild-openmaint-2.5.0.war" and "cmdbuild-shark-server-openmaint-2.5.0.war" in a windows environment and try to set it up by selecting option "Demo" in setup wizard screen.

 

Looking forward to your help in resolving this error.

 

Thanks

Devanshu

 

 

 

Previously Tecnoteca wrote:
We suggest you take a look at this post on the forum:
http://www.cmdbuild.org/forum/forum-in-english/503988843?b_start=0#715251068
CMDBuild Team

 

 

 


cmdbuild-zip (35.5 KB)

I also see that, in your latest technical manual "CMDBuild_TechnicalManual_ENG_V250.pdf", on page 16 it is mentioned to set database address in file {SHARK}/META-INF/context.xml. But in the version "openmaint-1.1-2.5.0", there is no such "context.xml" file inside "META-INF" folder for shark web application.

 

 

There is one more point I would like to mention, yesterday I removed openmaint-1.1-2.5.0 and installed “openmaint-1.1-2.4.3” on PostgreSQL 10.2-1 with JDBC driver postgresql-42.2.1.jar. And it got installed and worked just perfectly with demo data option. Post installation, it showed a list of 5-6 patches. I clicked on “Apply”

button and it all got applied and I was able to use application with demo data.

 

 

Any updates on this ?

  Previously Tecnoteca wrote:
We suggest you take a look at this post on the forum:
http://www.cmdbuild.org/forum/forum-in-english/503988843?b_start=0#715251068
CMDBuild Team

 

 

 

 

Guys anyone in this forum facing this issue? Is there anyone in this forum who has successfully deployed openmaint-1.1-2.5.0 in Windows environment. Something is wrong in the database creation or patch script.

 

Thanks.

 

Previously Devanshu Chakraborty wrote:

I tried to run patches from the folder "WEB-INF\patches-ext\openMAINT" by importing the sql script using pgAdmin.

The files 1.1.0-01.sql, 1.1.0-02.sql, 1.1.0-03.sql runs successfully. But as soon as I try to run the file "1.1.0-04.sql", I get following error in pgAdmin

 

ERROR: relation "public.AccountingDocument" does not exist SQL state: 42P01



When I move further and try to execute the script
"1.1.0-05.sql", It also fails.

I get following error:

 

ERROR: relation "Workorder" does not exist SQL state: 42P01


It seems, your database creation scripts are missing tables for creation along with some other issues.

 

 

@CMDBuild Team,

 

I used the postgresql-9.4.1212.jar also, but same error occurs.

 

Your help is requested in resolving this issue. Could you get time to look at my previous replies?

 

Thanks

 

Previously Tecnoteca wrote:
We suggest you take a look at this post on the forum:
http://www.cmdbuild.org/forum/forum-in-english/503988843?b_start=0#715251068
CMDBuild Team

 

 

 

Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

Thanks. I will wait for your revert.

 

Previously Tecnoteca wrote:
Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

 

Hi,

 

By any chance, is here any update on this issue?

 

Thanks

Devanshu

 

Previously Tecnoteca wrote:
Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

 

Dear Tecnoteca Team,

 

Is there any update on this. I am still waiting for your feedback. Let me know in case you need any further information from me.

 

The point is that, if I can't use and test the latest release, I can't showcase it to my potential clients. And that can be a lost business opportunity for us as well as for Tecnoteca also. :)

 

Thanks

 

Previously Tecnoteca wrote:
Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

 

I’m sorry, our technicians have not yet done this test.
The developments of the new 3.0 version, scheduled for the end of the year, require a lot of work to our team.
CMDBuild Team

 

 

I think that you are using wrong demo database. 
 
> Type: Drop Down List -> I selected value "Demo"  will make CMDBUILD demo database  which is different  than  openmaint database. If you really want install openmaint-1.1-2.5.0 you should have openmaint database (empty or demo ) and choose existing from drop down list. Check earlier openmaint installation package ( openmaint-1.1-2.4.3 or even openmaint-0.8-2.2.0) and information for installing openmaint database ( INSTALLl.txt and database directory)
 
 
 
Previously Devanshu Chakraborty wrote:

Dear Tecnoteca Team,

 

Is there any update on this. I am still waiting for your feedback. Let me know in case you need any further information from me.

 

The point is that, if I can't use and test the latest release, I can't showcase it to my potential clients. And that can be a lost business opportunity for us as well as for Tecnoteca also. :)

 

Thanks

 

Previously Tecnoteca wrote:
Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

 

 

Previously Jouni wrote:

I think that you are using wrong demo database. 
 
> Type: Drop Down List -> I selected value "Demo"  will make CMDBUILD demo database  which is different  than  openmaint database. If you really want install openmaint-1.1-2.5.0 you should have openmaint database (empty or demo ) and choose existing from drop down list. Check earlier openmaint installation package ( openmaint-1.1-2.4.3 or even openmaint-0.8-2.2.0) and information for installing openmaint database ( INSTALLl.txt and database directory)
 
 
 
Previously Devanshu Chakraborty wrote:

Dear Tecnoteca Team,

 

Is there any update on this. I am still waiting for your feedback. Let me know in case you need any further information from me.

 

The point is that, if I can't use and test the latest release, I can't showcase it to my potential clients. And that can be a lost business opportunity for us as well as for Tecnoteca also. :)

 

Thanks

 

Previously Tecnoteca wrote:
Our technicians will verify that the installation procedure described in your post is correct and works.
CMDBuild Team

 

Estou com o mesmo erro  ]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "public.AccountingDocument" does not exist

ERROR 2018-05-10 17:15:45 [jsonrpc ] A org.cmdbuild.exception.ORMException occurred calling method class org.cmdbuild.servlets.json.Configure.applyPatches: ORM_SQL_PATCH

org.cmdbuild.exception.ORMException: ORM_SQL_PATCH

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

at org.cmdbuild.services.DefaultPatchManager.applyPatch(DefaultPatchManager.java:391)

at org.cmdbuild.services.DefaultPatchManager.applyPatchList(DefaultPatchManager.java:360)

at org.cmdbuild.services.startup.DefaultStartupLogic.migrate(DefaultStartupLogic.java:31)

at org.cmdbuild.servlets.json.Configure.applyPatches(Configure.java:214)

at sun.reflect.GeneratedMethodAccessor211.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:104)

at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:64)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:183)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.cmdbuild.filters.LocalizationFilter.doFilter(LocalizationFilter.java:127)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:748)

 

NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
openmaint-2.5.0
postgresql-9.4.1208

Previously Devanshu wrote:

Hi,

This post is with reference to the error I am facing after deployment of openmaint-1.1-2.5.0.

I am trying to make a fresh install of openmaint-1.1-2.5.0. But I get error "org.cmdbuild.exception.ORMException: ORM_SQL_PATCH" when I click on "Apply Patch" button just after a fresh install of openmaint.

 

My Test Environment:

OS: Windows 7 Professional 64bit

Tomcat: Tomcat8.5.28

Java: 1.8.0_162

Database: PostgreSQL 64bit v10.2-1

==========================================

Here is what I did to install it:

1. Downloaded openmaint-1.1-2.5.0.zip.

2. Extracted it to "D:\Programs\Apache\Tomcat8.5.28\webapps"

3. After extraction, two war files got shown: "cmdbuild-openmaint-2.5.0.war" and "cmdbuild-shark-server-openmaint-2.5.0.war".

4. I renamed them to "openmaint" and "shark" respectively.

5. Now I started Tomcat

6. In firefox browser, I opened url: "http://localhost:8080/openmaint".

7. A screen shown with fields:

    > Choose default language: Drop Down List

    > Show language selection in login box: checkbox

8. I click on "Next". In next screen following fields are shown section-wise:

CMDBuild Database:

    > Type: Drop Down List -> I selected value "Demo"

    > Name: Text Box: I entered name for the database

    > Create a shark schema: Check Box -> I selected it

 

Database Connection (PostgreSQL JDBC Driver 42.2.1):

    > Host: localhost

    > Port: 5432

    > Super user: postgres

    > Password: *******

    I tested connection and it was successful

 ...

Can someone please help me resolve this error?

 

Thanks

 

Hi all,
 
The problem here is not with the database itself, but with the folder "patches-ext" found in the directory {tomcat-installation-directory}/webapps/openmaint/WEB-INF/
 
After you have placed the .war files in the correct folder and started Tomcat but BEFORE accessing OpenMaint from the browser, got the the above folder and completely remove the folder "patches-ext".
After removing the folder, you should restart Tomcat, and then continue with the configuration on the browser.
You should not be asked to apply any patch (unless you are updating from a previous version, but this does not seems the case) and you should see the login form and once logged in the "Dashboard" page of OpenMaint.
 
This is a known bug which will be resolved in a future release of the WAR files.
 
Thanks,
Tecnoteca Team
Hi all,
 
The problem is not related to the database itself, but to the folder "patches-ext" found in the {tomcat-installation}/webapps/openmaint/WEB-INF/ directory.
 
After placing the WARs files in the correct directory, you should start Tomcat but BEFORE accessing on the browser you should go to the above folder and completely remove the "patches-ext" folder.
After this, you should restart Tomcat and then proceed with the configuration on the browser.
 
You should not be asked to apply any patch (unless you are updating from a previous version, but this does not seem the case).
 
Thanks,
Tecnoteca Team

Previously Devanshu Chakraborty wrote:

I also see that, in your latest technical manual "CMDBuild_TechnicalManual_ENG_V250.pdf", on page 16 it is mentioned to set database address in file {SHARK}/META-INF/context.xml. But in the version "openmaint-1.1-2.5.0", there is no such "context.xml" file inside "META-INF" folder for shark web application.

 

 

Hi
I'm trying to setting up shark web application within openmaint-1.1-2.5.0 and got the same difficulty following the technical manual. No such {SHARK}/META-INF/context.xml file.