Commit Graph

5250 Commits

Author SHA1 Message Date
Mark Struberg 361da251a9 update docs for OpenJPA-3.2.0 2021-05-08 21:53:12 +02:00
Mark Struberg 271e3e50cf upgrade documentation for the next release 2021-05-08 17:18:33 +02:00
Mark Struberg e3fd21f0a2 OPENJPA-2871 update to xbean-4.20 2021-05-08 13:58:55 +02:00
Mark Struberg 49116c7f8e OPENJPA-2816 correct jdbc url for herddb-docker 2021-05-08 13:53:49 +02:00
Mark Struberg 25af7c35ee OPENJPA-2849 proper handling of different Date types 2021-05-07 23:07:41 +02:00
Mark Struberg 477d73a996 OPENJPA-2816 fix herddb jdbc driver class name 2021-05-05 07:33:50 +02:00
Enrico Olivelli f3c65f01ad Start HerdDB profile 2021-05-05 06:50:24 +02:00
Mark Struberg 6a7addea16 OPENJPA-2868 update invalid column names for PostgreSQL 2021-05-04 08:02:40 +02:00
Mark Struberg cb4e47b82c OPENJPA-2816 had to revert dd9bce0cc9 due to side effect
Changing the delimitedFromDb handling had a negative side effect on PostgreSQL.
Postgres uses all lower internally, thus comparing those from the db to the generated
columns does not get detected as equal, which leads to wrong metadata.

We have to come back to HerdDB and also need to re-evaluate DBDict#delimitAll.
2021-05-03 23:29:48 +02:00
Mark Struberg 813154a570 OPENJPA-2861 fix unit test
Boolean is the correct return value.
This should actually have been returned for all dictionaries.
The problem is that we always only return the _internal_ representation.
The reason is because CASE/WHEN can be used to return values, but also as subquery.
Now imagine a database uses 0 and 1 for false and true. If CASE/WHEN is used
as subquery we really have to return 0/1 (number) because otherwise the WHERE clause
would not fit. When not executing the query on a Entity, we do not know the target type.
So there is probably no way we can later do a BooleanRepresentation call to switch to boolean.
And this would also break existing applications.
2021-05-03 17:06:22 +02:00
Mark Struberg 31d2d862b7 OPENJPA-2868 update invalid columNames for Oracle 2021-05-02 23:14:33 +02:00
Mark Struberg 8e18fdbbbc OPENJPA-2865 add compat check for WITH_TIMEZONE cols 2021-05-02 23:14:33 +02:00
Mark Struberg c780084ccd OPENJPA-2870 update spec metadata to 2.2 2021-05-02 23:03:10 +02:00
Mark Struberg f8667f564d OPENJPA-2868 reserved column names for HSQLDB 2021-05-02 22:22:00 +02:00
Mark Struberg 8e3b81521f switch back to dbcp for oracle as well 2021-05-02 21:54:05 +02:00
Mark Struberg d78bfc47cb OPENJPA-2866 fix identifier unit test
Oracle now supports IDENTITY columns since a very long time.
No need to rely on ancient index creation stuff.
2021-05-02 21:53:12 +02:00
Mark Struberg 5dc56fa17b OPENJPA-2868 update invalidColumnNames for MariaDB 2021-05-02 17:14:58 +02:00
Mark Struberg d8b3fd87ff OPENJPA-2868 add tested reserved word list for MS SQLServer
no list has previously been maintained.
2021-05-02 16:45:43 +02:00
Mark Struberg b99e2dba29 OPENJPA-2868 fix invalidColumnNames for MySQL 2021-05-02 16:11:56 +02:00
Mark Struberg 8f959cc3a5 OPENJPA-2868 update reserved column names for H2 2021-05-02 15:37:06 +02:00
Mark Struberg 90ba3b8d5d fix Spec compat tests to work with all DBs
test should rely on whether KEY is a reserved word or not.
2021-05-02 15:36:05 +02:00
Mark Struberg d8bb07fe86 OPENJPA-2868 update reserved column words for Derby 2021-05-02 14:31:17 +02:00
Mark Struberg 188ed235dc OPENJPA-2867 generated pastable java code
also add more reserved words
2021-05-02 14:11:41 +02:00
Mark Struberg 7d3c89c515 OPENJPA-2867 add a way to test reserved words 2021-05-02 12:30:34 +02:00
Mark Struberg adf5ad393d update poms to 3.2.0-SNAPSHOT
as discussed on the list - the next release will be 3.2.0
2021-04-24 11:39:25 +02:00
Francesco Chicchiriccò a850031d11 Revert "OPENJPA-2800 mark additional fields and methods as synthetic"
This reverts commit 5b67ce5180.
2021-04-21 12:13:46 +02:00
Mark Struberg 5b67ce5180 OPENJPA-2800 mark additional fields and methods as synthetic
When enhancing an Entity we add a few fields and additional methods.
Those elements should properly get marked as synthetic.
2021-04-19 21:13:07 +02:00
Mark Struberg 919154ce69 remove unused import 2021-04-18 23:19:17 +02:00
Mark Struberg eb2dbec127 OPENJPA-2789 close connection after bulk delete
while ResultSetResult closes the underlying connection we did loose this handling in
JDBCStoreQuery when XROP sharding got added.
2021-04-18 23:05:50 +02:00
Mark Struberg d5ac99d402 move back to Oracle11XE docker
the o18 docker image I did try was simply what we needed.
While the o11xe is not suitable for running the full test wuite
it is perfectly fine for running single tests.
2021-04-10 19:10:39 +02:00
Mark Struberg 7607653792 test needs Oracle specific create table stmt 2021-04-10 17:18:41 +02:00
Mark Struberg 3b51096dae OPENJPA-2866 no need to test JDBC2 feature
Oracle comes with JDBC4. We can safely assume that
Statement#getGeneratedKeys is always available.
Oracle relies on it and will fail without.
2021-04-10 17:06:59 +02:00
Mark Struberg d6a64bebcd OPENJPA-2866 Oracle GenerationType#IDENTITY support
we will now create a column definition
"GENERATED ALWAYS AS IDENTITY"
for auto-increment columns.
2021-04-10 12:27:37 +02:00
Mark Struberg 2408ff7d9e tests which do not commit are not likely to fail... 2021-04-10 12:27:07 +02:00
Mark Struberg bb214f93d4 fix TestQueryExcludingSubclasses sorting
The sorting behaviour of characters )'a..z, A..Z') and
numbers (0..9) is depending on NLS. For e.g. german NLS
in Oracle 0 comes only after z, so we get esub1,esub2,e1,e2
while on some other databases we get e1,e2,esub1,esub2.
Easy fix is to have the second position also a Character to
force a distinctive order over all different databases and
settings.
2021-04-10 11:39:57 +02:00
Mark Struberg d6a19dd56a Oracle seems to have changed their error handling.
They now (tested with Oracle 18) behave more like other databases,
so we should validate whether one of the described error situations got
catched.
2021-04-10 11:11:21 +02:00
Mark Struberg c89a94abd8 reduce loop count because that test takes 2 minutes 2021-04-10 11:10:51 +02:00
Mark Struberg 59a8586855 OPENJPA-2865 use java.time handling from JDBC driver 2021-04-09 14:26:51 +02:00
Mark Struberg c7539a1171 new oracle docker image
The old OracleX11 was plagued with connection problems,
which seems to be a known problem with that version.
2021-04-09 14:22:53 +02:00
Mark Struberg 683e78045c OPENJPA-2863 use MICROS for TIMESTAMP precision in Oracle
Default type for Oracle is TIMESTAMP(6) but somehow we did only
round to 3 fraction digits in the past.
Can be tweaked to the old value via DBDictionary config in persistence.xml
2021-04-08 14:55:28 +02:00
Mark Struberg a68835381e OPENJPA-2864 use Timestamp precision from Column if set 2021-04-08 14:54:22 +02:00
Mark Struberg 0fc957a02b OPENJPA-2861 fix Raw handling
Raw did loose the internal type. Once 'interned' to Raw the type was always String.class.
And this broke quite a few return type situations in quite a nasty way.
2021-04-06 22:30:10 +02:00
Mark Struberg 5fd5de9fb8 OPENJPA-2862 select SUM return types fixed
As per spec section 4.8.5 Aggregate Functions in the SELECT
clause we need to handle a few types in a special way
2021-04-06 22:29:16 +02:00
Mark Struberg bb5503b147 OPENJPA-2861 add unit tests for select sum(case..) 2021-04-06 20:01:59 +02:00
Mark Struberg 3647e4e257 OPENJPA-2665 typed Collection
no functional change
2021-04-06 12:01:11 +02:00
Mark Struberg 2d3c6e6ee0 clean up unit test
no need to call em.persist inside the loop on the same entity over again.
2021-04-06 11:58:19 +02:00
Mark Struberg f1eee206a9 update test-oracle profile 2021-04-06 06:52:08 +02:00
Mark Struberg 044c7d27b1 OPENJPA-2860 PostgreSQL >= 10 supports setQueryTimeout 2021-04-05 18:16:48 +02:00
Mark Struberg 1fb5234574 OPENJPA-2665 use modern for loops
no functional change, just java lang updates
2021-04-05 08:47:46 +02:00
Mark Struberg d73e2e72f0 collapse Exceptions and use Diamond style 2021-04-04 18:32:35 +02:00