Anonymous | Login
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
TypeCategorySeverityReproducibilityDate SubmittedLast Update
feature request[Openbravo ERP] Y. DBSourceManagermajoralways2015-05-20 13:282019-04-02 17:57
ReportervmromanosView Statuspublic 
Assigned Toalostale 
PrioritynormalResolutionfixedFixed in Version3.0PR19Q2
StatusclosedFix in branchFixed in SCM revision7e0ba43031c7
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Tocaristu
Web browser
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo

0029943: support to define DB functions volatility

DescriptionRight now the db functions created by the dbsm have the annotation VOLATILE.

It would be great to support also the STABLE keyword, which returns always the same result when the same parameters are passed.

Definition from [^] :
"STABLE indicates that the function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values, but that its result could change across SQL statements. This is the appropriate selection for functions whose results depend on database lookups, parameter variables (such as the current time zone), etc. (It is inappropriate for AFTER triggers that wish to query rows modified by the current command.) Also note that the current_timestamp family of functions qualify as stable, since their values do not change within a transaction."

This flag could be used in some common functions to drastically increase the performance of processes where these functions are involved. Example of candidate functions: ad_isorgincluded, ad_org_isinnaturaltree, etc.

See project: [^]
Steps To ReproduceNA
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
related to defect 0038179 closedalostale cannot restore pg dump 
related to feature request 00301793.0PR15Q4 closedAugustoMauch DBSourceManager support indexes with functions 
related to defect 00296643.0PR15Q3 closedvmromanos Create Price List process is slow 
blocks defect 0039349 closedAtulOpenbravo Return from Customer pick/edit lines process takes more time to be loaded on an environment with thousands of orders. 
blocks defect 0040865 closedAtulOpenbravo Set VOLATILITY LEVEL for Database functions 

-  Notes
shuehner (administrator)
2015-05-21 18:34

I think that may happen as part of adding support 'Functional indices' (tentatively thought of q4)

As you can only use functions for functional indices which marked as stable (at leasT)
hgbot (developer)
2019-04-02 09:57

Repository: erp/devel/pi
Changeset: d6ffa58fa832a1ca1e43767282a009e2c7ff5ab1
Author: Asier Lostalé <asier.lostale <at>>
Date: Tue Apr 02 09:57:08 2019 +0200
URL: [^]

fixes 29943: support to define DB functions volatility

M src-db/database/lib/dbsourcemanager.jar
hgbot (developer)
2019-04-02 09:58

Repository: erp/devel/dbsm-main
Changeset: 7e0ba43031c75b49de7b3d6dd70c2112fe9f8607
Author: Asier Lostalé <asier.lostale <at>>
Date: Tue Apr 02 09:54:41 2019 +0200
URL: [^]

fixes 29943: support to define DB functions volatility

M .classpath
M .settings/org.eclipse.jdt.core.prefs
M build.xml
M src-test/model/functions/SIMPLE_FUNCTION.xml
M src-test/src/log4j2-test.xml
M src-test/src/org/openbravo/dbsm/test/base/
M src-test/src/org/openbravo/dbsm/test/model/
M src/mapping.xml
M src/org/apache/ddlutils/io/
M src/org/apache/ddlutils/model/
M src/org/apache/ddlutils/platform/
M src/org/apache/ddlutils/platform/
M src/org/apache/ddlutils/platform/oracle/
M src/org/apache/ddlutils/platform/oracle/
M src/org/apache/ddlutils/platform/postgresql/
M src/org/apache/ddlutils/platform/postgresql/
A src-test/model/functions/IMMUTABLE_FUNCTION.xml
A src-test/model/functions/STABLE_FUNCTION.xml
A src-test/src/org/openbravo/dbsm/test/model/
A src/org/apache/ddlutils/io/
caristu (developer)
2019-04-02 17:57

Reviewed as part of the project[1]

[1] [^]

- Issue History
Date Modified Username Field Change
2015-05-20 13:28 vmromanos New Issue
2015-05-20 13:28 vmromanos Assigned To => platform
2015-05-20 13:28 vmromanos Modules => Core
2015-05-20 13:28 vmromanos Triggers an Emergency Pack => No
2015-05-20 13:36 vmromanos Description Updated View Revisions
2015-05-20 13:36 vmromanos Tag Attached: Performance
2015-05-20 15:53 vmromanos Relationship added related to 0029664
2015-05-21 18:34 shuehner Issue Monitored: shuehner
2015-05-21 18:34 shuehner Note Added: 0077633
2018-10-19 08:09 vmromanos Relationship added blocks 0039349
2019-03-05 14:04 alostale Relationship added related to 0038179
2019-03-20 13:40 alostale Relationship added related to 0030179
2019-04-02 09:45 alostale Summary Add STABLE annotation support to db functions => support to define DB functions volatility
2019-04-02 09:46 alostale Review Assigned To => caristu
2019-04-02 09:46 alostale Assigned To platform => alostale
2019-04-02 09:46 alostale Description Updated View Revisions
2019-04-02 09:57 hgbot Checkin
2019-04-02 09:57 hgbot Note Added: 0110960
2019-04-02 09:57 hgbot Status new => resolved
2019-04-02 09:57 hgbot Resolution open => fixed
2019-04-02 09:57 hgbot Fixed in SCM revision => [^]
2019-04-02 09:58 hgbot Checkin
2019-04-02 09:58 hgbot Note Added: 0110961
2019-04-02 09:58 hgbot Fixed in SCM revision [^] => [^]
2019-04-02 17:57 caristu Note Added: 0110969
2019-04-02 17:57 caristu Status resolved => closed
2019-04-02 17:57 caristu Fixed in Version => 3.0PR19Q2
2019-05-13 18:16 AtulOpenbravo Relationship added blocks 0040865

Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker