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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0022099
TypeCategorySeverityReproducibilityDate SubmittedLast Update
design defect[Openbravo ERP] 00. Application dictionarymajoralways2012-10-25 08:472013-04-16 13:28
ReportermiruritaView Statuspublic 
Assigned ToAugustoMauch 
PrioritynormalResolutionopenFixed in Version
StatusnewFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSLinux 32 bitDatabasePostgreSQLJava version1.6.0_18
OS VersionCommunity ApplianceDatabase version8.3.9Ant version1.7.1
Product VersionpiSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0022099: Column name length should be verified to avoid errors in oracle

DescriptionColumn name length should be verified to avoid errors in oracle.
If you develop in PostgreSQL, it is possible to create 30 character length column names and the applications works fine (even the export.database).
But the same code in oracle crashes.
Steps To Reproduce-- POSTGRESQL
1) Using PostgreSQL database create a new module with OBSCNTR as db prefix
2) Add a new column
alter table C_ACCTSCHEMA_DEFAULT add column em_obscntr_pendingservrev_acct character varying(32);
alter table C_ACCTSCHEMA_DEFAULT add CONSTRAINT em_obscntr_acctdef_penservacct FOREIGN KEY (em_obscntr_pendingservrev_acct) REFERENCES c_validcombination (c_validcombination_id);
3) Create the corresponding column:
  - Reference: Search
  - Reference Search Key: Account
4) Create a field for this column
5) Compile and export. No problems, everything is working.

-- ORACLE
6) Copy this module folder to an Oracle environment.
7) ant smartbuild -Dlocal=no
8) You get an error identifier is too long.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0057932)
AugustoMauch (administrator)
2013-04-16 13:28

Oracle does not support schema object names that exceed 30 characters. In the example described in this issue, the schema object name is exactly 30 characters long, so that column is actually created in the database.

The problem is that the new column belong to a table that is used to build a 2.50 window. This is part of the query used to build that window:
...
ELSE TO_CHAR(tableTRL2.Name) END)), ''))),'') ) END) AS EM_Obscntr_Pendingservrev_AcctR,
...

An 'R' has been appended to the column name to form the alias, so the alias is now 31 characters long, and not supported by Oracle.

This issue should only be reproduced when adding a column with a 30 character long name to a table that is used to build a 2.50 window. In order to fix this we should modify some WAD legacy code.

- Issue History
Date Modified Username Field Change
2012-10-25 08:47 mirurita New Issue
2012-10-25 08:47 mirurita Assigned To => AugustoMauch
2012-10-25 08:47 mirurita Modules => Core
2013-04-16 13:28 AugustoMauch Triggers an Emergency Pack => No
2013-04-16 13:28 AugustoMauch Note Added: 0057932
2013-04-16 13:28 AugustoMauch Type defect => design defect


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker