3643 Commits

Author SHA1 Message Date
e3b419f58d [misc] client side parsing removing "//" single line comment 2025-07-04 17:36:23 +02:00
3b9bebd737 [misc] change maven oss to central since oss is now deprecated 3.5.4 2025-06-27 18:03:32 +02:00
81b0dccacb [misc] correct test certificate path 2025-06-24 18:00:22 +02:00
ce280ce3a9 [misc] ensure test stability with MySQL 2025-06-18 11:39:43 +02:00
2a916fff3f [misc] ensure pkcs testing 2025-06-18 11:16:47 +02:00
db2f3f9989 bump 3.5.4 version 2025-06-18 10:43:35 +02:00
bc3bec4f40 Merge branch 'develop'
# Conflicts:
#	.github/workflows/ci.yml
2025-06-18 10:35:42 +02:00
69114ab89b [CONJ-1260] DatabaseMetaData.getExportedKeys may be slow 2025-06-18 09:53:32 +02:00
413760da0f [misc] correct schedule on maintenance version 2025-06-16 17:09:37 +02:00
b58aa848b3 [CONJ-1261] Provide an option to cache the results of loadCodecs 2025-06-13 16:49:56 +02:00
ec452a7bb8 [misc] connect to docker if env set 2025-06-11 16:04:03 +02:00
70ff8bd496 [misc] add server ca + pkcs12 test 2025-06-11 13:32:05 +02:00
b9c31cf350 [misc] correct github action default java version 2025-06-10 18:16:21 +02:00
65c4d55fa2 [misc] remove skysql and xpand tests 2025-06-10 18:16:16 +02:00
18670dbbd7 [misc] correct github action default java version 2025-06-10 17:48:47 +02:00
4996ad30e7 [misc] remove skysql and xpand tests 2025-06-10 17:43:48 +02:00
8091e060d4 [misc] github action script simplification
(cherry picked from commit 407150a877)
2025-06-07 15:04:17 +02:00
407150a877 [misc] github action script simplification 2025-06-07 15:03:48 +02:00
0ed436f7d3 [misc] correcting label on github action 2025-06-06 14:51:49 +02:00
5f2773d2db [misc] correcting label on github action 2025-06-06 14:51:27 +02:00
e9e07fea72 [misc] add github action cron
(cherry picked from commit a011d3ca59)
2025-06-06 11:35:05 +02:00
a011d3ca59 [misc] add github action cron 2025-06-06 11:34:41 +02:00
feb5edf83d [misc] github action testing by default all maintained / develop branches 2025-06-06 10:51:31 +02:00
2705401773 Merge pull request #207 from rusher/master
[misc] add correct CI badge
2025-06-06 10:46:07 +02:00
1c17ff07ef [misc] add correct CI badge 2025-06-06 10:31:43 +02:00
3ea02b37e4 [misc] action script improvement 2025-06-06 10:23:23 +02:00
a6e6a7eb77 [misc] test stability improvement
(cherry picked from commit a5b1b266ed)
2025-06-06 10:22:55 +02:00
92e797f827 [misc] Metadata compatibility with MariaDB 12.0
(cherry picked from commit 05d55b3321)
2025-06-06 10:21:29 +02:00
89e0a6ded7 [misc] action script improvement 2025-06-06 10:02:44 +02:00
5266f395c7 Merge pull request #206 from rusher/master
Use github action CI
2025-06-06 09:40:11 +02:00
3d23d5bc86 [CONJ-1258] github action 2025-06-06 09:38:56 +02:00
a5b1b266ed [misc] test stability improvement 2025-06-06 09:38:00 +02:00
05d55b3321 [misc] Metadata compatibility with MariaDB 12.0 2025-06-06 09:37:49 +02:00
f0971365f0 [misc] removing the packet skipping method.
java skipping is just a normal read in a temporary byte buffer. This avoids useless code (and temporary buffer creation)
2025-05-23 11:59:25 +02:00
aa40bbe47a [misc]code style correction 2025-05-23 11:56:53 +02:00
f6724cc98f [CONJ-1256] returns server real catalog name 2025-05-23 11:00:50 +02:00
9df73f7d24 Merge pull request #204 from emaccaull/fix/pool-lock-contention
Speed up concurrent pool creation
2025-05-23 09:47:16 +02:00
ed969515ad [CONJ-1234] correct type definitions in DatabaseMetaData.getTypeInfo() 2025-05-21 19:05:08 +02:00
0dc7feef16 [misc] Fix test data inconsistencies and align expected type info.
Renamed variables and reordered type info arrays in `DatabaseMetadataTest` to ensure consistency with database changes. Adjusted table and procedure names in `ProcedureParameterTest` to reflect proper usage and avoid conflicts. These changes improve clarity and maintain test accuracy.
2025-05-21 19:01:12 +02:00
0a46108f10 [CONJ-1255] getString on BIT(1) field doesn't respect transformedBitIsBoolean option 2025-05-21 18:52:17 +02:00
631c7eaf3f [CONJ-1254] DatabaseMetadata.getTypeInfo() might return wrong value for AUTO_INCREMENT, FIXED_PREC_SCALE and CASE_SENSITIVE 2025-05-21 16:31:39 +02:00
5281b67fea [CONJ-1252] GSSAPI error when exchanges from server starts with 0x01 byte 2025-05-19 18:35:14 +02:00
3481f52b33 [misc] code style correction 2025-05-19 17:46:25 +02:00
f293b34ec0 [misc] remove wrong test file 2025-05-14 13:45:15 +02:00
60b5d38ee1 [CONJ-1251] Zero SSL configuration only works when not setting SSL configuration 2025-05-14 13:45:15 +02:00
fca009dca0 [misc] provide better TLS error when using java standard system variables 2025-05-14 13:09:32 +02:00
cccf87ba7a Speed up concurrent pool creation
Initializing multiple pools in parallel incurred significant lock
contention on `poolMap` because this lock was held while any `Pool` was
being constructed (which could take several seconds).

Because of this, connecting to independent databases in parallel was not
possible (Pool creation was serialized), severely limiting overall
performance.

*Changes*

* Add `PoolHolder` to defer creation of `Pool` and act as a lock for
  each pool key.
* Insert a new `PoolHolder` while holding the `poolMap` lock, reducing
  global thread contention.
* Threads looking up the same key will acquire the same `PoolHolder` and
  that `PoolHolder` will ensure that only one `Pool` is created. Threads
  looking up unrelated `PoolHolder` will not be blocked by `Pool`
  creation.
* Make registerJxm/unRegisterJmx thread safe. When Pool creation
  happened in parallel, there were errors in the logs because `Pool` was
  attempted to be registered more than one.

*Testing*

This change should have no impact on functionality. Performance should
be improved when creating many Pools in parallel. Performance should
remain the same when creating `Pool` instances sequentially.

* Unit test added to validate that many pools can be created in parallel
  without issue.
* Tested against ~20 real DB servers and saw performance improvement.
  All connections were created at the same time on separate threads.
2025-05-12 12:33:34 -07:00
3999c0dcb1 [CONJ-1250] saving CallableStatement.getParameterMetaData() to avoid query each time 2025-05-09 16:57:18 +02:00
275b86bede [CONJ-1247] possible race condition resulting in an NPE 2025-03-31 19:49:34 +02:00
e4e414fab5 [misc] bump 3.5.4-SNAPSHOT version 2025-03-31 19:48:42 +02:00