Commit Graph

81 Commits

Author SHA1 Message Date
hengsin 6f110b2d2f IDEMPIERE-5963 Implement Sub-Partitioning and Detach Partition (#2150)
* IDEMPIERE-5963 Implement Sub-Partitioning and Detach Partition
Implement sub-partitioning for PostgreSQL
Implement sub-partitioning for Oracle
Implement detach/re-attach
2024-01-06 12:06:44 +01:00
hengsin 7878721bf3
IDEMPIERE-5943 Implement table partitioning support (#2145)
* IDEMPIERE-5943 Implement table partitioning support

Co-authored-by: etantg <etan@trekglobal.com>
2023-12-20 14:10:04 +08:00
Peter Takács 3bee3c94ac
IDEMPIERE-5886 - Add Foreign Key Constraint Error Message to AD_Column (#2069)
* IDEMPIERE-5886 - Add Foreign Key Constraint Error Message to AD_Column

* IDEMPIERE-5886 - small fixes

* IDEMPIERE-5886 - pr2069PR patch

Co-Authored-By: Carlos Ruiz <carg67@gmail.com>

---------

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
2023-10-25 10:11:40 +02:00
Carlos Ruiz c1d8a50b12
IDEMPIERE-5837 Collect all System Properties of iDempiere in one class (#1980) 2023-08-26 09:39:53 +08:00
hengsin afcbf6e70f
IDEMPIERE-5707 PostgreSQL should use FOR NO KEY UPDATE instead of FOR… (#1818)
* IDEMPIERE-5707 PostgreSQL should use FOR NO KEY UPDATE instead of FOR UPDATE

* IDEMPIERE-5707 PostgreSQL should use FOR NO KEY UPDATE instead of FOR UPDATE

- add trx timeout unit test
2023-05-05 19:41:43 +02:00
matheus-marcelinux ac81f3529b
IDEMPIERE-5468 - Negate option in parameter panel when component is a Chosen Multiple Selection (#1567)
* # IDEMPIERE-5468 - implement negate option for chosen multiple selection components as process parameter

* # IDEMPIERE-5468 - Negate option in parameter panel when component is a Chosen Multiple Selection

* IDEMPIERE-5468 - ui improvements

* IDEMPIERE-5468 - adding old method signature

* IDEMPIERE-5468 - fix method comment

* # IDEMPIERE-5468 - fix missing methods

* IDEMPIERE-5468 - applying hengsins suggestion and translating tooltips
2022-12-01 13:20:25 +08:00
Jasper Siepkes 0173bbd296
Fixed user defined JDBC URL override not working. (#1499)
Fixes logic error in the way a user defined `jdbcUrl` in
`hikaricp.properties` is handled.

Additionally changed the default max pool size to the previous limit of
90 connections. PR #926 originally also had this but this apparantly
fell out. Testing showed that during first time server startup a flood
of connection can be made and a connection pool of 30 can be
overwhelmed and callers waiting on a connection will time-out.
2022-09-26 15:45:05 +08:00
Carlos Ruiz ac36849415
IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#1486) 2022-09-14 10:21:47 +08:00
Jasper Siepkes 861e3ad01f
IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926)
* Replaced PostgreSQL and Oracle connection pools with HikariCP.

Replaced C3P0 with HikariCP. HikariCP is a Apache licensed connection pool with substantially better performance and better resilience to failure (DB disconnects, etc.) then C3P0. Read more about it here: https://github.com/brettwooldridge/HikariCP .

Cleaned up the `getCachedConnection` method. With HikariCP there is no need to retry to obtain a connection since getting an connection will block until a free connection is available or until a timeout is reached (default 30 seconds) at which point an `SQLException` is thrown. This also removed calling `Runtime.getRuntime().runFinalization();`. HikariCP is currently configured to detect / log leaks when a connection hasn't returned to the pool for longer then 5 minutes.

Loading of pool config properties was cleaned up. Defaults are now loaded from a single file instead of defaults coming from both file and hardcoded properties. It is now also possible to specify any HikariCP property in the user pool property file.

Initialization of the datasource must happen in the `getDataSource()` method because at object construction not all JDBC config is known. However this method could (as far as I could tell) be called concurrently from multiple threads but had no mechanism to prevent initializing the DB pool multiple times. The variable in which the pool itself was stored (`m_ds`) also was not marked volatile or immutable which could lead to visibility issues. Instead of lazy initialization of the pool in the `getDataSource()` method the pool could probably better be initialized at object construction. However I wasn't able to achieve that without breakage therefor I made the initialization mechanism work correctly with concurrent invocations.

Various config options such as the `MaxStatementsPerConnection` options were removed because HikariCP doesn't support them.

* (Re)added Sequence time-out.
2022-09-10 12:21:57 +02:00
hengsin 288e96fe8d
IDEMPIERE-5376 CConnection and DB clean up (#1441)
* IDEMPIERE-5376 CConnection and DB clean up

* IDEMPIERE-5376 CConnection and DB clean up

- More clean up
2022-08-13 12:05:52 +02:00
Carlos Ruiz 486ae19cdc
IDEMPIERE-5355 Improve default trx name (FHCA-3765) (#1407)
* IDEMPIERE-5355 Improve default trx name (FHCA-3765)

* IDEMPIERE-5355 Improve default trx name (FHCA-3765)

Implement suggestions from Heng Sin
Added SysConfig TRX_AUTOSET_DISPLAY_NAME (default false)

* Delete test/debugging code committed by mistake

* IDEMPIERE-5355 fix method wrongly named
2022-07-26 14:08:32 +08:00
hengsin d2e52bbb86
IDEMPIERE-5262 Implement readonly protection for DB.getSQLValueEx call (#1287)
* IDEMPIERE-5262 Implement readonly protection for DB.getSQLValueEx call

* IDEMPIERE-5262 Implement readonly protection for DB.getSQLValueEx call
2022-05-06 11:14:11 +02:00
hengsin 13b37c4acc
IDEMPIERE-5093 Scheduler cron pattern scheduling is always using serv… (#1270)
* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone

* minor fix for oracle/202203240830_IDEMPIERE-5093.sql

* IDEMPIERE-5093 cheduler cron pattern scheduling is always using server time zone

- add time zone comment for cronpattern field
- use fix format for elapsed time (day'hour:minutes:seconds.millisecond)
- use time zone formatting at server monitor
- include etc/gmt* timezone id. fix handling of invalid user input
- fix wrong editor (date) use for timestamp with time zone field

* IDEMPIERE-5093 cheduler cron pattern scheduling is always using server time zone

- Fix MSchedule.getNextRunMS call.

* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone

- add T_Timestamp to Test table and window.
- fix date time editor doesn't capture seconds for timestamp with time
zone.
- date time editor: use tenant time zone (if set), fallback to browser
time zone.
- date time editor: fix processing of timestamp with time zone value.
- time zone editor: drop the confusing etc/gmt* entries and support
entry of GMT(+/-)hh:mm custom zone id.

* IDEMPIERE-5093 Scheduler cron pattern scheduling is always using server time zone

Fix NPE

Co-authored-by: Carlos Ruiz <carg67@gmail.com>
2022-04-22 21:28:51 +02:00
igorpojzl 60f76d9edf
IDEMPIERE-5147 Improve Query.first() methods - performance (#1124)
* IDEMPIERE-5147  Improve Query.first() methods - performance

* IDEMPIERE-5147 Query Fix move buildSQL

* IDEMPIERE-5147 Query Fix sql value.

* IDEMPIERE-5147 DB paging Optimalizayion Patch

* IDEMPIERE-5147 Query test fix
2022-01-11 16:10:55 +01:00
hengsin f863f9b652
IDEMPIERE-5009 Syntax error while installing PackIn (native postgres) (#946)
* IDEMPIERE-5009 Syntax error while installing PackIn (native postgres)

* IDEMPIERE-5009 Syntax error while installing PackIn (native postgres)

Incorporate patch from Carlos
2021-10-26 13:05:44 +02:00
Carlos Ruiz cf5c04427b
IDEMPIERE-4991 Identify iDempiere JDBC connections in DBeaver or other session administration software (#913) 2021-10-08 16:12:52 +08:00
hengsin beaaf31d9a
IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler (#679)
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler

* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler

Fix initial output type selection for csv. Fix handling of binary vs
text media type.

* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler

- Change AD_AuthorizationAccount scope from single value to multiple
selection list (AD_AuthorizationScopes replace AD_AuthorizationScope)

* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler

Fix isIntersectCSV db function

* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler

add back AD_AuthorizationScope Configured dynamic validation filter
2021-05-12 13:42:55 +02:00
hengsin 59b83c3361
IDEMPIERE-4628 Implement configurable query timeout for info window (#532)
* IDEMPIERE-4628 Implement configurable query timeout for info window

* IDEMPIERE-4628 Implement configurable query timeout for info window

Move migration script from i8.2z to i8.2
2021-01-19 10:25:13 +08:00
hengsin 79657a2fca
IDEMPIERE-4613 Remove obsolete jdbctest class (#489) 2020-12-30 14:20:21 +01:00
Diego Ruiz da6d6b83aa
IDEMPIERE-4607 Cannot export windows via 2pack if any field has a Fie… (#483)
* IDEMPIERE-4607 Cannot export windows via 2pack if any field has a Field Group

* IDEMPIERE-4607 Implement changes discussed in JIRA - Add a new isList method to DisplayType

* IDEMPIERE-4607 Fixed typo

* IDEMPIERE-4607 Implement default method to return false by default - PR CarlosRuiz
2020-12-26 16:35:50 +01:00
Carlos Ruiz 7a957d8148
IDEMPIERE-4556 Cannot synchronize columns with a Payment Reference (#398) 2020-11-21 14:36:19 +08:00
hengsin 9162b60af7
IDEMPIERE-4498 Performance: add cache for osgi services factory (#321)
* IDEMPIERE-4498 Performance: add cache for osgi services factory

add cache for tableName -> IModelFactory

* IDEMPIERE-4498 Performance: add cache for osgi services factory

implement cache for the discovery of osgi services

* IDEMPIERE-4498 Performance: add cache for osgi services factory

added unit test
2020-10-26 18:53:10 +01:00
Carlos Ruiz 9075b6d84b
IDEMPIERE-4495 github code scanning alerts (#305)
* IDEMPIERE-4495 github code scanning alerts

Failure to use secure cookies

* Query built without neutralizing special characters
2020-10-17 14:11:12 +08:00
Carlos Ruiz d3c9804253
IDEMPIERE-4454 Implement filter for SQL debug - unify oracle and postgresql variable (#252) 2020-09-17 15:02:22 +02:00
Carlos Ruiz be525d178c
IDEMPIERE-4447 Add offset to Query (#243)
Add method Query.setRecordstoSkip
2020-09-04 21:42:14 +02:00
Carlos Ruiz a84adbad80
IDEMPIERE-4395 Cannot save valid strings in oracle - ORA-12899: value too large for column (#202) 2020-08-06 22:35:37 +08:00
hengsin 4a436c5157 IDEMPIERE-4180 Add DDL and Data Type methods to AdempiereDatabase interface 2020-03-03 17:27:53 +08:00
hengsin df5b0c2ea8 IDEMPIERE-4177 Replace SYSDATE with getDate() 2020-03-03 10:07:14 +08:00
Carlos Ruiz 0caa446721 IDEMPIERE-1093 Database: added connection pool properties file support / avoid requirement for org.jfree.io 2019-12-25 19:18:27 +01:00
Heng Sin Low f46b8afb5c IDEMPIERE-4098 CLogger usage pattern clean up 2019-11-12 20:49:55 +08:00
Heng Sin Low d00c07c2b9 IDEMPIERE-3413 Multi Select List and table reference 2019-06-24 18:23:41 +08:00
Carlos Ruiz 3ea6a2a17d IDEMPIERE-3887 Setup / Console-setup improvements 2019-02-09 14:26:45 +01:00
Carlos Ruiz 02009bc22d IDEMPIERE-3870 PackIn issue with transactions 2019-01-15 18:38:01 +01:00
Carlos Ruiz 7c023a5ac3 IDEMPIERE-3842 Cannot run Synchronize Column on oracle CLOB columns 2018-12-04 15:25:43 +01:00
Carlos Ruiz ac14fcd294 IDEMPIERE-3830 c3p0 defaults are not exploiting the power of c3p0 reliability 2018-11-28 22:17:48 +01:00
Carlos Ruiz c4af5b6523 IDEMPIERE-3585 Oracle APPARENT DEADLOCK warnings / set default for StatementCacheNumDeferredCloseThreads to zero - avoid problem about ORA-01000: maximum open cursors exceeded 2018-11-23 17:55:52 -02:00
Carlos Ruiz 0cf7b3b04f IDEMPIERE-3795 Oracle user System is 'fixed' on the code / Implement JVM variable -DADEMPIERE_DB_SYSTEM_USER to indicate a different user than system(oracle) or postgres(postgresql) - useful for AWS / fix problem with oracle stopping installation even if the database exists if the system password is not provided 2018-11-07 11:05:39 -02:00
hieplq 61a5fd1c21 IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (warning deprecated of constructer)
constance of BigDecimal move to RoundingMode
2018-10-24 09:48:52 +07:00
Nicolas Micoud 6fbb57307d IDEMPIERE-3738 Reference Color broken 2018-07-04 16:16:19 +02:00
Eduardo Jaremicki Moreira e85497d697 IDEMPIERE-3585 Oracle APPARENT DEADLOCK warnings - Correção Oracle 2018-01-19 13:15:57 +01:00
Carlos Ruiz e4c872275b IDEMPIERE-3586 Add pagination to Query / implement in generic way - info window now can paginate also in oracle 2018-01-19 12:06:46 +01:00
hieplq fc67e3d668 IDEMPIERE-2892:add config let out put log of c3p0 2015-10-19 20:37:01 +08:00
Carlos Ruiz d4b9295e70 IDEMPIERE-1440:line description alignment wrong on document printing / apply same patch from hieplq in other Pattern.compile 2015-07-28 20:52:33 -05:00
Carlos Ruiz 4e16d1c353 hg backout f7b39cb IDEMPIERE-2629 M_StorageOnHand Qty and Total M_Transaction Qty did not match 2015-06-24 19:25:05 -05:00
Carlos Ruiz 7c80d8caa4 IDEMPIERE-2629 M_StorageOnHand Qty and Total M_Transaction Qty did not match 2015-05-20 20:41:44 -05:00
Carlos Ruiz abd74af7bb IDEMPIERE-1157 Adding functionality to add charts on the standard windows / QA 2013-08-23 09:37:43 -05:00
Carlos Ruiz e6442936b4 hg merge release-1.0c (forward-porting) 2013-07-29 20:46:47 -05:00
Heng Sin Low 3c80de243c IDEMPIERE-1206 Drop obsolete QueryTimeout workaround for PostgreSQL JDBC Driver. 2013-07-29 15:36:46 +08:00
Carlos Ruiz 121ac12f86 IDEMPIERE-1195 Native Sequences is reseting start on DB failures 2013-07-23 18:13:20 -05:00
Elaine Tan a8731ef4a5 IDEMPIERE-1132 Improve AD_Index; AD_View; foreign keys management - Validation using unique AD_TableIndex 2013-07-16 19:08:06 +08:00