Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Revisions: Issue #21817 All Revisions ] Back to Issue ]
Summary 0021817: export.database WRONG_TYPE validation result in a false positive
Revision 2012-10-02 10:12 by mirurita
Steps To Reproduce 1) Create a new table as follows

CREATE TABLE obcntr_unbilled_revenue
(
  obcntr_unbilled_revenue_id character varying(32) NOT NULL,
  ad_client_id character varying(32) NOT NULL,
  ad_org_id character varying(32) NOT NULL,
  isactive character(1) NOT NULL DEFAULT 'Y'::bpchar,
  created timestamp without time zone NOT NULL DEFAULT now(),
  createdby character varying(32) NOT NULL,
  updated timestamp without time zone NOT NULL DEFAULT now(),
  updatedby character varying(32) NOT NULL,
  "name" character varying(60),
  c_doctype_id character varying(32) NOT NULL,
  documentno character varying(30) NOT NULL,
  startdate timestamp without time zone NOT NULL,
  enddate timestamp without time zone NOT NULL,
  c_currency_id character varying(32) NOT NULL,
  description character varying(255),
  dateacct timestamp without time zone NOT NULL,
  posted character varying(60) NOT NULL DEFAULT 'N'::character varying,
  processing character(1),
  processed character(1) NOT NULL DEFAULT 'N'::bpchar,
  c_project_id character varying(32),
  amount numeric,
  CONSTRAINT obcntr_unbill_rev_key PRIMARY KEY (obcntr_unbilled_revenue_id),
  CONSTRAINT obcntr_unbilled_revenue_client FOREIGN KEY (ad_client_id)
      REFERENCES ad_client (ad_client_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_ad_org FOREIGN KEY (ad_org_id)
      REFERENCES ad_org (ad_org_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_currency FOREIGN KEY (c_currency_id)
      REFERENCES c_currency (c_currency_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_doctype FOREIGN KEY (c_doctype_id)
      REFERENCES c_doctype (c_doctype_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_project FOREIGN KEY (c_project_id)
      REFERENCES c_project (c_project_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbillrev_isactive_chk CHECK (isactive = ANY (ARRAY['Y'::bpchar, 'N'::bpchar])),
  CONSTRAINT obcntr_unbillrev_proc_chk CHECK (processed = ANY (ARRAY['Y'::bpchar, 'N'::bpchar]))
)
WITH (
  OIDS=FALSE
);
COMMENT ON COLUMN obcntr_unbilled_revenue.documentno IS '--OBTG:NVARCHAR--';
COMMENT ON COLUMN obcntr_unbilled_revenue.description IS '--OBTG:NVARCHAR--';

2) Create corresponding table/columns in the application dictionary.

3) ant export.database works fine at this point

4) Drop "name" column and create again with a comment
alter table obcntr_unbilled_revenue drop column name;
alter table obcntr_unbilled_revenue add column name character varying(60) NOT NULL;
COMMENT ON COLUMN obcntr_unbilled_revenue.name IS '--OBTG:NVARCHAR--';

5) ant export.database

+++++++++++++++++++++++++++++++++++++++++++++++++++
Errors for Validation type: WRONG_TYPE
+++++++++++++++++++++++++++++++++++++++++++++++++++
Column OBCNTR_UNBILLED_REVENUE.STARTDATE has incorrect type, expecting TIMESTAMP but was NVARCHAR
Column OBCNTR_UNBILLED_REVENUE.DATEACCT has incorrect type, expecting TIMESTAMP but was NVARCHAR
Module validation failed, see the above list of errors for more information
Revision 2012-10-01 17:34 by mirurita
Steps To Reproduce 1) Create a new table as follows

CREATE TABLE obcntr_unbilled_revenue
(
  obcntr_unbilled_revenue_id character varying(32) NOT NULL,
  ad_client_id character varying(32) NOT NULL,
  ad_org_id character varying(32) NOT NULL,
  isactive character(1) NOT NULL DEFAULT 'Y'::bpchar,
  created timestamp without time zone NOT NULL DEFAULT now(),
  createdby character varying(32) NOT NULL,
  updated timestamp without time zone NOT NULL DEFAULT now(),
  updatedby character varying(32) NOT NULL,
  "name" character varying(60),
  c_doctype_id character varying(32) NOT NULL,
  documentno character varying(30) NOT NULL,
  startdate timestamp without time zone NOT NULL,
  enddate timestamp without time zone NOT NULL,
  c_currency_id character varying(32) NOT NULL,
  description character varying(255),
  dateacct timestamp without time zone NOT NULL,
  posted character varying(60) NOT NULL DEFAULT 'N'::character varying,
  processing character(1),
  processed character(1) NOT NULL DEFAULT 'N'::bpchar,
  c_project_id character varying(32),
  amount numeric,
  CONSTRAINT obcntr_unbill_rev_key PRIMARY KEY (obcntr_unbilled_revenue_id),
  CONSTRAINT obcntr_unbilled_revenue_client FOREIGN KEY (ad_client_id)
      REFERENCES ad_client (ad_client_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_ad_org FOREIGN KEY (ad_org_id)
      REFERENCES ad_org (ad_org_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_currency FOREIGN KEY (c_currency_id)
      REFERENCES c_currency (c_currency_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_doctype FOREIGN KEY (c_doctype_id)
      REFERENCES c_doctype (c_doctype_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbill_rev_project FOREIGN KEY (c_project_id)
      REFERENCES c_project (c_project_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT obcntr_unbillrev_isactive_chk CHECK (isactive = ANY (ARRAY['Y'::bpchar, 'N'::bpchar])),
  CONSTRAINT obcntr_unbillrev_proc_chk CHECK (processed = ANY (ARRAY['Y'::bpchar, 'N'::bpchar]))
)
WITH (
  OIDS=FALSE
);
COMMENT ON COLUMN obcntr_unbilled_revenue.documentno IS '--OBTG:NVARCHAR--';
COMMENT ON COLUMN obcntr_unbilled_revenue.description IS '--OBTG:NVARCHAR--';

2) Drop "name" column and create again with a comment
alter table obcntr_unbilled_revenue drop column name;
alter table obcntr_unbilled_revenue add column name character varying(60) NOT NULL;

3) ant export.database


+++++++++++++++++++++++++++++++++++++++++++++++++++
Errors for Validation type: WRONG_TYPE
+++++++++++++++++++++++++++++++++++++++++++++++++++
Column OBCNTR_UNBILLED_REVENUE.STARTDATE has incorrect type, expecting TIMESTAMP but was NVARCHAR
Column OBCNTR_UNBILLED_REVENUE.DATEACCT has incorrect type, expecting TIMESTAMP but was NVARCHAR
Module validation failed, see the above list of errors for more information


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker