Commit Graph

603 Commits

Author SHA1 Message Date
Mark Paluch
d24ca640f7 DATAJDBC-573 - Polishing.
Remove unused imports, reformat code. Tweak logging.

Original pull request: #237.
2020-07-14 16:49:23 +02:00
Jens Schauder
1bfa629aa3 DATAJDBC-573 - Fixes the wait strategy for Oracle data sources.
Oracle integration tests where failing when the docker container was freshly started,
as it happens every time on CI.

The reason was mainly a misuse of Awaitility.ignoreException(Class) which only ignores exception of exactly the class provided, not of subtypes.

Apart from fixing this for Oracle the complete logic for verifying the connection was moved to DataSourceConfiguration so other database use it as well in a consistent manner.

Original pull request: #237.
2020-07-14 16:49:11 +02:00
Jens Schauder
c6c31dea48 DATAJDBC-569 - Removes unused TestDatabaseFeatures.
Original pull request: #236.
2020-07-14 16:41:26 +02:00
Jens Schauder
0fe4f4f2f9 DATAJDBC-569 - Use JdbcUtils to obtain values from a ResultSet.
Original pull request: #236.
2020-07-14 16:41:17 +02:00
Mark Paluch
08d71817a9 DATAJDBC-572 - Polishing.
Reorder methods in EnableJdbcRepositories to match other stores. Reformat code.

Original pull request: #235.
2020-07-13 16:27:25 +02:00
Jens Schauder
d3f4bce539 DATAJDBC-572 - Enable specification of a repository base class.
Added the field to `EnableJdbcRepository` and respect it's value by instantiating the repository base class reflectively.

Original pull request: #235.
2020-07-13 16:27:16 +02:00
Mark Paluch
b28e4e07c6 DATAJDBC-256 - Polishing.
Rename RequiredFeature to EnabledOnFeature to align with JUnit terminology. Use RunWith instead of Spring rules. Reformat code. Update documentation.

Original pull request: #232.
2020-07-13 14:14:42 +02:00
Jens Schauder
4eb92abd8f DATAJDBC-256 - Run integration tests with Oracle.
An Oracle database is started in Docker using Testcontainers.
Tests that don't work yet are skipped using the TestDatabaseFeatures which allows central control, which database supports which feature.

A suitable oracle image is deployed on DockerHub as  "springci/spring-data-oracle-xe-prebuild:18.4.0".
 The official Oracle docker images as described here https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md are not suitable since it needs about 15min to start and also TestContainers seems to break it by trying to us it to early.
 The referenced image was created based on these instructions: https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/samples/prebuiltdb

The following features don't yet work for Oracle:

* Loading of date like properties.
* Ids with custom names.
* Array support.
* Boolean properties.
* BigDecimals and BigInteger is limited to what fits into Oracles NUMBER data type.
* Entities that use a join during load time, i.e. with a one to one relationship.

Original pull request: #232.
2020-07-13 14:11:48 +02:00
tlang
4238f44219 DATAJDBC-256 - First step toward running integration tests with Oracle.
Original pull request: #223, #232.
2020-07-13 14:11:43 +02:00
Jens Schauder
0c5a8c2b61 DATAJDBC-570 - Removes the AS for join table aliases.
The AS is not supported by Oracle and all other databases are fine without it.

Original pull request: #234.
2020-07-07 14:43:41 +02:00
Patrick Lucas
a5abd814b4 DATAJDBC-559 - Support MariaDB in DialectResolver.
Original pull request: #231.
2020-06-25 13:59:27 +02:00
Jens Schauder
6a4c4a1f15 DATAJDBC-559 - Upgrading the MariaDB JDBC driver.
This changes the behavior of the JDBC driver from always returning `MySQL` for product name to a more involved logic which might result in it returning  `MariaDB`.

Original pull request: #231.
2020-06-25 13:59:27 +02:00
Mark Paluch
d9f856702e DATAJDBC-541 - After release cleanups. 2020-06-25 11:58:22 +02:00
Mark Paluch
365f8483b3 DATAJDBC-541 - Prepare next development iteration. 2020-06-25 11:58:19 +02:00
Mark Paluch
6f9b9cbca6 DATAJDBC-541 - Release version 2.1 M1 (2020.0.0). 2020-06-25 11:48:49 +02:00
Mark Paluch
b2cdc000a4 DATAJDBC-541 - Prepare 2.1 M1 (2020.0.0). 2020-06-25 11:48:19 +02:00
Mark Paluch
363ce45db7 DATAJDBC-541 - Updated changelog. 2020-06-25 11:48:03 +02:00
Mark Paluch
9edac33912 DATAJDBC-540 - Updated changelog. 2020-06-10 14:30:57 +02:00
Mark Paluch
310bb0ae40 DATAJDBC-527 - Updated changelog. 2020-06-10 12:29:56 +02:00
Mark Paluch
0ff747223b DATAJDBC-525 - Updated changelog. 2020-06-10 11:33:15 +02:00
Andy Garfield
75bdf04a34 DATAJDBC-555 - Polishing.
Fixes a typo.

Original pull request #228.
2020-06-10 10:35:58 +02:00
Jens Schauder
080d3af504 DATAJDBC-555 - Polishing.
Removed redundant content.
Change to active voice.
Formatting.

Original pull request: #225.
2020-06-10 10:35:49 +02:00
Mark Paluch
8ef047c3a6 DATAJDBC-555 - Document supported databases.
Original pull request: #225.
2020-06-10 10:35:39 +02:00
Mark Paluch
e560ca67de DATAJDBC-555 - Add common reference documentation sections.
Original pull request: #225.
2020-06-10 10:35:29 +02:00
Mark Paluch
66c6c8e881 DATAJDBC-555 - Polishing.
Fix formatting.

Original pull request: #225.
2020-06-10 10:34:47 +02:00
Mark Paluch
c4a0b86725 DATAJDBC-561 - Use standard Spring code of conduct.
Using https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md.
2020-06-09 16:05:51 +02:00
Mark Paluch
eeeb188117 DATAJDBC-560 - Fix Criteria mapping when composing a group from top-level criteria.
Using Criteria.from(…) with multiple Criteria objects now uses properly AND combination along with group nesting to render a correct criteria. Previously, the INITIAL combinator in groups caused a mapping exception.
2020-06-09 15:31:14 +02:00
Mark Paluch
81aba29fda DATAJDBC-546 - Skip property population if entity can be constructed entirely using a full constructor. 2020-05-28 13:54:30 +02:00
Mark Paluch
24ce2a9ba4 DATAJDBC-547 - Polishing.
Add scripts for DB2 after rebase.

Original pull request: #221.
2020-05-27 13:11:55 +02:00
Mark Paluch
ccfe820dab DATAJDBC-547 - Polishing.
Let SqlIdentifier implement Streamable<SqlIdentifier> to allow iteration of composed identifiers.
Adapt dialect to iteration changes.

Rewrite simple if blocks to using ternary operators.

Original pull request: #221.
2020-05-27 10:01:44 +02:00
Jens Schauder
d3e6db2cce DATAJDBC-547 - Fixes lock statement for fully qualified table names in PostgreSQL.
Original pull request: #221.
2020-05-27 10:01:39 +02:00
Jens Schauder
2336838e26 DATAJDBC-539 - Polishing.
Original pull request: #217.
2020-05-25 16:17:40 +02:00
Mark Paluch
c2386b6049 DATAJDBC-539 - Fix parameter wrapping for IN criteria.
We now no longer double-wrap parameters for IN criteria. Previously, collection arguments were wrapped into another collection which caused double-wrapped lists.

Original pull request: #217.
2020-05-25 16:17:20 +02:00
Jens Schauder
4ee9eb8df5 DATAJDBC-544 - Removes all Lombok from production code. 2020-05-20 15:44:03 +02:00
Jens Schauder
dedaf34614 DATAJDBC-545 - Fix support of setting properties via constructor. 2020-05-19 14:46:39 +02:00
Jens Schauder
8e63084162 DATAJDBC-412 - Polishing.
Added an integration test because you never can tell with databases.
2020-05-15 17:04:33 +02:00
Christoph Strobl
6f2bb59ceb DATAJDBC-412 - Support custom single value types in id.
Custom value types like outlined below can now server as id property

public class IdValue {
	String id;
}

public class DomainType {

	@Id
	IdValue id;
	String value;

	// ...
}
2020-05-15 15:30:41 +02:00
Mark Paluch
fc74fa9975 DATAJDBC-542 - Polishing.
Initialize map with capacity. Fix generics.

Original pull request: #218.
2020-05-14 10:42:12 +02:00
Jens Schauder
30a6fb5654 DATAJDBC-542 - Fixes access to Identifier parts by String.
Enabled access to identifier parts by String arguments in order to make usage with MyBatis feasable.
Properly pass identifier information to MyBatis for insert statements.

Original pull request: #218.
2020-05-14 10:42:01 +02:00
Mark Paluch
ae70d9593c DATAJDBC-528 - After release cleanups. 2020-05-12 12:40:30 +02:00
Mark Paluch
463df9d415 DATAJDBC-528 - Prepare next development iteration. 2020-05-12 12:40:28 +02:00
Mark Paluch
44fdfc27bb DATAJDBC-528 - Release version 2.0 GA (Neumann). 2020-05-12 12:28:23 +02:00
Mark Paluch
ee190a15a7 DATAJDBC-528 - Prepare 2.0 GA (Neumann). 2020-05-12 12:27:59 +02:00
Mark Paluch
d6ee1cc0c6 DATAJDBC-528 - Updated changelog. 2020-05-12 12:27:45 +02:00
Mark Paluch
850dc4c758 DATAJDBC-538 - Polishing.
Reformat code.

Original pull request: #216.
2020-05-11 14:32:23 +02:00
Jens Schauder
3c9290483a DATAJDBC-538 - Fixes lock acquisition for DB2.
The DB2 driver requires one to access the `ResultSet` resulting from a SELECT FOR UPDATE.

See also:
* https://github.com/schauder/db2-locks
* https://stackoverflow.com/questions/61681095/how-to-obtain-a-lock-in-db2-with-select-for-update-without-transferring-data

Original pull request: #216.
2020-05-11 14:32:11 +02:00
Mark Paluch
0448148bec DATAJDBC-493 - Polishing.
Reformat code. Introduce assertions.
2020-05-11 10:57:57 +02:00
Jens Schauder
c3fb6d0d51 DATAJDBC-534 - Adds integration test for count projection.
Original pull request: #215.
2020-05-07 08:42:04 +02:00
mhyeon-lee
bc6c88f055 DATAJDBC-534 - Derived Query support for count projection.
Original pull request: #215.
2020-05-07 08:39:22 +02:00
Jens Schauder
aa05b792c3 DATAJDBC-493 - Polishing.
Using `execute` instead of `query` since we are not interested in the results.
Refactoring of the concurrency tests.
Make the concurrency tests run with all databases.
Added support for DB2.
Moved AnsiDialect to the main sources so it can be referenced in other Dialects.

Original pull request: #196.
2020-05-06 16:18:04 +02:00