Commit Graph

102 Commits

Author SHA1 Message Date
hengsin 54018821f1 IDEMPIERE-5943 Implement table partitioning support (#2203)
* IDEMPIERE-5943 Implement table partitioning support

- Fix issues with view and functional index

* IDEMPIERE-5943 Implement table partitioning support

- fix compatibility issue with PostgreSQL 16.1
2024-02-06 10:11:10 +01:00
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
Carlos Ruiz 3f912767a3
IDEMPIERE-5943 Implement table partitioning support (#2151)
* IDEMPIERE-5943 Implement table partitioning support

* - make it compatible with user preference Use Similar To
2023-12-21 06:41:11 +08: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
Carlos Ruiz 07ecea1494
IDEMPIERE-5509 Implement readonly query without using Trx - fix issue with native sequences in PostgreSQL (#1815) 2023-05-01 19:26:16 +08: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
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
Carlos Ruiz bedf226a21
IDEMPIERE-5191 SEARCH FAILURE BY DATE AND HOUR / IDEMPIERE-4962 IDEMPIERE-4724 (#1188) 2022-02-18 13:32:45 +08:00
Carlos Ruiz 06e9071a82
IDEMPIERE-4962 Performance: change PostgreSQL native dialect mode default to true / revert partially f4894c4cb (#1138)
Regression for problem solved at IDEMPIERE-4465 Native Postgres - Error on Convert Layer
Revert the changes on Convert_PostgreSQL and Convert_PostgreSQLTest
Fix the Convert_PostgreSQLTest to allow testing native and non-native cases
2022-01-19 21:06:20 +08: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 29f5186d41
IDEMPIERE-5047 iDempiere Server Monitor Improvements (#988) 2021-11-19 16:04:54 +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 f4894c4cb5
IDEMPIERE-4962 Performance: change PostgreSQL native dialect mode default to true (#889)
- minor refinement and fix Convert_PostreSQLTest
2021-09-20 10:53:30 +02:00
hengsin e78496e954
IDEMPIERE-4962 Performance: change PostgreSQL native dialect mode default to true (#879) 2021-09-14 17:32:38 +02: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 71049fa02b
IDEMPIERE-4465 Native Postgres - Error on Convert Layer (#400)
* IDEMPIERE-4465 Native Postgres - Error on Convert Layer

* IDEMPIERE-4465 Native Postgres - Error on Convert Layer
2020-11-21 14:28:35 +08:00
Carlos Ruiz 599e13dda3
IDEMPIERE-4462 (#263)
Integrate patch from Paul Bowden (Adaxa)

Co-authored-by: Paul Bowden <pbowden@adaxa.com>
2020-09-18 12:45:20 +02:00
Carlos Ruiz 703ce7bda8
IDEMPIERE-4289 Implement Support for JUnit5 Unit Testing (#262)
Move the old Convert_PostgreSQLTest to the new structure
2020-09-18 12:17:40 +02: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 895f766307 IDEMPIERE-4182 Add Ini property to turn off Oracle to PostgreSQL translation. Fix paging not working for native dialect. 2020-03-10 09:47:26 +08:00
hengsin 4a436c5157 IDEMPIERE-4180 Add DDL and Data Type methods to AdempiereDatabase interface 2020-03-03 17:27:53 +08:00
hengsin 26e764c2a2 IDEMPIERE-4177 Replace SYSDATE with getDate(). Add SYSDATE to getDate() translation for native dialect. Still needed as there are still many usage of SYSDATE in the Application Dictionary. 2020-03-03 16:25:54 +08:00
hengsin 8445b0cb3d IDEMPIERE-4179 Add quote column name support to AdempiereDatabase
interface
2020-03-02 23:02:00 +08:00
hengsin 41711e3437 IDEMPIERE-4182 Add Ini property to turn off Oracle to PostgreSQL
translation
2020-03-02 21:20:50 +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 cb9bc48031 IDEMPIERE-1906 Use postgresql SIMILAR TO instead of LIKE / fix Synchronize Terminology broken when using SIMILAR TO 2018-12-11 14:45:56 +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 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
Carlos Ruiz 14536e9848 IDEMPIERE-3653 Hazelcast improvements / make explicit DB_PostgreSQL cache as non-distributed (it was already non distributed because postgres plugin start before hazelcast instance) / add commands hazelcastStatus and hazelcastObjects to OSGi console (thanks to Eduardo Moreira eduardojm for the idea and code) 2018-03-13 17:40:12 -03:00
Carlos Ruiz 3bc0e45599 IDEMPIERE-3653 1008016 Remove max size limit for msg and element cache. Some cache adjustment. Remove backup of hazelcast map. / integrate partial patch from hengsin 2017-05-25 16:49:51 +08:00
Carlos Ruiz 7c0bffa908 IDEMPIERE-1906 Use postgresql SIMILAR TO instead of LIKE 2018-01-19 23:02:46 +01:00