mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a84695130 | ||
|
|
3f6d6908e2 | ||
|
|
9f4bf6103f | ||
|
|
ad7bb7063d | ||
|
|
04b4fea559 | ||
|
|
eb824949fe | ||
|
|
34db4d0c1f | ||
|
|
54a3113dbc | ||
|
|
7635630808 | ||
|
|
e4018864ac | ||
|
|
75e69a0a23 | ||
|
|
6061f80dcc | ||
|
|
c60525a685 | ||
|
|
eef628531a | ||
|
|
33d9257a61 | ||
|
|
7b032351b1 | ||
|
|
265f865a7d | ||
|
|
73d30310fd | ||
|
|
e26fbbb11f | ||
|
|
a548c16789 | ||
|
|
ecf650c9bc | ||
|
|
b27b4e7038 | ||
|
|
58d190ef12 | ||
|
|
bffc9108f9 | ||
|
|
114a715432 | ||
|
|
67d98954b2 | ||
|
|
53e7aafb06 | ||
|
|
e207b4720b | ||
|
|
af6da23411 | ||
|
|
21f274fd34 | ||
|
|
1b8df12a01 | ||
|
|
b210d1a6a7 | ||
|
|
d53ca87d43 | ||
|
|
635820cab5 | ||
|
|
aedb0fdcac | ||
|
|
4db1925328 | ||
|
|
6f2a444954 | ||
|
|
59b6621077 | ||
|
|
15a39f62e6 | ||
|
|
40489706ce | ||
|
|
742f3b6dc4 | ||
|
|
753617a616 | ||
|
|
114da00d98 | ||
|
|
283ab7a1ac | ||
|
|
096988c19f | ||
|
|
baf727e8ea | ||
|
|
2eb6558145 | ||
|
|
d946504503 | ||
|
|
ed94edd96b | ||
|
|
6441030161 | ||
|
|
82a6ec6957 | ||
|
|
cf1c08c4ac | ||
|
|
d32df16137 | ||
|
|
2bcbc6fa07 | ||
|
|
ba9158ec9c | ||
|
|
1ec389864d | ||
|
|
2d03421de4 |
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-clickhouse</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-clickhouse</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-cockroach</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-db2</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-db2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-h2</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-hana</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-hana</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-mariadb</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-mariadb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-mysql</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-mysql</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-nuodb</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-nuodb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-oracle</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-oracle</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-postgres</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-sqlite</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlite</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-sqlserver</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlserver</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean-yugabyte</name>
|
||||
@@ -16,13 +16,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -31,17 +31,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>composites</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean (all platforms)</name>
|
||||
@@ -16,31 +16,31 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-joda-time</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-jsonnode</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-mapper</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -49,17 +49,23 @@
|
||||
<version>${ebean-datasource.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-migration</artifactId>
|
||||
<version>${ebean-migration.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Technically optional but most expected to use query beans -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-all</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>composites</artifactId>
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean api</name>
|
||||
@@ -39,7 +39,7 @@
|
||||
<dependency>
|
||||
<groupId>io.avaje</groupId>
|
||||
<artifactId>avaje-config</artifactId>
|
||||
<version>3.1</version>
|
||||
<version>3.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.concurrent.Callable;
|
||||
* <h5>The 'default' Database</h5>
|
||||
* <p>
|
||||
* One Database can be designated as the 'default' or 'primary' Database
|
||||
* (see {@link DatabaseConfig#setDefaultServer(boolean)}. Many methods on DB
|
||||
* (see {@link DatabaseConfig#setDefaultServer(boolean)}). Many methods on DB
|
||||
* such as {@link DB#find(Class)} etc are actually just a convenient way to
|
||||
* call methods on the 'default/primary' Database.
|
||||
*
|
||||
@@ -166,7 +166,7 @@ public interface Database {
|
||||
/**
|
||||
* Return the BeanState for a given entity bean.
|
||||
* <p>
|
||||
* This will return null if the bean is not an enhanced entity bean.
|
||||
* This will throw an IllegalArgumentException if the bean is not an enhanced entity bean.
|
||||
*/
|
||||
BeanState beanState(Object bean);
|
||||
|
||||
|
||||
@@ -404,6 +404,7 @@ public interface ExpressionList<T> {
|
||||
*
|
||||
* }</pre>
|
||||
*/
|
||||
@Nullable
|
||||
default <A> A findSingleAttribute() {
|
||||
List<A> list = findSingleAttributeList();
|
||||
return !list.isEmpty() ? list.get(0) : null;
|
||||
|
||||
@@ -110,7 +110,7 @@ public final class ToStringBuilder {
|
||||
} else {
|
||||
String content = String.valueOf(value);
|
||||
if (content.length() > TRIM_LENGTH) {
|
||||
content = content.substring(0, TRIM_LENGTH) + " <trimmed>";
|
||||
content = content.substring(0, TRIM_LENGTH) + " (trimmed)";
|
||||
}
|
||||
sb.append(content);
|
||||
if (sb.length() >= MAX_TOTAL_CONTENT) {
|
||||
|
||||
@@ -673,7 +673,7 @@ public class DatabasePlatform {
|
||||
|
||||
protected String withForUpdate(String sql, Query.LockWait lockWait, Query.LockType lockType) {
|
||||
// silently assume the database does not support the "for update" clause.
|
||||
log.log(INFO, "it seems your database does not support the 'for update' clause");
|
||||
log.log(INFO, "it seems your database does not support the ''for update'' clause");
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package io.ebean.meta;
|
||||
|
||||
import io.ebean.ProfileLocation;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Meta data for captured query plan.
|
||||
*/
|
||||
@@ -51,4 +53,14 @@ public interface MetaQueryPlan {
|
||||
* Return the total count of times bind capture has occurred.
|
||||
*/
|
||||
long captureCount();
|
||||
|
||||
/**
|
||||
* Return the time taken to capture this plan in microseconds.
|
||||
*/
|
||||
long captureMicros();
|
||||
|
||||
/**
|
||||
* Return the instant when the bind values were captured.
|
||||
*/
|
||||
Instant whenCaptured();
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
<!-- <parent>-->
|
||||
<!-- <groupId>org.avaje</groupId>-->
|
||||
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
+30
-30
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean bom</name>
|
||||
@@ -89,112 +89,112 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-joda-time</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-jsonnode</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-mapper</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-externalmapping-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-externalmapping-xml</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-autotune</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>querybean-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>kotlin-querybean-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-postgis</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-redis</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-spring-txn</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- platforms -->
|
||||
@@ -202,67 +202,67 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-clickhouse</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-db2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-hana</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-mariadb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-mysql</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-nuodb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-oracle</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-sqlite</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-sqlserver</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
@@ -16,7 +16,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
+7
-9
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-core</artifactId>
|
||||
@@ -22,7 +22,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -46,13 +46,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-externalmapping-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -143,21 +143,21 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlserver</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -201,7 +201,6 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.0.0-M4</version>
|
||||
<configuration>
|
||||
<useSystemClassLoader>false</useSystemClassLoader>
|
||||
<trimStackTrace>false</trimStackTrace>
|
||||
@@ -229,7 +228,6 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.1.1</version>
|
||||
<configuration>
|
||||
<doctitle>Ebean 12</doctitle>
|
||||
<overview>src/main/java/io/ebean/overview.html</overview>
|
||||
|
||||
@@ -2,14 +2,16 @@ package io.ebeaninternal.api;
|
||||
|
||||
import io.ebean.meta.MetaQueryPlan;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Internal database query plan being capture.
|
||||
*/
|
||||
public interface SpiDbQueryPlan extends MetaQueryPlan {
|
||||
|
||||
/**
|
||||
* Extend with queryTimeMicros and captureCount.
|
||||
* Extend with queryTimeMicros, captureCount, captureMicros and when the bind values were captured.
|
||||
*/
|
||||
SpiDbQueryPlan with(long queryTimeMicros, long captureCount);
|
||||
SpiDbQueryPlan with(long queryTimeMicros, long captureCount, long captureMicros, Instant whenCaptured);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.ebeaninternal.api;
|
||||
|
||||
import io.avaje.lang.Nullable;
|
||||
import io.ebean.*;
|
||||
import io.ebean.bean.BeanCollectionLoader;
|
||||
import io.ebean.bean.CallOrigin;
|
||||
@@ -14,7 +15,6 @@ import io.ebeaninternal.server.deploy.BeanDescriptor;
|
||||
import io.ebeaninternal.server.query.CQuery;
|
||||
import io.ebeaninternal.server.transaction.RemoteTransactionEvent;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
@@ -137,7 +137,7 @@ public final class DefaultContainer implements SpiContainer {
|
||||
private void checkMissingModulePathProvides() {
|
||||
URL servicesFile = ClassLoader.getSystemResource("META-INF/services/io.ebean.config.EntityClassRegister");
|
||||
if (servicesFile != null) {
|
||||
log.log(ERROR, "module-info.java is probably missing 'provides io.ebean.config.EntityClassRegister with EbeanEntityRegister' clause. EntityClassRegister exists but was not service loaded.");
|
||||
log.log(ERROR, "module-info.java is probably missing ''provides io.ebean.config.EntityClassRegister with EbeanEntityRegister'' clause. EntityClassRegister exists but was not service loaded.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@ final class DefaultQueryPlanListener implements QueryPlanListener {
|
||||
// better to log this in JSON form?
|
||||
String dbName = capture.database().name();
|
||||
for (MetaQueryPlan plan : capture.plans()) {
|
||||
log.log(INFO, "queryPlan db:{0} label:{1} queryTimeMicros:{2} loc:{3} sql:{4} bind:{5} plan:{6}",
|
||||
dbName, plan.label(), plan.queryTimeMicros(), plan.profileLocation(),
|
||||
plan.sql(), plan.bind(), plan.plan());
|
||||
log.log(INFO, "queryPlan db:{0} label:{1} queryTimeMicros:{2} captureMicros:{3} whenCaptured:{4} captureCount:{5} loc:{6} sql:{7} bind:{8} plan:{9}",
|
||||
dbName, plan.label(), plan.queryTimeMicros(), plan.captureMicros(), plan.whenCaptured(), plan.captureCount(),
|
||||
plan.profileLocation(), plan.sql(), plan.bind(), plan.plan());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,13 +45,14 @@ import io.ebeaninternal.util.ParamTypeHelper;
|
||||
import io.ebeaninternal.util.ParamTypeHelper.TypeInfo;
|
||||
import io.ebeanservice.docstore.api.DocStoreIntegration;
|
||||
|
||||
import javax.persistence.EntityNotFoundException;
|
||||
import javax.persistence.NonUniqueResultException;
|
||||
import javax.persistence.OptimisticLockException;
|
||||
import javax.persistence.PersistenceException;
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.time.Clock;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.Callable;
|
||||
@@ -559,9 +560,9 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
|
||||
private void executeSql(Connection connection, @Nullable String sql) throws SQLException {
|
||||
if (sql != null) {
|
||||
try (PreparedStatement stmt = connection.prepareStatement(sql)) {
|
||||
try (Statement stmt = connection.createStatement()) {
|
||||
transactionManager.log().sql().debug(sql);
|
||||
stmt.execute();
|
||||
stmt.execute(sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -586,7 +587,11 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
*/
|
||||
@Override
|
||||
public <T> T createEntityBean(Class<T> type) {
|
||||
return descriptor(type).createBean();
|
||||
final BeanDescriptor<T> desc = descriptor(type);
|
||||
if (desc == null) {
|
||||
throw new IllegalArgumentException("No bean type " + type.getName() + " registered");
|
||||
}
|
||||
return desc.createBean();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -626,7 +631,11 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
// we actually need to do a query because we don't know the type without the discriminator
|
||||
// value, just select the id property and discriminator column (auto added)
|
||||
return find(type).select(idProp.name()).setId(id).findOne();
|
||||
T bean = find(type).select(idProp.name()).setId(id).findOne();
|
||||
if (bean == null) {
|
||||
throw new EntityNotFoundException("Could not find reference bean " + id + " for " + desc);
|
||||
}
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -873,13 +882,13 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
|
||||
@Override
|
||||
public <T> DtoQuery<T> findDto(Class<T> dtoType, String sql) {
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.getDescriptor(dtoType);
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.descriptor(dtoType);
|
||||
return new DefaultDtoQuery<>(this, descriptor, sql.trim());
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> DtoQuery<T> createNamedDtoQuery(Class<T> dtoType, String namedQuery) {
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.getDescriptor(dtoType);
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.descriptor(dtoType);
|
||||
String sql = descriptor.getNamedRawSql(namedQuery);
|
||||
if (sql == null) {
|
||||
throw new PersistenceException("No named query called " + namedQuery + " for bean:" + dtoType.getName());
|
||||
@@ -889,7 +898,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
|
||||
@Override
|
||||
public <T> DtoQuery<T> findDto(Class<T> dtoType, SpiQuery<?> ormQuery) {
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.getDescriptor(dtoType);
|
||||
DtoBeanDescriptor<T> descriptor = dtoBeanManager.descriptor(dtoType);
|
||||
return new DefaultDtoQuery<>(this, descriptor, ormQuery);
|
||||
}
|
||||
|
||||
@@ -2167,7 +2176,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
if (idProperty == null) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
Object id = idProperty.value(entityBean);
|
||||
Object id = idProperty.getValue(entityBean);
|
||||
if (entityBean._ebean_getIntercept().isNew() && id != null) {
|
||||
// Primary Key is changeable only on new models - so skip check if we are not new
|
||||
Query<?> query = new DefaultOrmQuery<>(beanDesc, this, expressionFactory);
|
||||
@@ -2195,10 +2204,10 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
ExpressionList<?> exprList = query.where();
|
||||
if (!entityBean._ebean_getIntercept().isNew()) {
|
||||
// if model is not new, exclude ourself.
|
||||
exprList.ne(idProperty.name(), idProperty.value(entityBean));
|
||||
exprList.ne(idProperty.name(), idProperty.getValue(entityBean));
|
||||
}
|
||||
for (Property prop : props) {
|
||||
Object value = prop.value(entityBean);
|
||||
for (BeanProperty prop : props) {
|
||||
Object value = prop.getValue(entityBean);
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+12
-12
@@ -768,7 +768,7 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
// find a join to that table...
|
||||
DeployBeanPropertyAssocOne<?> assocOne = descriptor.findJoinToTable(tableName);
|
||||
if (assocOne == null) {
|
||||
String msg = "Error with property " + prop.getFullBeanName() + ". Could not find a Relationship to table " + tableName
|
||||
String msg = "Error with property " + prop+ ". Could not find a Relationship to table " + tableName
|
||||
+ ". Perhaps you could use a @JoinColumn instead.";
|
||||
throw new RuntimeException(msg);
|
||||
}
|
||||
@@ -811,7 +811,7 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
Class<?> targetType = prop.getTargetType();
|
||||
DeployBeanInfo<?> info = deployInfoMap.get(targetType);
|
||||
if (info == null) {
|
||||
throw new PersistenceException("Can not find descriptor [" + targetType + "] for " + prop.getFullBeanName());
|
||||
throw new PersistenceException("Can not find descriptor [" + targetType + "] for " + prop);
|
||||
}
|
||||
return info.getDescriptor();
|
||||
}
|
||||
@@ -874,7 +874,7 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
}
|
||||
}
|
||||
// multiple options so should specify mappedBy property
|
||||
String msg = "Error on " + prop.getFullBeanName() + " missing mappedBy.";
|
||||
String msg = "Error on " + prop + " missing mappedBy.";
|
||||
msg += " There are [" + matchSet.size() + "] possible properties in " + targetDesc;
|
||||
msg += " that this association could be mapped to. Please specify one using ";
|
||||
msg += "the mappedBy attribute on @OneToMany.";
|
||||
@@ -919,7 +919,7 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
if (!oneToMany.getCascadeInfo().isSave()) {
|
||||
// The property MUST have persist cascading so that inserts work.
|
||||
Class<?> targetType = oneToMany.getTargetType();
|
||||
String msg = "Error on " + oneToMany.getFullBeanName() + ". @OneToMany MUST have ";
|
||||
String msg = "Error on " + oneToMany + ". @OneToMany MUST have ";
|
||||
msg += "Cascade.PERSIST or Cascade.ALL because this is a unidirectional ";
|
||||
msg += "relationship. That is, there is no property of type " + owningType + " on " + targetType;
|
||||
throw new PersistenceException(msg);
|
||||
@@ -983,14 +983,14 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
private DeployBeanPropertyAssocOne<?> mappedOneToOne(DeployBeanPropertyAssocOne<?> prop, String mappedBy, DeployBeanDescriptor<?> targetDesc) {
|
||||
DeployBeanProperty mappedProp = targetDesc.getBeanProperty(mappedBy);
|
||||
if (mappedProp == null) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + " Can not find mappedBy property " + targetDesc + "." + mappedBy);
|
||||
throw new PersistenceException("Error on " + prop + " Can not find mappedBy property " + targetDesc + "." + mappedBy);
|
||||
}
|
||||
if (!(mappedProp instanceof DeployBeanPropertyAssocOne<?>)) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a OneToOne?");
|
||||
throw new PersistenceException("Error on " + prop + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a OneToOne?");
|
||||
}
|
||||
DeployBeanPropertyAssocOne<?> mappedAssocOne = (DeployBeanPropertyAssocOne<?>) mappedProp;
|
||||
if (!mappedAssocOne.isOneToOne()) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a OneToOne?");
|
||||
throw new PersistenceException("Error on " + prop + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a OneToOne?");
|
||||
}
|
||||
return mappedAssocOne;
|
||||
}
|
||||
@@ -1073,10 +1073,10 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
private DeployBeanPropertyAssocOne<?> mappedManyToOne(DeployBeanPropertyAssocMany<?> prop, DeployBeanDescriptor<?> targetDesc, String mappedBy) {
|
||||
DeployBeanProperty mappedProp = targetDesc.getBeanProperty(mappedBy);
|
||||
if (mappedProp == null) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + " Can not find mappedBy property " + mappedBy + " in " + targetDesc);
|
||||
throw new PersistenceException("Error on " + prop + " Can not find mappedBy property " + mappedBy + " in " + targetDesc);
|
||||
}
|
||||
if (!(mappedProp instanceof DeployBeanPropertyAssocOne<?>)) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + ". mappedBy property " + mappedBy + " is not a ManyToOne? in " + targetDesc);
|
||||
throw new PersistenceException("Error on " + prop + ". mappedBy property " + mappedBy + " is not a ManyToOne? in " + targetDesc);
|
||||
}
|
||||
return (DeployBeanPropertyAssocOne<?>) mappedProp;
|
||||
}
|
||||
@@ -1124,15 +1124,15 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy
|
||||
private DeployBeanPropertyAssocMany<?> mappedManyToMany(DeployBeanPropertyAssocMany<?> prop, String mappedBy, DeployBeanDescriptor<?> targetDesc) {
|
||||
DeployBeanProperty mappedProp = targetDesc.getBeanProperty(mappedBy);
|
||||
if (mappedProp == null) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + " Can not find mappedBy property " + mappedBy + " in " + targetDesc);
|
||||
throw new PersistenceException("Error on " + prop + " Can not find mappedBy property " + mappedBy + " in " + targetDesc);
|
||||
}
|
||||
if (!(mappedProp instanceof DeployBeanPropertyAssocMany<?>)) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a ManyToMany?");
|
||||
throw new PersistenceException("Error on " + prop + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a ManyToMany?");
|
||||
}
|
||||
|
||||
DeployBeanPropertyAssocMany<?> mappedAssocMany = (DeployBeanPropertyAssocMany<?>) mappedProp;
|
||||
if (!mappedAssocMany.isManyToMany()) {
|
||||
throw new PersistenceException("Error on " + prop.getFullBeanName() + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a ManyToMany?");
|
||||
throw new PersistenceException("Error on " + prop + ". mappedBy property " + targetDesc + "." + mappedBy + " is not a ManyToMany?");
|
||||
}
|
||||
return mappedAssocMany;
|
||||
}
|
||||
|
||||
@@ -756,7 +756,7 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty {
|
||||
|
||||
@Override
|
||||
public Object value(Object bean) {
|
||||
return getValue((EntityBean) bean);
|
||||
return getValueIntercept((EntityBean) bean);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -203,7 +203,7 @@ public class BeanPropertyAssocMany<T> extends BeanPropertyAssoc<T> implements ST
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Collection rawCollection(EntityBean bean) {
|
||||
return help.underlying(value(bean));
|
||||
return help.underlying(getValue(bean));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -211,11 +211,11 @@ public class BeanPropertyAssocMany<T> extends BeanPropertyAssoc<T> implements ST
|
||||
*/
|
||||
@Override
|
||||
public void merge(EntityBean bean, EntityBean existing) {
|
||||
Object existingCollection = value(existing);
|
||||
Object existingCollection = getValue(existing);
|
||||
if (existingCollection instanceof BeanCollection<?>) {
|
||||
BeanCollection<?> toBC = (BeanCollection<?>) existingCollection;
|
||||
if (!toBC.isPopulated()) {
|
||||
Object fromCollection = value(bean);
|
||||
Object fromCollection = getValue(bean);
|
||||
if (fromCollection instanceof BeanCollection<?>) {
|
||||
BeanCollection<?> fromBC = (BeanCollection<?>) fromCollection;
|
||||
if (fromBC.isPopulated()) {
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ class BeanPropertyAssocManyJsonHelp {
|
||||
throw new JsonParseException(parser, "Unexpected token " + event + " - expecting start array or object");
|
||||
}
|
||||
if (readJson.update()) {
|
||||
many.setValueIntercept(parentBean, many.jsonReadCollection(readJson, parentBean, many.value(parentBean)));
|
||||
many.setValueIntercept(parentBean, many.jsonReadCollection(readJson, parentBean, many.getValue(parentBean)));
|
||||
} else {
|
||||
many.setValue(parentBean, many.jsonReadCollection(readJson, parentBean, null));
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ public class BeanPropertyAssocOne<T> extends BeanPropertyAssoc<T> implements STr
|
||||
public void jsonRead(SpiJsonReader readJson, EntityBean bean) throws IOException {
|
||||
if (jsonDeserialize && targetDescriptor != null) {
|
||||
// CHECKME: may we skip reading the object from the json stream?
|
||||
T target = readJson.update() ? (T) value(bean) : null;
|
||||
T target = readJson.update() ? (T) getValue(bean) : null;
|
||||
T assocBean = targetDescriptor.jsonRead(readJson, name, target);
|
||||
if (readJson.update()) {
|
||||
setValueIntercept(bean, assocBean);
|
||||
|
||||
@@ -222,10 +222,6 @@ public class DeployBeanProperty {
|
||||
|| AnnotationUtil.has(field, WhoCreated.class));
|
||||
}
|
||||
|
||||
public String getFullBeanName() {
|
||||
return desc.getFullName() + "." + name;
|
||||
}
|
||||
|
||||
public DeployBeanDescriptor<?> getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ abstract class AnnotationAssoc extends AnnotationParser {
|
||||
void setBeanTable(DeployBeanPropertyAssoc<?> prop) {
|
||||
BeanTable assoc = getBeanTable(prop);
|
||||
if (assoc == null) {
|
||||
throw new BeanNotRegisteredException(errorMsgMissingBeanTable(prop.getTargetType(), prop.getFullBeanName()));
|
||||
throw new BeanNotRegisteredException(errorMsgMissingBeanTable(prop.getTargetType(), prop.toString()));
|
||||
}
|
||||
prop.setBeanTable(assoc);
|
||||
}
|
||||
|
||||
+2
-3
@@ -167,7 +167,7 @@ final class AnnotationAssocManys extends AnnotationAssoc {
|
||||
|
||||
private void checkSelfManyToMany(DeployBeanPropertyAssocMany<?> prop) {
|
||||
if (prop.getTargetType().equals(descriptor.getBeanType())) {
|
||||
throw new IllegalStateException("@ManyToMany mapping for " + prop.getFullBeanName() + " requires explicit @JoinTable with joinColumns & inverseJoinColumns. Refer issue #2157");
|
||||
throw new IllegalStateException("@ManyToMany mapping for " + prop + " requires explicit @JoinTable with joinColumns & inverseJoinColumns. Refer issue #2157");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,8 +266,7 @@ final class AnnotationAssocManys extends AnnotationAssoc {
|
||||
elementDescriptor.addBeanProperty(valueProp);
|
||||
}
|
||||
|
||||
elementDescriptor.setName(prop.getFullBeanName());
|
||||
|
||||
elementDescriptor.setName(prop.toString());
|
||||
factory.createUnidirectional(elementDescriptor, prop.getOwningType(), beanTable, prop.getTableJoin());
|
||||
prop.setElementDescriptor(factory.createElementDescriptor(elementDescriptor, prop.getManyType(), scalar));
|
||||
}
|
||||
|
||||
+4
-4
@@ -148,7 +148,7 @@ final class AnnotationAssocOnes extends AnnotationAssoc {
|
||||
|
||||
private void setFromJoinColumn(DeployBeanPropertyAssocOne<?> prop, BeanTable beanTable, JoinColumn joinColumn) {
|
||||
if (beanTable == null) {
|
||||
throw new IllegalStateException("Looks like a missing @ManyToOne or @OneToOne on property " + prop.getFullBeanName() + " - no related 'BeanTable'");
|
||||
throw new IllegalStateException("Looks like a missing @ManyToOne or @OneToOne on property " + prop + " - no related 'BeanTable'");
|
||||
}
|
||||
prop.getTableJoin().addJoinColumn(util, false, joinColumn, beanTable);
|
||||
if (!joinColumn.updatable()) {
|
||||
@@ -210,15 +210,15 @@ final class AnnotationAssocOnes extends AnnotationAssoc {
|
||||
|
||||
private void readPrimaryKeyJoin(PrimaryKeyJoinColumn primaryKeyJoin, DeployBeanPropertyAssocOne<?> prop) {
|
||||
if (!prop.isOneToOne()) {
|
||||
throw new IllegalStateException("Expecting property " + prop.getFullBeanName() + " with PrimaryKeyJoinColumn to be a OneToOne?");
|
||||
throw new IllegalStateException("Expecting property " + prop + " with PrimaryKeyJoinColumn to be a OneToOne?");
|
||||
}
|
||||
prop.setPrimaryKeyJoin(true);
|
||||
|
||||
if (!primaryKeyJoin.name().isEmpty()) {
|
||||
CoreLog.internal.log(INFO, "Automatically determining join columns for @PrimaryKeyJoinColumn - ignoring PrimaryKeyJoinColumn.name attribute [{0}] on {1}", primaryKeyJoin.name(), prop.getFullBeanName());
|
||||
CoreLog.internal.log(INFO, "Automatically determining join columns for @PrimaryKeyJoinColumn - ignoring PrimaryKeyJoinColumn.name attribute [{0}] on {1}", primaryKeyJoin.name(), prop);
|
||||
}
|
||||
if (!primaryKeyJoin.referencedColumnName().isEmpty()) {
|
||||
CoreLog.internal.log(INFO, "Automatically determining join columns for @PrimaryKeyJoinColumn - Ignoring PrimaryKeyJoinColumn.referencedColumnName attribute [{0}] on {1}", primaryKeyJoin.referencedColumnName(), prop.getFullBeanName());
|
||||
CoreLog.internal.log(INFO, "Automatically determining join columns for @PrimaryKeyJoinColumn - Ignoring PrimaryKeyJoinColumn.referencedColumnName attribute [{0}] on {1}", primaryKeyJoin.referencedColumnName(), prop);
|
||||
}
|
||||
BeanTable baseBeanTable = factory.beanTable(info.getDescriptor().getBeanType());
|
||||
String localPrimaryKey = baseBeanTable.getIdColumn();
|
||||
|
||||
@@ -384,7 +384,7 @@ final class AnnotationFields extends AnnotationParser {
|
||||
}
|
||||
|
||||
private void setEncryption(DeployBeanProperty prop, boolean dbEncString, int dbLen) {
|
||||
util.checkEncryptKeyManagerDefined(prop.getFullBeanName());
|
||||
util.checkEncryptKeyManagerDefined(prop.toString());
|
||||
ScalarType<?> st = prop.getScalarType();
|
||||
if (byte[].class.equals(st.type())) {
|
||||
// Always using Java client encryption rather than DB for encryption
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ public final class DeployCreateProperties {
|
||||
|
||||
DeployBeanProperty replaced = desc.addBeanProperty(prop);
|
||||
if (replaced != null && !replaced.isTransient()) {
|
||||
String msg = "Huh??? property " + prop.getFullBeanName() + " being defined twice";
|
||||
String msg = "Huh??? property " + prop + " being defined twice";
|
||||
msg += " but replaced property was not transient? This is not expected?";
|
||||
CoreLog.log.log(WARNING, msg);
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ public final class DeployUtil {
|
||||
prop.setScalarType(scalarType);
|
||||
prop.setDbType(scalarType.jdbcType());
|
||||
} catch (IllegalStateException e) {
|
||||
throw new PersistenceException("Error mapping property " + prop.getFullBeanName() + " - " + e.getMessage());
|
||||
throw new PersistenceException("Error mapping property " + prop + " - " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ public final class DeployUtil {
|
||||
if (scalarType != null || property.isTransient()) {
|
||||
return scalarType;
|
||||
}
|
||||
throw new PersistenceException(property.getFullBeanName() + " has no ScalarType - type " + propType.getName());
|
||||
throw new PersistenceException(property + " has no ScalarType - type " + propType.getName());
|
||||
} catch (IllegalArgumentException e) {
|
||||
if (property.isTransient()) {
|
||||
// expected for transient properties with unknown/non-mapped types
|
||||
@@ -179,7 +179,7 @@ public final class DeployUtil {
|
||||
Class<?> type = prop.getPropertyType();
|
||||
ScalarType<?> scalarType = typeManager.dbArrayType(type, prop.getGenericType(), prop.isNullable());
|
||||
if (scalarType == null) {
|
||||
throw new RuntimeException("No ScalarType for @DbArray type for " + prop.getFullBeanName());
|
||||
throw new RuntimeException("No ScalarType for @DbArray type for " + prop);
|
||||
}
|
||||
int dbType = scalarType.jdbcType();
|
||||
prop.setDbType(dbType);
|
||||
|
||||
@@ -21,11 +21,11 @@ public final class DtoBeanDescriptor<T> {
|
||||
this.namedQueries = namedQueries;
|
||||
}
|
||||
|
||||
public Class<T> getType() {
|
||||
public Class<T> type() {
|
||||
return dtoType;
|
||||
}
|
||||
|
||||
public DtoQueryPlan getQueryPlan(Object planKey) {
|
||||
public DtoQueryPlan queryPlan(Object planKey) {
|
||||
return plans.get(planKey);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,13 +28,11 @@ public final class DtoBeanManager {
|
||||
* Return the descriptor for the given DTO bean class.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> DtoBeanDescriptor<T> getDescriptor(Class<T> dtoType) {
|
||||
|
||||
public <T> DtoBeanDescriptor<T> descriptor(Class<T> dtoType) {
|
||||
return descriptorMap.computeIfAbsent(dtoType, this::createDescriptor);
|
||||
}
|
||||
|
||||
private <T> DtoBeanDescriptor createDescriptor(Class<T> dtoType) {
|
||||
|
||||
try {
|
||||
DtoMeta meta = new DtoMetaBuilder(dtoType, typeManager).build();
|
||||
return new DtoBeanDescriptor<>(dtoType, meta, namedQueries(dtoType));
|
||||
|
||||
@@ -11,7 +11,7 @@ public final class DtoColumn {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
public String label() {
|
||||
return label;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,19 +26,19 @@ public final class DtoMappingRequest {
|
||||
this.columnMeta = columnMeta;
|
||||
}
|
||||
|
||||
public DtoColumn[] getColumnMeta() {
|
||||
public DtoColumn[] columnMeta() {
|
||||
return columnMeta;
|
||||
}
|
||||
|
||||
public boolean isRelaxedMode() {
|
||||
public boolean relaxedMode() {
|
||||
return relaxedMode;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
public String label() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public String getSql() {
|
||||
public String sql() {
|
||||
return sql;
|
||||
}
|
||||
|
||||
@@ -70,10 +70,10 @@ public final class DtoMappingRequest {
|
||||
}
|
||||
|
||||
private DtoReadSet mapColumn(int pos, DtoMeta meta) {
|
||||
String label = columnMeta[pos].getLabel();
|
||||
String label = columnMeta[pos].label();
|
||||
DtoReadSet property = meta.findProperty(label);
|
||||
if (property == null || property.isReadOnly()) {
|
||||
if (isRelaxedMode()) {
|
||||
if (relaxedMode()) {
|
||||
property = DtoReadSetColumnSkip.INSTANCE;
|
||||
} else {
|
||||
throw new IllegalStateException(unableToMapColumnMessage(columnMeta[pos], meta));
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package io.ebeaninternal.server.dto;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Holds property and constructor meta-data for a given DTO bean type.
|
||||
@@ -18,16 +15,16 @@ final class DtoMeta {
|
||||
private final DtoMetaConstructor defaultConstructor;
|
||||
private final DtoMetaConstructor maxArgConstructor;
|
||||
|
||||
DtoMeta(Class<?> dtoType, List<DtoMetaConstructor> constructors, List<DtoMetaProperty> properties) {
|
||||
DtoMeta(Class<?> dtoType, Collection<DtoMetaConstructor> constructors, List<DtoMetaProperty> properties) {
|
||||
this.dtoType = dtoType;
|
||||
for (DtoMetaProperty property : properties) {
|
||||
propMap.put(property.getName().toUpperCase(), property);
|
||||
propMap.put(property.name().toUpperCase(), property);
|
||||
}
|
||||
int maxArg = 0;
|
||||
DtoMetaConstructor defaultConstructor = null;
|
||||
DtoMetaConstructor maxArgConstructor = null;
|
||||
for (DtoMetaConstructor constructor : constructors) {
|
||||
int args = constructor.getArgCount();
|
||||
int args = constructor.argCount();
|
||||
constructorMap.put(args, constructor);
|
||||
if (args == 0) {
|
||||
defaultConstructor = constructor;
|
||||
@@ -41,13 +38,13 @@ final class DtoMeta {
|
||||
}
|
||||
|
||||
public DtoQueryPlan match(DtoMappingRequest request) {
|
||||
DtoColumn[] cols = request.getColumnMeta();
|
||||
DtoColumn[] cols = request.columnMeta();
|
||||
int colLen = cols.length;
|
||||
DtoMetaConstructor constructor = constructorMap.get(colLen);
|
||||
if (constructor != null) {
|
||||
return new DtoQueryPlanConstructor(request, constructor);
|
||||
}
|
||||
if (maxArgConstructor != null && colLen > maxArgConstructor.getArgCount()) {
|
||||
if (maxArgConstructor != null && colLen > maxArgConstructor.argCount()) {
|
||||
// maxArgConst + setters
|
||||
return matchMaxArgPlusSetters(request);
|
||||
}
|
||||
@@ -61,7 +58,7 @@ final class DtoMeta {
|
||||
}
|
||||
|
||||
private DtoQueryPlanConPlus matchMaxArgPlusSetters(DtoMappingRequest request) {
|
||||
DtoReadSet[] setterProps = request.mapArgPlusSetters(this, maxArgConstructor.getArgCount());
|
||||
DtoReadSet[] setterProps = request.mapArgPlusSetters(this, maxArgConstructor.argCount());
|
||||
return new DtoQueryPlanConPlus(request, maxArgConstructor, setterProps);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@ import io.ebeaninternal.server.type.TypeManager;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import static java.lang.System.Logger.Level.DEBUG;
|
||||
|
||||
@@ -21,7 +20,7 @@ final class DtoMetaBuilder {
|
||||
private final TypeManager typeManager;
|
||||
private final Class<?> dtoType;
|
||||
private final List<DtoMetaProperty> properties = new ArrayList<>();
|
||||
private final List<DtoMetaConstructor> constructorList = new ArrayList<>();
|
||||
private final Map<Integer, DtoMetaConstructor> constructorMap = new HashMap<>();
|
||||
|
||||
DtoMetaBuilder(Class<?> dtoType, TypeManager typeManager) {
|
||||
this.dtoType = dtoType;
|
||||
@@ -31,7 +30,7 @@ final class DtoMetaBuilder {
|
||||
DtoMeta build() {
|
||||
readConstructors();
|
||||
readProperties();
|
||||
return new DtoMeta(dtoType, constructorList, properties);
|
||||
return new DtoMeta(dtoType, constructorMap.values(), properties);
|
||||
}
|
||||
|
||||
private void readProperties() {
|
||||
@@ -74,14 +73,23 @@ final class DtoMetaBuilder {
|
||||
}
|
||||
|
||||
private void readConstructors() {
|
||||
final Set<Integer> removal = new HashSet<>();
|
||||
for (Constructor<?> constructor : dtoType.getConstructors()) {
|
||||
try {
|
||||
constructorList.add(new DtoMetaConstructor(typeManager, constructor, dtoType));
|
||||
final var meta = new DtoMetaConstructor(typeManager, constructor, dtoType);
|
||||
final var conflicting = constructorMap.put(meta.argCount(), meta);
|
||||
if (conflicting != null) {
|
||||
removal.add(meta.argCount());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// we don't want that constructor
|
||||
CoreLog.log.log(DEBUG, "exclude on " + dtoType + " constructor " + constructor, e);
|
||||
}
|
||||
}
|
||||
// remove the constructors that conflicted by argument count
|
||||
for (Integer key : removal) {
|
||||
constructorMap.remove(key);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,11 +30,7 @@ final class DtoMetaConstructor {
|
||||
return MethodType.methodType(void.class, types);
|
||||
}
|
||||
|
||||
Class<?>[] getTypes() {
|
||||
return types;
|
||||
}
|
||||
|
||||
int getArgCount() {
|
||||
int argCount() {
|
||||
return types.length;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ final class DtoMetaProperty implements DtoReadSet {
|
||||
return method.getParameterTypes()[0];
|
||||
}
|
||||
|
||||
String getName() {
|
||||
String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ public class UuidV1IdGenerator extends UuidV1RndIdGenerator {
|
||||
saveState();
|
||||
log.log(DEBUG, "Saved state: clockSeq {0}, timestamp {1}, uuid {2}, stateFile: {3})", clockSeq.get(), new Date(ts), uuid, stateFile);
|
||||
} catch (IOException e) {
|
||||
log.log(ERROR, "There was a problem while detecting the nodeId. Falling back to random mode. Try using to specify 'ebean.uuidNodeId' property", e);
|
||||
log.log(ERROR, "There was a problem while detecting the nodeId. Falling back to random mode. Try using to specify ''ebean.uuidNodeId'' property", e);
|
||||
useRandomMode();
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ public class UuidV1IdGenerator extends UuidV1RndIdGenerator {
|
||||
try {
|
||||
nodeId = getHardwareId();
|
||||
} catch (IOException e) {
|
||||
log.log(ERROR, "Error while reading MAC address. Fall back to 'generate' mode", e);
|
||||
log.log(ERROR, "Error while reading MAC address. Fall back to ''generate'' mode", e);
|
||||
tryGenerateMode();
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ public class UuidV1IdGenerator extends UuidV1RndIdGenerator {
|
||||
log.log(INFO, "Using MAC {0} to generate Type 1 UUIDs", getNodeIdentifier());
|
||||
return;
|
||||
}
|
||||
log.log(WARNING, "No suitable network interface found. Fall back to 'generate' mode");
|
||||
log.log(WARNING, "No suitable network interface found. Fall back to ''generate'' mode");
|
||||
tryGenerateMode();
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public class UuidV1IdGenerator extends UuidV1RndIdGenerator {
|
||||
|
||||
String propNodeId = prop.getProperty("nodeId");
|
||||
if (propNodeId == null || propNodeId.isEmpty()) {
|
||||
log.log(WARNING, "State file '{0}' is incomplete", stateFile);
|
||||
log.log(WARNING, "State file ''{0}'' is incomplete", stateFile);
|
||||
return false; // we cannot restore
|
||||
}
|
||||
try {
|
||||
@@ -220,7 +220,7 @@ public class UuidV1IdGenerator extends UuidV1RndIdGenerator {
|
||||
nodeId = parseAlternativeNodeId(propNodeId);
|
||||
} else if (!getNodeIdentifier().equals(propNodeId)) {
|
||||
log.log(WARNING,
|
||||
"The nodeId in the state file '{0}' has changed from {1} to {2}. "
|
||||
"The nodeId in the state file ''{0}'' has changed from {1} to {2}. "
|
||||
+ "This can happen when MAC address changes or when two containers share the same state file",
|
||||
stateFile, propNodeId, getNodeIdentifier());
|
||||
return false;
|
||||
|
||||
@@ -55,6 +55,6 @@ final class MergeNodeAssocOne extends MergeNode {
|
||||
}
|
||||
|
||||
private EntityBean getEntityBean(Object bean) {
|
||||
return (EntityBean) one.value(bean);
|
||||
return (EntityBean) one.getValue((EntityBean)bean);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ import io.ebeaninternal.api.SpiQueryBindCapture;
|
||||
import io.ebeaninternal.api.SpiQueryPlan;
|
||||
import io.ebeaninternal.server.bind.capture.BindCapture;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
final class CQueryBindCapture implements SpiQueryBindCapture {
|
||||
@@ -53,9 +55,14 @@ final class CQueryBindCapture implements SpiQueryBindCapture {
|
||||
|
||||
@Override
|
||||
public void queryPlanInit(long thresholdMicros) {
|
||||
// effective enable bind capture for this plan
|
||||
this.thresholdMicros = thresholdMicros;
|
||||
this.captureCount = 0;
|
||||
lock.lock();
|
||||
try {
|
||||
// effective enable bind capture for this plan
|
||||
this.thresholdMicros = thresholdMicros;
|
||||
this.captureCount = 0;
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,11 +74,13 @@ final class CQueryBindCapture implements SpiQueryBindCapture {
|
||||
return false;
|
||||
}
|
||||
|
||||
final Instant whenCaptured = Instant.ofEpochMilli(this.lastBindCapture);
|
||||
final BindCapture last = this.bindCapture;
|
||||
|
||||
final long startNanos = System.nanoTime();
|
||||
SpiDbQueryPlan queryPlan = manager.collectPlan(request.connection(), this.queryPlan, last);
|
||||
if (queryPlan != null) {
|
||||
request.add(queryPlan.with(queryTimeMicros, captureCount));
|
||||
final long captureMicros = TimeUnit.MICROSECONDS.convert(System.nanoTime() - startNanos, TimeUnit.NANOSECONDS);
|
||||
request.add(queryPlan.with(queryTimeMicros, captureCount, captureMicros, whenCaptured));
|
||||
// effectively turn off bind capture for this plan
|
||||
thresholdMicros = Long.MAX_VALUE;
|
||||
return true;
|
||||
|
||||
@@ -4,6 +4,8 @@ import io.ebean.ProfileLocation;
|
||||
import io.ebean.meta.MetaQueryPlan;
|
||||
import io.ebeaninternal.api.SpiDbQueryPlan;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Captured query plan details.
|
||||
*/
|
||||
@@ -19,6 +21,8 @@ final class DQueryPlanOutput implements MetaQueryPlan, SpiDbQueryPlan {
|
||||
private final String hash;
|
||||
private long queryTimeMicros;
|
||||
private long captureCount;
|
||||
private long captureMicros;
|
||||
private Instant whenCaptured;
|
||||
|
||||
DQueryPlanOutput(Class<?> beanType, String label, String hash, String sql, ProfileLocation profileLocation, String bind, String plan) {
|
||||
this.beanType = beanType;
|
||||
@@ -97,6 +101,16 @@ final class DQueryPlanOutput implements MetaQueryPlan, SpiDbQueryPlan {
|
||||
return captureCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long captureMicros() {
|
||||
return captureMicros;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant whenCaptured() {
|
||||
return whenCaptured;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return " BeanType:" + ((beanType == null) ? "" : beanType.getSimpleName()) + " planHash:" + hash + " label:" + label + " queryTimeMicros:" + queryTimeMicros + " captureCount:" + captureCount + "\n SQL:" + sql + "\nBIND:" + bind + "\nPLAN:" + plan;
|
||||
@@ -106,9 +120,11 @@ final class DQueryPlanOutput implements MetaQueryPlan, SpiDbQueryPlan {
|
||||
* Additionally set the query execution time and the number of bind captures.
|
||||
*/
|
||||
@Override
|
||||
public DQueryPlanOutput with(long queryTimeMicros, long captureCount) {
|
||||
public DQueryPlanOutput with(long queryTimeMicros, long captureCount, long captureMicros, Instant whenCaptured) {
|
||||
this.queryTimeMicros = queryTimeMicros;
|
||||
this.captureCount = captureCount;
|
||||
this.captureMicros = captureMicros;
|
||||
this.whenCaptured = whenCaptured;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public final class DefaultDtoQuery<T> extends AbstractQuery implements SpiDtoQue
|
||||
|
||||
@Override
|
||||
public DtoQueryPlan getQueryPlan(Object planKey) {
|
||||
return descriptor.getQueryPlan(planKey);
|
||||
return descriptor.queryPlan(planKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -206,7 +206,7 @@ public final class DefaultDtoQuery<T> extends AbstractQuery implements SpiDtoQue
|
||||
|
||||
@Override
|
||||
public Class<T> getType() {
|
||||
return descriptor.getType();
|
||||
return descriptor.type();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-csv-reader</artifactId>
|
||||
@@ -14,21 +14,21 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean ddl generation</name>
|
||||
@@ -28,14 +28,14 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-all</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ public class DdlGenerator implements SpiDdlGenerator {
|
||||
this.platform = databasePlatform.platform();
|
||||
this.platformName = platform.base().name();
|
||||
if (!config.getTenantMode().isDdlEnabled() && config.isDdlRun()) {
|
||||
log.log(WARNING, "DDL can't be run on startup with TenantMode " + config.getTenantMode());
|
||||
log.log(WARNING, "DDL can''t be run on startup with TenantMode " + config.getTenantMode());
|
||||
this.runDdl = false;
|
||||
this.useMigrationStoredProcedures = false;
|
||||
} else {
|
||||
|
||||
+18
-4
@@ -9,7 +9,7 @@ import io.ebeaninternal.dbmigration.migration.Column;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
@@ -18,6 +18,8 @@ import static java.util.stream.Collectors.toList;
|
||||
*/
|
||||
public class PostgresDdl extends PlatformDdl {
|
||||
|
||||
private static final Pattern PLAIN_VARCHAR = Pattern.compile("(varchar\\()(\\d+)(\\))");
|
||||
|
||||
private static final String dropIndexConcurrentlyIfExists = "drop index concurrently if exists ";
|
||||
|
||||
public PostgresDdl(DatabasePlatform platform) {
|
||||
@@ -31,6 +33,7 @@ public class PostgresDdl extends PlatformDdl {
|
||||
this.columnSetNull = "drop not null";
|
||||
this.addForeignKeySkipCheck = " not valid";
|
||||
this.indexConcurrent = "concurrently ";
|
||||
this.addColumn = "add column if not exists";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,9 +77,20 @@ public class PostgresDdl extends PlatformDdl {
|
||||
@Override
|
||||
protected void alterColumnType(DdlWrite writer, AlterColumn alter) {
|
||||
String type = convert(alter.getType());
|
||||
alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName())
|
||||
.append(columnSetType).append(type)
|
||||
.append(" using ").append(alter.getColumnName()).append("::").append(type);
|
||||
var alterTable = alterTable(writer, alter.getTableName())
|
||||
.append(alterColumn, alter.getColumnName())
|
||||
.append(columnSetType).append(type);
|
||||
if (useCast(type, alter.getCurrentType())) {
|
||||
alterTable.append(" using ").append(alter.getColumnName()).append("::").append(type);
|
||||
}
|
||||
}
|
||||
|
||||
static boolean useCast(String newType, String currentType) {
|
||||
return currentType == null || !isPlainVarchar(newType) || !isPlainVarchar(currentType);
|
||||
}
|
||||
|
||||
static boolean isPlainVarchar(String type) {
|
||||
return PLAIN_VARCHAR.matcher(type).matches();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -87,7 +87,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
|
||||
DdlHandler postgresHandler = postgresHandler();
|
||||
postgresHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
|
||||
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_added_to_foo varchar[];\n");
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column if not exists dbarray_added_to_foo varchar[];\n");
|
||||
|
||||
writer = new DdlWrite();
|
||||
|
||||
@@ -109,7 +109,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
|
||||
DdlWrite writer = new DdlWrite();
|
||||
|
||||
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_ninety varchar[];\n");
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column if not exists dbarray_ninety varchar[];\n");
|
||||
|
||||
writer = new DdlWrite();
|
||||
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
|
||||
@@ -134,7 +134,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
|
||||
|
||||
DdlWrite writer = new DdlWrite();
|
||||
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_integer integer[];\n");
|
||||
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column if not exists dbarray_integer integer[];\n");
|
||||
|
||||
writer = new DdlWrite();
|
||||
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
|
||||
sql = alterColumn(pgDdl, alter);
|
||||
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
|
||||
+ "alter table mytab alter column acol type varchar(50) using acol::varchar(50);\n"
|
||||
+ "alter table mytab alter column acol type varchar(50);\n"
|
||||
+ "alter table mytab alter column acol set default 'hi';\n"
|
||||
+ "alter table mytab alter column acol set not null;\n");
|
||||
|
||||
|
||||
+35
@@ -13,6 +13,41 @@ class PostgresDdlTest {
|
||||
|
||||
final PostgresDdl postgresDdl = new PostgresDdl(new PostgresPlatform());
|
||||
|
||||
@Test
|
||||
void useCast_notWhenSimpleVarcharLengthChange() {
|
||||
assertThat(PostgresDdl.useCast("varchar(10)", "varchar(150)")).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void useCast() {
|
||||
assertThat(PostgresDdl.useCast("varchar", "varchar(150)")).isTrue();
|
||||
assertThat(PostgresDdl.useCast("varchar(1)", "varchar")).isTrue();
|
||||
assertThat(PostgresDdl.useCast("varchar(1)[]", "varchar(2)[]")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void useCastTrue() {
|
||||
assertThat(PostgresDdl.useCast("text(10)", "text(150)")).isTrue();
|
||||
assertThat(PostgresDdl.useCast("number(5)", "number(10)")).isTrue();
|
||||
assertThat(PostgresDdl.useCast("number(5,3)", "number(10,2)")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isPlainVarchar() {
|
||||
assertThat(PostgresDdl.isPlainVarchar("varchar(1)")).isTrue();
|
||||
assertThat(PostgresDdl.isPlainVarchar("varchar(10)")).isTrue();
|
||||
assertThat(PostgresDdl.isPlainVarchar("varchar(150)")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isPlainVarchar_false() {
|
||||
assertThat(PostgresDdl.isPlainVarchar("varcha(10)")).isFalse();
|
||||
assertThat(PostgresDdl.isPlainVarchar("text(10)")).isFalse();
|
||||
assertThat(PostgresDdl.isPlainVarchar("number(10)")).isFalse();
|
||||
assertThat(PostgresDdl.isPlainVarchar("varchar(10)[]")).isFalse();
|
||||
assertThat(PostgresDdl.isPlainVarchar("varchar")).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void setLockTimeout() {
|
||||
final String sql = postgresDdl.setLockTimeout(5);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean external mapping api</name>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<scm>
|
||||
@@ -21,7 +21,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-externalmapping-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- JAVAX-DEPENDENCY-START -->
|
||||
@@ -68,21 +68,21 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-jackson-jsonnode</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core-type</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-kotlin</artifactId>
|
||||
@@ -28,7 +28,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean postgis</name>
|
||||
@@ -22,14 +22,14 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- provided scope -->
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean querybean</name>
|
||||
@@ -17,7 +17,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -63,21 +63,21 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>querybean-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
+6
-6
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-redis</artifactId>
|
||||
@@ -22,35 +22,35 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>querybean-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-spring-txn</artifactId>
|
||||
@@ -28,7 +28,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-test</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
+9
-9
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>ebean test</name>
|
||||
@@ -28,20 +28,20 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -118,28 +118,28 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-joda-time</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-jsonnode</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-jackson-mapper</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-all</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -254,7 +254,7 @@
|
||||
<dependency>
|
||||
<groupId>org.xerial</groupId>
|
||||
<artifactId>sqlite-jdbc</artifactId>
|
||||
<version>3.36.0.3</version>
|
||||
<version>3.41.2.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
package io.ebean.xtest.base;
|
||||
|
||||
import io.ebean.xtest.BaseTestCase;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.tests.model.basic.ResetBasicData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class DtoQuery3Test extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
void dtoQuery_when_constructorsClash() {
|
||||
ResetBasicData.reset();
|
||||
|
||||
List<DCust> list = server().findDto(DCust.class, "select id, name, status from o_customer where status is not null").findList();
|
||||
|
||||
assertThat(list).isNotEmpty();
|
||||
for (DCust cust: list) {
|
||||
assertThat(cust.id()).isNotNull();
|
||||
assertThat(cust.name()).isNotNull();
|
||||
assertThat(cust.status()).isNotNull();
|
||||
}
|
||||
}
|
||||
|
||||
public static class DCust {
|
||||
|
||||
final Integer id;
|
||||
String name;
|
||||
|
||||
String status;
|
||||
|
||||
public DCust(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/** Constructor with 3 args - clashes with the one below */
|
||||
public DCust(Integer id, String name, List<String> notUsed) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/** Constructor with 3 args - clashes with the one above */
|
||||
public DCust(Integer id, String name, String status) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "id:" + id + " name:" + name;
|
||||
}
|
||||
|
||||
public Integer id() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void name(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String status() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -94,18 +94,16 @@ public class TestInsertCheckUnique extends BaseTestCase {
|
||||
|
||||
StringBuilder msg = new StringBuilder();
|
||||
|
||||
properties.forEach((it)-> {
|
||||
properties.forEach((it) -> {
|
||||
Object propertyValue = it.value(doc2);
|
||||
String propertyName = it.name();
|
||||
msg.append(" property["+propertyName+"] value["+propertyValue+"]");
|
||||
msg.append(" property[" + propertyName + "] value[" + propertyValue + "]");
|
||||
});
|
||||
|
||||
System.out.println("uniqueProperties > "+uniqueProperties);
|
||||
System.out.println(" custom msg > " + msg.toString());
|
||||
|
||||
System.out.println("uniqueProperties > " + uniqueProperties);
|
||||
System.out.println(" custom msg > " + msg);
|
||||
}
|
||||
|
||||
|
||||
assertThat(DB.checkUniqueness(doc2).toString()).contains("title");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,20 +170,20 @@ public class TestCustomerFinder extends BaseTestCase {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
// change default collect query plan threshold to 200 micros
|
||||
// change default collect query plan threshold to 20 micros
|
||||
QueryPlanInit init0 = new QueryPlanInit();
|
||||
init0.setAll(true);
|
||||
init0.thresholdMicros(2);
|
||||
init0.thresholdMicros(20);
|
||||
final List<MetaQueryPlan> plans = server().metaInfo().queryPlanInit(init0);
|
||||
assertThat(plans.size()).isGreaterThan(1);
|
||||
|
||||
// the server has some plans
|
||||
runQueries();
|
||||
|
||||
// change query plan threshold to 100 micros
|
||||
// change query plan threshold to 10 micros
|
||||
QueryPlanInit init = new QueryPlanInit();
|
||||
init.setAll(true);
|
||||
init.thresholdMicros(1);
|
||||
init.thresholdMicros(10);
|
||||
final List<MetaQueryPlan> appliedToPlans = server().metaInfo().queryPlanInit(init);
|
||||
assertThat(appliedToPlans.size()).isGreaterThan(4);
|
||||
|
||||
@@ -212,9 +212,9 @@ public class TestCustomerFinder extends BaseTestCase {
|
||||
List<MetaQueryPlan> plans0 = server().metaInfo().queryPlanCollectNow(request);
|
||||
assertThat(plans0).isNotEmpty();
|
||||
|
||||
for (MetaQueryPlan plan : plans) {
|
||||
logger.info("queryPlan label:{}, queryTimeMicros:{} loc:{} sql:{} bind:{} plan:{}",
|
||||
plan.label(), plan.queryTimeMicros(), plan.profileLocation(),
|
||||
for (MetaQueryPlan plan : plans0) {
|
||||
logger.info("queryPlan label:{}, queryTimeMicros:{} captureMicros:{} whenCaptured:{} captureCount:{} loc:{} sql:{} bind:{} plan:{}",
|
||||
plan.label(), plan.queryTimeMicros(), plan.captureMicros(), plan.whenCaptured(), plan.captureCount(), plan.profileLocation(),
|
||||
plan.sql(), plan.bind(), plan.plan());
|
||||
System.out.println(plan);
|
||||
}
|
||||
|
||||
@@ -210,12 +210,12 @@ create table migtest_oto_master (
|
||||
);
|
||||
|
||||
-- apply alter tables
|
||||
alter table "table" add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table "table" add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
-- apply post alter
|
||||
create table migtest_e_history2_history(like migtest_e_history2);
|
||||
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
|
||||
|
||||
@@ -79,47 +79,47 @@ drop function if exists table_history_version();
|
||||
drop view table_with_history;
|
||||
-- apply alter tables
|
||||
alter table "table" alter column textfield drop not null;
|
||||
alter table "table" add column "select" varchar(255);
|
||||
alter table "table" add column textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column one_key integer;
|
||||
alter table migtest_ckey_detail add column two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column assoc_id integer;
|
||||
alter table "table" add column if not exists "select" varchar(255);
|
||||
alter table "table" add column if not exists textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column if not exists one_key integer;
|
||||
alter table migtest_ckey_detail add column if not exists two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column if not exists assoc_id integer;
|
||||
alter table migtest_e_basic alter column status set default 'A';
|
||||
alter table migtest_e_basic alter column status set not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
|
||||
alter table migtest_e_basic alter column status2 type varchar(127);
|
||||
alter table migtest_e_basic alter column status2 drop default;
|
||||
alter table migtest_e_basic alter column status2 drop not null;
|
||||
alter table migtest_e_basic alter column a_lob drop default;
|
||||
alter table migtest_e_basic alter column a_lob drop not null;
|
||||
alter table migtest_e_basic alter column user_id drop not null;
|
||||
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_basic add column if not exists new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column if not exists new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
|
||||
alter table migtest_e_history2 alter column test_string set default 'unknown';
|
||||
alter table migtest_e_history2 alter column test_string set not null;
|
||||
alter table migtest_e_history2 add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column new_column varchar(20);
|
||||
alter table migtest_e_history2 add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history5 add column test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column test_boolean boolean default false;
|
||||
alter table migtest_e_history5 add column if not exists test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column if not exists test_boolean boolean default false;
|
||||
alter table migtest_e_history6 alter column test_number1 set default 42;
|
||||
alter table migtest_e_history6 alter column test_number1 set not null;
|
||||
alter table migtest_e_history6 alter column test_number2 drop not null;
|
||||
alter table migtest_e_history6_history alter column test_number2 drop not null;
|
||||
alter table migtest_e_softdelete add column deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column master_id bigint;
|
||||
alter table migtest_e_softdelete add column if not exists deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column if not exists master_id bigint;
|
||||
alter table table_history alter column textfield drop not null;
|
||||
alter table table_history add column "select" varchar(255);
|
||||
alter table table_history add column textfield2 varchar(255);
|
||||
alter table table_history add column if not exists "select" varchar(255);
|
||||
alter table table_history add column if not exists textfield2 varchar(255);
|
||||
-- apply post alter
|
||||
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
|
||||
alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
|
||||
|
||||
@@ -68,7 +68,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
|
||||
-- apply alter tables
|
||||
alter table migtest_e_basic alter column status drop default;
|
||||
alter table migtest_e_basic alter column status drop not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
|
||||
alter table migtest_e_basic alter column status2 type varchar(1);
|
||||
alter table migtest_e_basic alter column status2 set default 'N';
|
||||
alter table migtest_e_basic alter column status2 set not null;
|
||||
alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255);
|
||||
@@ -76,17 +76,17 @@ alter table migtest_e_basic alter column a_lob set default 'X';
|
||||
alter table migtest_e_basic alter column a_lob set not null;
|
||||
alter table migtest_e_basic alter column user_id set default 23;
|
||||
alter table migtest_e_basic alter column user_id set not null;
|
||||
alter table migtest_e_basic add column description_file bytea;
|
||||
alter table migtest_e_basic add column old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column eref_id integer;
|
||||
alter table migtest_e_basic add column if not exists description_file bytea;
|
||||
alter table migtest_e_basic add column if not exists old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column if not exists old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column if not exists eref_id integer;
|
||||
alter table migtest_e_history2 alter column test_string drop default;
|
||||
alter table migtest_e_history2 alter column test_string drop not null;
|
||||
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history alter column test_string drop not null;
|
||||
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history6 alter column test_number1 drop default;
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
-73982981, 1.0__initial.sql
|
||||
-1076179036, 1.1.sql
|
||||
-22203872, 1.0__initial.sql
|
||||
-1122505568, 1.1.sql
|
||||
274267648, 1.2__dropsFor_1.1.sql
|
||||
-634032267, 1.3.sql
|
||||
-1740230219, 1.3.sql
|
||||
-709144111, 1.4__dropsFor_1.3.sql
|
||||
783227075, R__multi_comments.sql
|
||||
561281075, R__order_views.sql
|
||||
|
||||
@@ -210,12 +210,12 @@ create table migtest_oto_master (
|
||||
);
|
||||
|
||||
-- apply alter tables
|
||||
alter table "table" add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table "table" add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
-- apply post alter
|
||||
create table migtest_e_history2_history(like migtest_e_history2);
|
||||
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
|
||||
|
||||
@@ -79,47 +79,47 @@ drop function if exists table_history_version();
|
||||
drop view table_with_history;
|
||||
-- apply alter tables
|
||||
alter table "table" alter column textfield drop not null;
|
||||
alter table "table" add column "select" varchar(255);
|
||||
alter table "table" add column textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column one_key integer;
|
||||
alter table migtest_ckey_detail add column two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column assoc_id integer;
|
||||
alter table "table" add column if not exists "select" varchar(255);
|
||||
alter table "table" add column if not exists textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column if not exists one_key integer;
|
||||
alter table migtest_ckey_detail add column if not exists two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column if not exists assoc_id integer;
|
||||
alter table migtest_e_basic alter column status set default 'A';
|
||||
alter table migtest_e_basic alter column status set not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
|
||||
alter table migtest_e_basic alter column status2 type varchar(127);
|
||||
alter table migtest_e_basic alter column status2 drop default;
|
||||
alter table migtest_e_basic alter column status2 drop not null;
|
||||
alter table migtest_e_basic alter column a_lob drop default;
|
||||
alter table migtest_e_basic alter column a_lob drop not null;
|
||||
alter table migtest_e_basic alter column user_id drop not null;
|
||||
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_basic add column if not exists new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column if not exists new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
|
||||
alter table migtest_e_history2 alter column test_string set default 'unknown';
|
||||
alter table migtest_e_history2 alter column test_string set not null;
|
||||
alter table migtest_e_history2 add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column new_column varchar(20);
|
||||
alter table migtest_e_history2 add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history5 add column test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column test_boolean boolean default false;
|
||||
alter table migtest_e_history5 add column if not exists test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column if not exists test_boolean boolean default false;
|
||||
alter table migtest_e_history6 alter column test_number1 set default 42;
|
||||
alter table migtest_e_history6 alter column test_number1 set not null;
|
||||
alter table migtest_e_history6 alter column test_number2 drop not null;
|
||||
alter table migtest_e_history6_history alter column test_number2 drop not null;
|
||||
alter table migtest_e_softdelete add column deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column master_id bigint;
|
||||
alter table migtest_e_softdelete add column if not exists deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column if not exists master_id bigint;
|
||||
alter table table_history alter column textfield drop not null;
|
||||
alter table table_history add column "select" varchar(255);
|
||||
alter table table_history add column textfield2 varchar(255);
|
||||
alter table table_history add column if not exists "select" varchar(255);
|
||||
alter table table_history add column if not exists textfield2 varchar(255);
|
||||
-- apply post alter
|
||||
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
|
||||
alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
|
||||
|
||||
@@ -68,7 +68,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
|
||||
-- apply alter tables
|
||||
alter table migtest_e_basic alter column status drop default;
|
||||
alter table migtest_e_basic alter column status drop not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
|
||||
alter table migtest_e_basic alter column status2 type varchar(1);
|
||||
alter table migtest_e_basic alter column status2 set default 'N';
|
||||
alter table migtest_e_basic alter column status2 set not null;
|
||||
alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255);
|
||||
@@ -76,17 +76,17 @@ alter table migtest_e_basic alter column a_lob set default 'X';
|
||||
alter table migtest_e_basic alter column a_lob set not null;
|
||||
alter table migtest_e_basic alter column user_id set default 23;
|
||||
alter table migtest_e_basic alter column user_id set not null;
|
||||
alter table migtest_e_basic add column description_file bytea;
|
||||
alter table migtest_e_basic add column old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column eref_id integer;
|
||||
alter table migtest_e_basic add column if not exists description_file bytea;
|
||||
alter table migtest_e_basic add column if not exists old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column if not exists old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column if not exists eref_id integer;
|
||||
alter table migtest_e_history2 alter column test_string drop default;
|
||||
alter table migtest_e_history2 alter column test_string drop not null;
|
||||
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history alter column test_string drop not null;
|
||||
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history6 alter column test_number1 drop default;
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
-1033742102, 1.0__initial.sql
|
||||
-1861202915, 1.1.sql
|
||||
559327334, 1.0__initial.sql
|
||||
-1063437228, 1.1.sql
|
||||
274267648, 1.2__dropsFor_1.1.sql
|
||||
601885195, 1.3.sql
|
||||
-643994826, 1.3.sql
|
||||
-709144111, 1.4__dropsFor_1.3.sql
|
||||
783227075, R__multi_comments.sql
|
||||
561281075, R__order_views.sql
|
||||
|
||||
@@ -210,12 +210,12 @@ create table migtest_oto_master (
|
||||
);
|
||||
|
||||
-- apply alter tables
|
||||
alter table "table" add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table "table" add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history2 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history3 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history4 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history5 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history6 add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
-- apply post alter
|
||||
create table migtest_e_history2_history(
|
||||
id integer,
|
||||
|
||||
@@ -74,47 +74,47 @@ drop function if exists table_history_version();
|
||||
drop view table_with_history;
|
||||
-- apply alter tables
|
||||
alter table "table" alter column textfield drop not null;
|
||||
alter table "table" add column "select" varchar(255);
|
||||
alter table "table" add column textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column one_key integer;
|
||||
alter table migtest_ckey_detail add column two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column assoc_id integer;
|
||||
alter table "table" add column if not exists "select" varchar(255);
|
||||
alter table "table" add column if not exists textfield2 varchar(255);
|
||||
alter table migtest_ckey_detail add column if not exists one_key integer;
|
||||
alter table migtest_ckey_detail add column if not exists two_key varchar(127);
|
||||
alter table migtest_ckey_parent add column if not exists assoc_id integer;
|
||||
alter table migtest_e_basic alter column status set default 'A';
|
||||
alter table migtest_e_basic alter column status set not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
|
||||
alter table migtest_e_basic alter column status2 type varchar(127);
|
||||
alter table migtest_e_basic alter column status2 drop default;
|
||||
alter table migtest_e_basic alter column status2 drop not null;
|
||||
alter table migtest_e_basic alter column a_lob drop default;
|
||||
alter table migtest_e_basic alter column a_lob drop not null;
|
||||
alter table migtest_e_basic alter column user_id drop not null;
|
||||
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_basic add column if not exists new_string_field varchar(255) default 'foo''bar' not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists new_boolean_field2 boolean default true not null;
|
||||
alter table migtest_e_basic add column if not exists progress integer default 0 not null;
|
||||
alter table migtest_e_basic add column if not exists new_integer integer default 42 not null;
|
||||
alter table migtest_e_history add column if not exists sys_period tstzrange not null default tstzrange(current_timestamp, null);
|
||||
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
|
||||
alter table migtest_e_history2 alter column test_string set default 'unknown';
|
||||
alter table migtest_e_history2 alter column test_string set not null;
|
||||
alter table migtest_e_history2 add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column new_column varchar(20);
|
||||
alter table migtest_e_history2 add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists test_string3 varchar(255) default 'unknown' not null;
|
||||
alter table migtest_e_history2 add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history2_history add column if not exists test_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists test_string3 varchar(255) default 'unknown';
|
||||
alter table migtest_e_history2_history add column if not exists new_column varchar(20);
|
||||
alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
|
||||
alter table migtest_e_history5 add column test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column test_boolean boolean default false;
|
||||
alter table migtest_e_history5 add column if not exists test_boolean boolean default false not null;
|
||||
alter table migtest_e_history5_history add column if not exists test_boolean boolean default false;
|
||||
alter table migtest_e_history6 alter column test_number1 set default 42;
|
||||
alter table migtest_e_history6 alter column test_number1 set not null;
|
||||
alter table migtest_e_history6 alter column test_number2 drop not null;
|
||||
alter table migtest_e_history6_history alter column test_number2 drop not null;
|
||||
alter table migtest_e_softdelete add column deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column master_id bigint;
|
||||
alter table migtest_e_softdelete add column if not exists deleted boolean default false not null;
|
||||
alter table migtest_oto_child add column if not exists master_id bigint;
|
||||
alter table table_history alter column textfield drop not null;
|
||||
alter table table_history add column "select" varchar(255);
|
||||
alter table table_history add column textfield2 varchar(255);
|
||||
alter table table_history add column if not exists "select" varchar(255);
|
||||
alter table table_history add column if not exists textfield2 varchar(255);
|
||||
-- apply post alter
|
||||
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
|
||||
alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
|
||||
|
||||
@@ -68,7 +68,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
|
||||
-- apply alter tables
|
||||
alter table migtest_e_basic alter column status drop default;
|
||||
alter table migtest_e_basic alter column status drop not null;
|
||||
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
|
||||
alter table migtest_e_basic alter column status2 type varchar(1);
|
||||
alter table migtest_e_basic alter column status2 set default 'N';
|
||||
alter table migtest_e_basic alter column status2 set not null;
|
||||
alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255);
|
||||
@@ -76,17 +76,17 @@ alter table migtest_e_basic alter column a_lob set default 'X';
|
||||
alter table migtest_e_basic alter column a_lob set not null;
|
||||
alter table migtest_e_basic alter column user_id set default 23;
|
||||
alter table migtest_e_basic alter column user_id set not null;
|
||||
alter table migtest_e_basic add column description_file bytea;
|
||||
alter table migtest_e_basic add column old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column eref_id integer;
|
||||
alter table migtest_e_basic add column if not exists description_file bytea;
|
||||
alter table migtest_e_basic add column if not exists old_boolean boolean default false not null;
|
||||
alter table migtest_e_basic add column if not exists old_boolean2 boolean;
|
||||
alter table migtest_e_basic add column if not exists eref_id integer;
|
||||
alter table migtest_e_history2 alter column test_string drop default;
|
||||
alter table migtest_e_history2 alter column test_string drop not null;
|
||||
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2 add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history alter column test_string drop not null;
|
||||
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string1 varchar(255);
|
||||
alter table migtest_e_history2_history add column if not exists obsolete_string2 varchar(255);
|
||||
alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
|
||||
alter table migtest_e_history6 alter column test_number1 drop default;
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
113365976, 1.0__initial.sql
|
||||
637070078, 1.1.sql
|
||||
1799266243, 1.0__initial.sql
|
||||
1894754300, 1.1.sql
|
||||
274267648, 1.2__dropsFor_1.1.sql
|
||||
-1383541363, 1.3.sql
|
||||
195217400, 1.3.sql
|
||||
-709144111, 1.4__dropsFor_1.3.sql
|
||||
561281075, R__order_views.sql
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ebean.test.platform=yugabyte
|
||||
datasource.default=yugabyte
|
||||
ebean.test.dbName=unit
|
||||
ebean.test.yugabyte.version=2.16.0.1-b7
|
||||
ebean.test.yugabyte.version=2.18.0.0-b65
|
||||
|
||||
|
||||
@@ -22,3 +22,4 @@ find . -type f -name '*.kt' -exec sed -i '' -e 's|jakarta\.persistence\.|javax\.
|
||||
find . -type f -name '*.java' -exec sed -i '' -e 's|jakarta\.xml\.bind|javax\.xml\.bind|g' {} +
|
||||
find . -type f -name '*.kt' -exec sed -i '' -e 's|jakarta\.xml\.bind|javax\.xml\.bind|g' {} +
|
||||
|
||||
find . -type f -name '*.java' -exec sed -i '' -e 's|jakarta\.transaction\.|javax\.transaction\.|g' {} +
|
||||
|
||||
@@ -22,3 +22,5 @@ find . -type f -name '*.kt' -exec sed -i '' -e 's|javax\.persistence\.|jakarta\.
|
||||
find . -type f -name '*.java' -exec sed -i '' -e 's|javax\.xml\.bind|jakarta\.xml\.bind|g' {} +
|
||||
find . -type f -name '*.kt' -exec sed -i '' -e 's|javax\.xml\.bind|jakarta\.xml\.bind|g' {} +
|
||||
|
||||
find . -type f -name '*.java' -exec sed -i '' -e 's|javax\.transaction\.|jakarta\.transaction\.|g' {} +
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>ebean-parent</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<name>kotlin querybean generator</name>
|
||||
@@ -29,7 +29,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-querybean</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-core</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -64,14 +64,14 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-ddl-generator</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -120,7 +120,6 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.10.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-testCompile</id>
|
||||
|
||||
+14
-14
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-all</artifactId>
|
||||
@@ -14,67 +14,67 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-clickhouse</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-db2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-hana</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-hsqldb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-mysql</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-mariadb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-nuodb</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-oracle</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-postgres</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlanywhere</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlite</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-sqlserver</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-clickhouse</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-db2</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Provided scope so that the H2HistoryTrigger can live in Ebean core
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-hana</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-hsqldb</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-h2</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-mariadb</artifactId>
|
||||
@@ -14,13 +14,13 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-platform-mysql</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<artifactId>platforms</artifactId>
|
||||
<groupId>io.ebean</groupId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>ebean-platform-mysql</artifactId>
|
||||
@@ -14,7 +14,7 @@
|
||||
<dependency>
|
||||
<groupId>io.ebean</groupId>
|
||||
<artifactId>ebean-api</artifactId>
|
||||
<version>13.17.4</version>
|
||||
<version>13.18.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user