Commit Graph

5369 Commits

Author SHA1 Message Date
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
Mark Struberg a7708636e3 remove unecessary boxing/unboxing - no functional change 2021-04-04 17:54:25 +02:00
Mark Struberg b0ba9c3e60 code cleanup without functional change
* remove unecessary valueOf
* remove ;;
* remove unused imports
* remove unnecessary casts
* etc
2021-04-04 17:09:04 +02:00
Mark Struberg 9458d1720b remove obsolete commented out code and modifiers 2021-04-04 16:22:26 +02:00
Mark Struberg 7a75ccd80a fix asciidoc 2021-04-04 16:22:05 +02:00
Mark Struberg 515756b823 OPENJPA-2648 map long to BIGINT 2021-04-04 15:11:28 +02:00
Mark Struberg 1c30090c8c OPENJPA-2859 use DOUBLE instead of NUMERIC
by default NUMERIC has no fraction digits, so rather use
DOUBLE data type which is a 64bit double value.
2021-04-04 13:51:21 +02:00
Mark Struberg 60cb785a3b update ant, hsqldb and log4j 2021-04-04 13:51:03 +02:00
Mark Struberg 6d4f951d62 OPENJPA-2858 also update commons-pool 2021-04-03 23:19:15 +02:00
Mark Struberg 7f92be5e2b OPENJPA-2858 update dbcp2 to 2.8.0 2021-04-03 22:57:06 +02:00
Mark Struberg e68083e8d0 move to org.junit.Assert 2021-04-03 18:04:22 +02:00
Mark Struberg 495fe202a3 disable test for databases which cannot handle large PKs
On MariaDB and MySQL the allowed size of compound primary keys is very limited.
This very test will not work with them. It's nothing JPA can heal, users
are restricted and have to work around it.
2021-04-03 16:08:56 +02:00
Mark Struberg 8d3acdc11e OPENJPA-2857 handle sqlState 70100 as QueryTimeoutException 2021-04-03 16:08:13 +02:00
Mark Struberg ab8090f556 OPENJPA-2856 improve MariaDB TIME handling
* java.sql.Time parameters must be on date Jan 1st 1970, otherwise MariaDB won't find anything in the DB
* from > 10 onwards MariaDB supports up to 6 fractions in TIME as well.
2021-04-03 08:42:28 +02:00
Mark Struberg 76225267d9 OPENJPA-2851 simplify comparison
since java.time classes are final we can also use == instead of isAssignableFrom
2021-04-02 20:46:41 +02:00
Mark Struberg 53cc83eb7e OPENJPA-1303 "KEY" is also a reserved word for columns 2021-04-02 18:00:03 +02:00
Mark Struberg f848e99a7b update docker-maven-plugin 2021-04-02 12:13:38 +02:00
Mark Struberg 6861dd1d02 OPENJPA-1303 differentiate btw COLUMN and COLUMN_DEF rules
Column names and Column definitions (the types, e.g. VARCHAR(20) ) have
different rules. We now can properly specify both of em.
2021-04-02 12:01:02 +02:00
Mark Struberg 8f96a5bd79 OPENJPA-2851 fix CURRENT_DATE with LocalDate and LocalDateTime
bug in unit test
2021-04-01 23:30:59 +02:00
Mark Struberg bd3f8ed57e fix checkstyle 2021-04-01 23:15:26 +02:00
Mark Struberg 6db4db7f51 OPENJPA-2851 fix CURRENT_DATE with LocalDate and LocalDateTime 2021-04-01 21:59:36 +02:00
Mark Struberg 2a3fc73861 OPENJPA-2855 revert PK name handling
Seems this got broken as side effect of dd9bce0cc9
which was for OPENJPA-2816. We need to check HerdDB again
2021-04-01 21:19:59 +02:00
Mark Struberg a3bf818402 remove unused import 2021-04-01 19:28:16 +02:00
Mark Struberg c3bbb92557 OPENJPA-2854 fix OffsetTime handling for PostgreSQL
PostgreSQL doesn't natively support OffsetTime. While it has a column type
time with time zone it actually only stores the time as UTC time.
2021-04-01 17:02:25 +02:00
Mark Struberg 20faa3692c fix OpenJPA and PostgreSQL docker setup 2021-04-01 16:50:49 +02:00
Mark Struberg 5b46dcc191 connection handling fixed
Connection was set to autoCommit, so no commit or rollback possible
2021-04-01 16:46:42 +02:00
Mark Struberg 93fe064300 Also disable for Oracle
Oracle also closes the JDBC Stream.
Most likely all other DBs now do it as well.
2021-04-01 16:45:37 +02:00
Mark Struberg f1871782cd fix a test to also work with MSSQL
SQL Server doesn't know BLOB data type, use IMAGE works
2021-03-31 21:40:01 +02:00
Mark Struberg e9f3f9cdfc OPENJPA-2883 fix handling of java.sql.Time on MSSQL 2021-03-31 19:11:08 +02:00
Romain Manni-Bucau 9a96e0cd89 [OPENJPA-2852] marking mojo as threadsafe 2021-03-31 10:18:24 +02:00
Mark Struberg 68aa6a3d17 OPENJPA-1303 KEY is also an invalid column name 2021-03-31 09:38:44 +02:00
Mark Struberg edf7a39852 add mssql and oracle docker images to documentation 2021-03-31 09:37:54 +02:00