Project:
| View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | ||||||||
| 0007793 | ||||||||
| Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
| backport | [Openbravo ERP] A. Platform | minor | always | 2009-02-06 12:04 | 2012-02-20 11:41 | |||
| Reporter | dalsasua | View Status | public | |||||
| Assigned To | shuehner | |||||||
| Priority | normal | Resolution | out of date | Fixed in Version | ||||
| Status | closed | Fix in branch | 2.40 | Fixed in SCM revision | ||||
| Projection | none | ETA | none | Target Version | ||||
| OS | Linux 32 bit | Database | PostgreSQL | Java version | 1.6.0_11 | |||
| OS Version | rPath Linux | Database version | 8.3.5 | Ant version | 1.7.1 | |||
| Product Version | pi | SCM revision | ||||||
| Merge Request Status | ||||||||
| Review Assigned To | ||||||||
| OBNetwork customer | No | |||||||
| Web browser | ||||||||
| Modules | Core | |||||||
| Support ticket | ||||||||
| Regression level | ||||||||
| Regression date | ||||||||
| Regression introduced in release | ||||||||
| Regression introduced by commit | ||||||||
| Triggers an Emergency Pack | No | |||||||
| Summary | 0007793: substr overloading for postgresql not working | |||||||
| Description | In the Oracle native substr function, when an index of 0 is received as first position of the string, it turns it to a 1. In postgresql, if a 0 is received, then no value is returned as first character, so there exists a function called substr in OpenbravoERP that tries to emulate this behavior: -- Function: substr(character varying, numeric, numeric) CREATE OR REPLACE FUNCTION substr(character varying, numeric, numeric) RETURNS character varying AS $BODY$ BEGIN return substr($1,CAST((CASE $2 WHEN 0 THEN 1 ELSE $2 END) AS INTEGER), CAST($3 AS INTEGER)); END; $BODY$ LANGUAGE 'plpgsql' IMMUTABLE COST 100; Actually, this is not working, because when a substr function is invoked, then the postgresql native one is executed. The difference between both functions is in the parameter types: The one in Openbravo ERP: substr(character varying, numeric, numeric) Included in Postgresql catalog: substr(text, integer, integer) as well as substr(bytea, integer) substr(text, integer) substr(bytea, integer, integer) substr function must be re-defined | |||||||
| Steps To Reproduce | In Oracle: select substr('123',0,2) from dual; -> 12 select substr('123',0,1) from dual; -> 1 In Postgresql: select substr('123',0,2); -> 1 select substr('123',0,1); -> <empty string> | |||||||
| Tags | No tags attached. | |||||||
| Attached Files | ||||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
||||||||
|
||||||||
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2009-02-24 12:10 | psarobe | Type | defect => backport |
| 2009-02-24 12:10 | psarobe | fix_in_branch | => 2.40 |
| 2009-02-24 12:11 | psarobe | Assigned To | pjuvara => shuehner |
| 2012-02-20 11:41 | shuehner | Status | scheduled => closed |
| 2012-02-20 11:41 | shuehner | Resolution | open => out of date |
| Copyright © 2000 - 2009 MantisBT Group |