diff --git a/README.md b/README.md
index bdbbc639f8e929085fddcca6e30c60c5cf798364..b4c3899ec86f9cd97b0ed6cd370f83914567a532 100644
--- a/README.md
+++ b/README.md
@@ -14,14 +14,14 @@ Supports any database which has JDBC driver (which basically means - ANY databas
* Based on Eclipse platform.
* Uses plugins architecture and provides additional functionality for the following databases: MySQL/MariaDB, PostgreSQL, Oracle, DB2 LUW, Exasol, SQL Server, Sybase/SAP ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, Informix, etc.
-
-
-
-
+
+
+
+
## Download
-You can download prebuilt binaries from official web site or directly from GitHub releases.
+You can download prebuilt binaries from official web site or directly from GitHub releases.
## Running
@@ -57,7 +57,7 @@ Binaries are in `product/standalone/target/products`
- If you have any questions, suggestions, ideas, etc - write us.
- Pull requests are welcome.
-- Visit https://dbeaver.jkiss.org or https://dbeaver.com for more information.
+- Visit https://dbeaver.io or https://dbeaver.com for more information.
- Thanks for using DBeaver! Star if you like it.
## Contribution: help the Beaver!
diff --git a/bundles/org.jkiss.utils/META-INF/MANIFEST.MF b/bundles/org.jkiss.utils/META-INF/MANIFEST.MF
index 5cf823ad0dda612b6e457453c401d3e4d4c910b5..19e306914864836a229df28c173e95ad383562b4 100644
--- a/bundles/org.jkiss.utils/META-INF/MANIFEST.MF
+++ b/bundles/org.jkiss.utils/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.utils
-Bundle-Version: 2.1.65
-Bundle-Release-Date: 20180430
+Bundle-Version: 2.1.66
+Bundle-Release-Date: 20180514
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.jkiss.code,
org.jkiss.utils,
diff --git a/bundles/org.jkiss.utils/pom.xml b/bundles/org.jkiss.utils/pom.xml
index 5138ad3a1808112f47597fc6843b55b336dd52cc..8cd363abe62e121c90374fb9b4a898bf7a8ff116 100644
--- a/bundles/org.jkiss.utils/pom.xml
+++ b/bundles/org.jkiss.utils/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.utils
- 2.1.65
+ 2.1.66
eclipse-plugin
diff --git a/bundles/org.jkiss.utils/src/org/jkiss/utils/IOUtils.java b/bundles/org.jkiss.utils/src/org/jkiss/utils/IOUtils.java
index 0a873361b44d9bba793bc11c0d6da5155daa0671..65586a3193a0d51d9aec96ba7c87cf55091bff92 100644
--- a/bundles/org.jkiss.utils/src/org/jkiss/utils/IOUtils.java
+++ b/bundles/org.jkiss.utils/src/org/jkiss/utils/IOUtils.java
@@ -39,6 +39,14 @@ public final class IOUtils {
}
}
+ public static void close(AutoCloseable closeable) {
+ try {
+ closeable.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
public static void fastCopy(final InputStream src, final OutputStream dest) throws IOException {
fastCopy(src, dest, DEFAULT_BUFFER_SIZE);
}
diff --git a/bundles/org.jkiss.wmi/META-INF/MANIFEST.MF b/bundles/org.jkiss.wmi/META-INF/MANIFEST.MF
index bfb5b57efa02c39eaa5571726babd6676bbf4a02..9dc888a5f3578f04bf63b69631b62cbd9c938e9e 100644
--- a/bundles/org.jkiss.wmi/META-INF/MANIFEST.MF
+++ b/bundles/org.jkiss.wmi/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.wmi
-Bundle-Version: 2.0.75
-Bundle-Release-Date: 20180430
+Bundle-Version: 2.0.76
+Bundle-Release-Date: 20180514
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: %Bundle-Vendor
Export-Package: org.jkiss.wmi.service
diff --git a/bundles/org.jkiss.wmi/pom.xml b/bundles/org.jkiss.wmi/pom.xml
index 95f481a815473ef2b7fac954a11752379e6e7d80..e4798abf6a2a52bcec587a46f77460ca7568dbf4 100644
--- a/bundles/org.jkiss.wmi/pom.xml
+++ b/bundles/org.jkiss.wmi/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.wmi
- 2.0.75
+ 2.0.76
eclipse-plugin
diff --git a/features/org.jkiss.dbeaver.ce.feature/feature.xml b/features/org.jkiss.dbeaver.ce.feature/feature.xml
index e29930d5c66193c2c12719e915f7766e7e1eccf9..33bdeaad7b54d1dc43593262ffc1f3a5eb8d9039 100644
--- a/features/org.jkiss.dbeaver.ce.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ce.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ce.feature/pom.xml b/features/org.jkiss.dbeaver.ce.feature/pom.xml
index 9b5a7e33df0a5195125a9aee6c9ebd4d3b0d39bd..cbb3cea5269efd98fdf6dbf59421c94cae46c7a1 100644
--- a/features/org.jkiss.dbeaver.ce.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ce.feature/pom.xml
@@ -10,7 +10,7 @@
../../
org.jkiss.dbeaver.ce.feature
- 5.0.4
+ 5.0.5
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.core.feature/feature.xml b/features/org.jkiss.dbeaver.core.feature/feature.xml
index f71bdb28d183527c7ecb42b31ec5e6af36744c25..f721d55756fabbb408b6ff99bfe565de2308ddce 100644
--- a/features/org.jkiss.dbeaver.core.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.core.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.core.feature/pom.xml b/features/org.jkiss.dbeaver.core.feature/pom.xml
index 5dc645a79133038753089b8cd7e9293d537bfe35..fcd41281019d18b266c370a46ea7ff25b3950de2 100644
--- a/features/org.jkiss.dbeaver.core.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.core.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.core.feature
- 5.0.4
+ 5.0.5
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.debug.feature/feature.xml b/features/org.jkiss.dbeaver.debug.feature/feature.xml
index 42d5a736e9037c08383986f5329cdf09d2d7837d..40fcf2b9727b3376f68d09a8f2a46544a4d6cb07 100644
--- a/features/org.jkiss.dbeaver.debug.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.debug.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.debug.feature/pom.xml b/features/org.jkiss.dbeaver.debug.feature/pom.xml
index 3bf79d8a53408614d6b132588999607886118830..8418c5f26f2ec21c93e480cc36b566bd88085eeb 100644
--- a/features/org.jkiss.dbeaver.debug.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.debug.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.debug.feature
- 5.0.4
+ 5.0.5
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.db2.feature/feature.xml b/features/org.jkiss.dbeaver.ext.db2.feature/feature.xml
index 75247c92103a193e3fd8cce2b0d07a395c2b4343..dbc59c89620077e519e436fb7f82a0cf98b5c3be 100644
--- a/features/org.jkiss.dbeaver.ext.db2.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.db2.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.db2.feature/pom.xml b/features/org.jkiss.dbeaver.ext.db2.feature/pom.xml
index bb7c88752d1b4517e4a4c29478e484d14c699484..15e989dc44c7b697e7ddae357279408363e0923a 100644
--- a/features/org.jkiss.dbeaver.ext.db2.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.db2.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.ext.db2.feature
- 2.1.67
+ 2.1.68
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.exasol.feature/feature.xml b/features/org.jkiss.dbeaver.ext.exasol.feature/feature.xml
index 77940ebcd2ea681e8e13f472a32d57995addf330..9b7a0efd1d88ef3b6eebceb9b4e2be7b5f425dc5 100644
--- a/features/org.jkiss.dbeaver.ext.exasol.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.exasol.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.exasol.feature/pom.xml b/features/org.jkiss.dbeaver.ext.exasol.feature/pom.xml
index 6a9522883e3c3db9723a7dfb59700340d4a052da..4277d11aad3a5224040a1e92c724c88fb26e6c88 100644
--- a/features/org.jkiss.dbeaver.ext.exasol.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.exasol.feature/pom.xml
@@ -10,7 +10,7 @@
../../
org.jkiss.dbeaver.ext.exasol.feature
- 1.0.40
+ 1.0.41
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.generic.feature/feature.xml b/features/org.jkiss.dbeaver.ext.generic.feature/feature.xml
index dc8c087e691a509a01e5051d921fc9f92c6b82ae..e82207f41372be7bbff6ef1535863ce20ec12ca5 100644
--- a/features/org.jkiss.dbeaver.ext.generic.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.generic.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.generic.feature/pom.xml b/features/org.jkiss.dbeaver.ext.generic.feature/pom.xml
index fbe49e6085af2f4f7c42aa2055b20490c8b86685..1f41f172065f7965eb754946e46ffea9ff7c4745 100644
--- a/features/org.jkiss.dbeaver.ext.generic.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.generic.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.ext.generic.feature
- 2.1.68
+ 2.1.69
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.mysql.feature/feature.xml b/features/org.jkiss.dbeaver.ext.mysql.feature/feature.xml
index 67b6791d98aa6e4000280ee40daa34314109db0d..c70d69e5dc4707ac8b84320596e31f1cebeaf7e4 100644
--- a/features/org.jkiss.dbeaver.ext.mysql.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.mysql.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.mysql.feature/pom.xml b/features/org.jkiss.dbeaver.ext.mysql.feature/pom.xml
index f08cffe7103dd4c61535e3bbf2c30cb2e192099b..e1ac48f7b2fb47686cbd831dff80de9adba3705f 100644
--- a/features/org.jkiss.dbeaver.ext.mysql.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.mysql.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.ext.mysql.feature
- 2.1.67
+ 2.1.68
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.office.feature/feature.xml b/features/org.jkiss.dbeaver.ext.office.feature/feature.xml
index 698ead638eea1796664928d4368e754ff5794d03..f5ca2325e74f5c5b7f1fc29f15cedf72dae75243 100644
--- a/features/org.jkiss.dbeaver.ext.office.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.office.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.office.feature/pom.xml b/features/org.jkiss.dbeaver.ext.office.feature/pom.xml
index 3582b04f52d95c383ec0f6e9029d4e0742cd0186..27e33752a746887d0797642da0cfec7ae35c332c 100644
--- a/features/org.jkiss.dbeaver.ext.office.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.office.feature/pom.xml
@@ -9,7 +9,7 @@
../../
org.jkiss.dbeaver.ext.office.feature
- 1.1.19
+ 1.1.20
eclipse-feature
org.jkiss.dbeaver
diff --git a/features/org.jkiss.dbeaver.ext.oracle.feature/feature.xml b/features/org.jkiss.dbeaver.ext.oracle.feature/feature.xml
index 288e8f64ab1e254deaaecfb2ca1b83139c99b883..26f5195e43d63a38c4301b01b24c49657aeb0829 100644
--- a/features/org.jkiss.dbeaver.ext.oracle.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.oracle.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.oracle.feature/pom.xml b/features/org.jkiss.dbeaver.ext.oracle.feature/pom.xml
index 8bb2c483db1e42716d4756232429bf34ac519e61..9b7d37262c7dee327c113d7e3c1aedce3c5bf0ca 100644
--- a/features/org.jkiss.dbeaver.ext.oracle.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.oracle.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.ext.oracle.feature
- 2.1.67
+ 2.1.68
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.ext.ui.svg.feature/feature.xml b/features/org.jkiss.dbeaver.ext.ui.svg.feature/feature.xml
index f7db8f6d093f848d5324dcccca9b34152120a608..95e404d4630dfaa89a525b6bfb0dda028b393f76 100644
--- a/features/org.jkiss.dbeaver.ext.ui.svg.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.ui.svg.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.ui.svg.feature/pom.xml b/features/org.jkiss.dbeaver.ext.ui.svg.feature/pom.xml
index ed5e7a57e75e68c0459ac687a0d95caf7b8ac46b..dba2284e3db279551e65486d14a273dc79817f37 100644
--- a/features/org.jkiss.dbeaver.ext.ui.svg.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.ui.svg.feature/pom.xml
@@ -9,7 +9,7 @@
../../
org.jkiss.dbeaver.ext.ui.svg.feature
- 1.0.18
+ 1.0.19
eclipse-feature
org.jkiss.dbeaver
diff --git a/features/org.jkiss.dbeaver.ext.wmi.feature/feature.xml b/features/org.jkiss.dbeaver.ext.wmi.feature/feature.xml
index 220721e33feb4a6820fd0b76512e752220d1c310..82d2e71913b82fce02a88f28e40a6c298d40c918 100644
--- a/features/org.jkiss.dbeaver.ext.wmi.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.ext.wmi.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.ext.wmi.feature/pom.xml b/features/org.jkiss.dbeaver.ext.wmi.feature/pom.xml
index 1ad98517658a81280a611698851e18e719cd2e98..ef37900ec77c702eaf97845e932e3544b0970529 100644
--- a/features/org.jkiss.dbeaver.ext.wmi.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.ext.wmi.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.ext.wmi.feature
- 2.0.84
+ 2.0.85
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.net.sshj.feature/feature.xml b/features/org.jkiss.dbeaver.net.sshj.feature/feature.xml
index 87115a3c0c91a6c1706f220848ed8060a5f4f9e1..f8c3a8962f2fee90a35be5addd3a78bec668e4a0 100644
--- a/features/org.jkiss.dbeaver.net.sshj.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.net.sshj.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.net.sshj.feature/pom.xml b/features/org.jkiss.dbeaver.net.sshj.feature/pom.xml
index fe0448564902a7b1de3c6d1fad55d55c0e638072..38f917e2eafe436139555d8264842efe40066616 100644
--- a/features/org.jkiss.dbeaver.net.sshj.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.net.sshj.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.net.sshj.feature
- 1.0.3
+ 1.0.4
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.rcp.feature/feature.xml b/features/org.jkiss.dbeaver.rcp.feature/feature.xml
index 64ce06df607c6c3d3c67ed9c5104fc760d9d9ee5..ded110052bdb484d8d416a8a362fd4d2a83418e1 100644
--- a/features/org.jkiss.dbeaver.rcp.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.rcp.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.rcp.feature/pom.xml b/features/org.jkiss.dbeaver.rcp.feature/pom.xml
index 66415f10a34ae6f7b95fb1a434aea728a4077039..7cf13529c9daef2cb29232a74df437e2158b6d06 100644
--- a/features/org.jkiss.dbeaver.rcp.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.rcp.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.rcp.feature
- 2.1.57
+ 2.1.58
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.runtime.feature/feature.xml b/features/org.jkiss.dbeaver.runtime.feature/feature.xml
index 60182e31496aea7d2e5690683e3c1139d3b2268b..77385b2479b590e9c7f077b5b9fcc159947e450b 100644
--- a/features/org.jkiss.dbeaver.runtime.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.runtime.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/features/org.jkiss.dbeaver.runtime.feature/pom.xml b/features/org.jkiss.dbeaver.runtime.feature/pom.xml
index 34425585e0991ea11321e8caadcfa6ecc9054b68..05b7639d85f986101fff11a2159bc3866b79773b 100644
--- a/features/org.jkiss.dbeaver.runtime.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.runtime.feature/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.runtime.feature
- 5.0.4
+ 5.0.5
eclipse-feature
diff --git a/features/org.jkiss.dbeaver.standalone.feature/feature.xml b/features/org.jkiss.dbeaver.standalone.feature/feature.xml
index 0b2b92ef05ebe59ea1cc1f306d4be71c760184a8..e1e619d6dfaf64a24f1fa42f90cb0fba9901e9bf 100644
--- a/features/org.jkiss.dbeaver.standalone.feature/feature.xml
+++ b/features/org.jkiss.dbeaver.standalone.feature/feature.xml
@@ -2,7 +2,7 @@
@@ -30,10 +30,7 @@
-
-
diff --git a/features/org.jkiss.dbeaver.standalone.feature/pom.xml b/features/org.jkiss.dbeaver.standalone.feature/pom.xml
index 2bdd9f87fb5823353619ee0635e304c3476848e8..a84a2b8318537d67ede748055f5050dce7134932 100644
--- a/features/org.jkiss.dbeaver.standalone.feature/pom.xml
+++ b/features/org.jkiss.dbeaver.standalone.feature/pom.xml
@@ -10,7 +10,7 @@
../../
org.jkiss.dbeaver.standalone.feature
- 5.0.4
+ 5.0.5
eclipse-feature
diff --git a/nls/bundles/org.jkiss.dbeaver.core.application.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.core.application.nls/META-INF/MANIFEST.MF
index 53a01bbe8db5ce5e31d07a0f14676fa9e83a8f73..6c729b0b51f4e21fda75fdbf0d0000b4170de817 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.application.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.core.application.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core.application.nls
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.core.application
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.core.application.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.core.application.nls/pom.xml
index 71ea665d6fc722f5cbea462168b11a078d0bf7e4..9c090185e019afa885436e44b7cc75e123a21b4e 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.application.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.core.application.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.core.application.nls
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/META-INF/MANIFEST.MF
index 9f0b84ce63123427af6918aa19d22c2ac8ab74d8..f2d3b4e893c0e1fa1111350dc2c687e3b54ae843 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core.eclipse.nls
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.core.eclipse
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/pom.xml
index 63678b0e78dd1c9a8dcafc8b81fa397242a7e4f8..030af031a14a53c518c1cf9eb334c6330a5b57c1 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.core.eclipse.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.core.eclipse.nls
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.core.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.core.nls/META-INF/MANIFEST.MF
index d42f30c14a4168bd1c396f064f51246379483be9..f7b40362aac33c9fe86f8b8aefb0adeb3a414717 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.core.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core.nls
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.core.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.core.nls/pom.xml
index 44355ed3f9142f9e72d5ce91f596045acbd0f3bb..8cf11f434cf13188cf0a04405b20b0e5bb15b9f4 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.core.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.core.nls
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.core.nls/src/org/jkiss/dbeaver/core/CoreResources_zh.properties b/nls/bundles/org.jkiss.dbeaver.core.nls/src/org/jkiss/dbeaver/core/CoreResources_zh.properties
index 56cbc7e89b8c985248df1e7b69d051b29f686856..004a422f886ff5bd2c9118d3a2d0d78d391a00fd 100644
--- a/nls/bundles/org.jkiss.dbeaver.core.nls/src/org/jkiss/dbeaver/core/CoreResources_zh.properties
+++ b/nls/bundles/org.jkiss.dbeaver.core.nls/src/org/jkiss/dbeaver/core/CoreResources_zh.properties
@@ -1236,7 +1236,7 @@ sql_editor_resultset_filter_panel_menu_stop = \u505C\u6B62
sql_editor_resultset_filter_panel_menu_refresh_interval = \u6BCF {0} \u79D2\u5237\u65B0
sql_editor_resultset_filter_panel_menu_refresh_interval_1 = \u6BCF {0} \u79D2\u5237\u65B0
sql_editor_resultset_filter_panel_control_no_data = \u65E0\u6570\u636E
-sql_editor_resultset_filter_panel_control_execute_to_see_reslut = \u6267\u884C\u62C6\u67E5\u8BE2 {0} \u6216\u8005\u811A\u672C {1} \u6765\u67E5\u770B\u7ED3\u679C
+sql_editor_resultset_filter_panel_control_execute_to_see_reslut = \u6267\u884C\u67E5\u8BE2 {0} \u6216\u8005\u811A\u672C {1} \u6765\u67E5\u770B\u7ED3\u679C
## SQL editor resultset filter panel ##
## object properties editor ##
diff --git a/nls/bundles/org.jkiss.dbeaver.data.office.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.data.office.nls/META-INF/MANIFEST.MF
index 6cb73b015effd7195dea5caa0a2bf12791a156e4..6ae9f1b2e80521f709d5e60ef30ea5102c2ac7e8 100644
--- a/nls/bundles/org.jkiss.dbeaver.data.office.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.data.office.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.data.office.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.data.office
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.data.office.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.data.office.nls/pom.xml
index 872f359d8ff9b5d0c330da093331ff39f6ad5592..df99746978d0a063154f6da9c438ad452b291783 100644
--- a/nls/bundles/org.jkiss.dbeaver.data.office.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.data.office.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.data.office.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/META-INF/MANIFEST.MF
index 227c2011e57121ccefce97a3831a84a82cc8039f..2c325b5256cf0785893f795ef26304c4e917767d 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.db2.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.db2
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/pom.xml
index de8226ad1da1471c2d27a5c6e2c817bf3543c85a..1bff0e13df22891eaa38532a71b6471bd51a1588 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.db2.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.db2.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/META-INF/MANIFEST.MF
index 6a31d10132381c035a490727702faf99e91a85e1..b115bf1050a63c99175d78cf37a75d8eb367bfce 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.derby.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.derby
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/pom.xml
index 346fc59a35715cd76dc473fba05047c83144c2f0..3742889f9dda62fc8c6d78b8b0fffaacc4eb3b3d 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.derby.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.derby.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/META-INF/MANIFEST.MF
index c4956a021b0df298562d8dc260aaf1cf0ad74e62..2740a4f53a3e007cdf8a4b5e37374452a521e557 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.erd.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.erd
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/pom.xml
index 282160bee49589bea9a144fc0635065a352d00a5..975f237334d6d5b907580c7acccd060e57183e55 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.erd.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.erd.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/META-INF/MANIFEST.MF
index d8b8dd681f5cb33eef236d14ded6b09d164a7390..8624fb8e392baadb0390dd8195c087de04a4b7b2 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Exasol extension NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.exasol.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.exasol
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/pom.xml
index f5adaf0cb140e08482e9aab108d6d222cfa8e02d..7abef01fb05b5effa4d1705f4eaaa2b4d6cf46bd 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.exasol.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.exasol.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/META-INF/MANIFEST.MF
index f42a2a54c3b0563d1b25d9cebc66668c74ad36b9..fbd8df2c3b9fd4dc19c16d5b1c87abf3730d5cfb 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.firebird.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.firebird
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/pom.xml
index cda95f4794f64b5058e4c4cbe920d0a256ea35aa..ac2a94bcb0aa3e8cec52f470b5265cfbfd006f23 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.firebird.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.firebird.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/META-INF/MANIFEST.MF
index 717c8008b42ab110f0606928783f240d99235318..a697e99b6a6b2cca6b3ffe5997415ede897aaeb8 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Generic datasources NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.generic.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.generic
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/pom.xml
index e3fd910ab0bf957d7c0e6b91bc82a6d03b8b2ca5..a4b53dcb79f45d7467d5628ad725f406bb25a783 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.generic.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.generic.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/META-INF/MANIFEST.MF
index a0991619239da2593c37e478cb1007e3c448935d..1e26513fd1e8b1e786b6def7b2e72be39084d266 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.h2.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.h2
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/pom.xml
index 12c50e2da25ff53de3a31d3142cf5f55e1ef4a37..03e096a4075f7b2c2d5f020e58abdd55a61b4522 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.h2.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.h2.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/META-INF/MANIFEST.MF
index e9889519b8d22a72f0c8bdaa614bd46a9f2266e4..7c74c34dadddd2f0384f39a4d29d36c24be149ca 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.hsqldb.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.hsqldb
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/pom.xml
index b5948c5d22eb7914e32066e95db4f863edda7193..d06e9b5f8d0b896c7c290b3946026c6722f6a7e9 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.hsqldb.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.hsqldb.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/META-INF/MANIFEST.MF
index e42d94aa1f993845feb8a2dd23ec852e90d3a8d4..35e7ca98673321a965ba56a246f86259a318f5fa 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Import config extension NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.import_config.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.import_config
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/pom.xml
index 2a5154b5294dab9fff1b4737a586ebeb7093a80c..c554caae2ed3b0dba841dbe1ef915520b6441296 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.import_config.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.import_config.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/META-INF/MANIFEST.MF
index 24c4a916cae314bba52d94f668d8d6336da3225a..ede140e0dd5d1d6187802f75a6e37917a59ea2ae 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Informix extension NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.informix.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.informix
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/pom.xml
index 5e9e0d3f6d8f01ea82420bd87087c9aa8c3a2bc8..7652785ed8b21137f04f6b960f9a3d14b7065a91 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.informix.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.informix.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/META-INF/MANIFEST.MF
index 3267bd93ab777df91e63b2a9b062a3f22e0bd052..5ea9cb0107a3b4c8f9a8c8647978625f4f6ead3b 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SQL Server extension NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.mssql.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.mssql
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/pom.xml
index 4d3298134714f03e0f78a160350189955d2591c2..16e2a16308a3e2d75b1a0ec976a1a4c58d2b9f69 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.mssql.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.mssql.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/META-INF/MANIFEST.MF
index 140b5a3dec22085688d6e88d1fa6099fabb9a06d..479b322a1cf8dcc2a93c977625f6f99a3d4459ea 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MySQL extension NLS
Bundle-SymbolicName: org.jkiss.dbeaver.ext.mysql.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.mysql
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/pom.xml
index 4d6a305ffcc063bde2d74d8dfb1a0605281f6200..a3135939bf7858f19ede0f1f934c7906ebc02542 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.mysql.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.mysql.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/META-INF/MANIFEST.MF
index eafc16f3e4589b315e53d1b8cd8741d28d7bd2d1..1eae38c8f407de1029c1ea8b625cab8845ff5e75 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.netezza.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.netezza
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/pom.xml
index c7d12be972f0fe8505b006d4feebeaf320c4ca79..5f1dcfd8eb1a6d6acb9d767b5ce2601e2fe06dfb 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.netezza.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.netezza.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/META-INF/MANIFEST.MF
index bb0a78f615d76cb3d6c40632c8e4f3510c38cdef..cb1922cec74f99d5d449bc2671f1bdff5d4ded3e 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.oracle.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.oracle
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/pom.xml
index 2338b3b6c9505e0df28ace498dbde3a53530abb2..64abcb97cafeab1f69f50a023fb594062ac555e6 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.oracle.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/META-INF/MANIFEST.MF
index 60c44785c13d3c237f0658929cb0234e2ac6c33f..3651efec51872714dab59fe6df7284e130b29d35 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.phoenix.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.phoenix
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/pom.xml
index 912a7654e468461a86d9fab6e9182f9a505eed29..eef97ae61c0aef8b7d21291404dee5162c025fa2 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.phoenix.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.phoenix.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/META-INF/MANIFEST.MF
index fe5098586d37e71e2b7c69b7d803e3f2e600a213..8559db5136601e695a3c04622657c9c613dc1095 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.postgresql.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.postgresql
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/pom.xml
index 246fe083a664a172af7df4a21460f29070e3c95e..0b2706f6ba237fa961dc7c7e9deee7c711c8b1b6 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.postgresql.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.postgresql.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/META-INF/MANIFEST.MF
index 6886e6e395633b67241169d3db411451674d0c69..9b2eeb0319539c958de880d42bade5787c504a5a 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.sample.database.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.sample.database
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/pom.xml
index 3794eda0353f26b3254b469cc98d84cbfd97b511..c33ac81db1efd02d7eaeec5fc57e0bf1d4af37a3 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.sample.database.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.sample.database.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/META-INF/MANIFEST.MF
index f3512580ab367df615ce70a92c55369f1232f3be..71fd33ead6a5a33e83d6e57874a65ca6b32ddc60 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.sqlite.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.sqlite
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/pom.xml
index 7d97f4de682e9b0bce50d781577ad0cd91a8ff60..277c6ce762f09dd1085b8d77ccf846315107f34f 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.sqlite.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.sqlite.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/META-INF/MANIFEST.MF
index 599ad2b258cdb54c90dc301cb3742ca0d17c9219..2db01011b1e76c59bdaf547742db129689b22b70 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.teradata.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.teradata
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/pom.xml
index 2b9112b1e91191bb8444dfa1d17a756817de7a02..b84980fbe9b72fc2ede889a5b28cf3b7642d2509 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.teradata.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.teradata.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/META-INF/MANIFEST.MF
index eef26b1567b02b9f3f181c6141002853f009a716..8ce0d33e0f61612f8f51e7b8d08fd94439377028 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.ui.locks.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.ui.locks
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/pom.xml
index b59e099d317180f82b7e8440f85805d2911104ed..f899c93925c2889cd5cd98659f3d44e389f03373 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.ui.locks.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.ui.locks.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/META-INF/MANIFEST.MF
index c4a4e7c6115047370f3c54328e79833bcb8807a7..1fda3d5a91ea1a1665f0fe4fba36390f6f8fce64 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.ui.svg.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.ui.svg
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/pom.xml
index d228cb9f6ad1abf41fa10535ff7e12d1fca24b53..97fe7a8d2d6364f389fdd83c374366adf5a0ffa0 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.ui.svg.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.ui.svg.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/META-INF/MANIFEST.MF
index b2aec5786addc7708b967e8a4fd5f9b796a645e8..9350079c93948bcb77911b7770436e9e5c4de53a 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.vertica.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.vertica
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/pom.xml
index ea15954339f0a315303c61526f7689748ecbe498..0950c731b55240e69fd7172d197718edd1e2f185 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.vertica.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.vertica.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/META-INF/MANIFEST.MF
index 6c1c62f4caaed9dc08c20c9b3e0e7a9026dc253a..ef42bb0312fd47667d272d559a2573fd98be159f 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ext.wmi.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ext.wmi
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/pom.xml
index 63dd4793fe07b4debe8d72dacdb28a9353d62a62..e8faa534cfc2b074755bf458634e0111e4e70c71 100644
--- a/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ext.wmi.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ext.wmi.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.model.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.model.nls/META-INF/MANIFEST.MF
index 187afc474bcce2560097f0c13ebcb77ad5848413..ab69d2a0a7242f07b72a954ab03d69ae27c6854e 100644
--- a/nls/bundles/org.jkiss.dbeaver.model.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.model.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.model.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.model
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.model.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.model.nls/pom.xml
index ca777fc7ee6468309b3e7520ce6b3dbc977c6dfd..66038172dd98d3533b99dac15a484a6786ee120b 100644
--- a/nls/bundles/org.jkiss.dbeaver.model.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.model.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.model.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.model.nls/src/org/jkiss/dbeaver/model/messages/ModelResources_zh.properties b/nls/bundles/org.jkiss.dbeaver.model.nls/src/org/jkiss/dbeaver/model/messages/ModelResources_zh.properties
index 58f853c53efcb55defcaf55d03cbbf7d7b7c3571..26b2b9b7c503d572f311936b969bd124b2fb1eba 100644
--- a/nls/bundles/org.jkiss.dbeaver.model.nls/src/org/jkiss/dbeaver/model/messages/ModelResources_zh.properties
+++ b/nls/bundles/org.jkiss.dbeaver.model.nls/src/org/jkiss/dbeaver/model/messages/ModelResources_zh.properties
@@ -93,7 +93,6 @@ model_jdbc_save_to_file_ = \u4FDD\u5B58\u81F3\u6587\u4EF6 ...
model_jdbc_scale = \u8303\u56F4
model_jdbc_Schema = \u6A21\u5F0F
model_jdbc_Serializable = \u5E8F\u5217\u5316
-model_jdbc_set_to_current_time = \u8BBE\u7F6E\u4E3A\u5F53\u524D\u65F6\u95F4
model_jdbc_type_name = \u7C7B\u578B\u540D\u79F0
model_jdbc_unknown = \u672A\u77E5
model_jdbc_unsupported_column_type_ = \u4E0D\u652F\u6301\u7684\u5217\u7C7B\u578B
diff --git a/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/META-INF/MANIFEST.MF
index 0c1e012887f5ad738793975c28ba1f6f2fc92019..eec54d078af8d6ec5eaf49c000a5838f42e4a472 100644
--- a/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.runtime.ide.core.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.runtime.ide.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/pom.xml
index 8b9582603d896faa54b4f102fb9ae041b2510d60..95e04a1aa90b71d7926dfc36d4e080f6219cd2eb 100644
--- a/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.runtime.ide.core.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.runtime.ide.core.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.dbeaver.ui.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.dbeaver.ui.nls/META-INF/MANIFEST.MF
index 9bb65d2f8c205e855aaf59d9801756096cbd7f18..71d8604086f47187d15e0692180bfbb459c74e74 100644
--- a/nls/bundles/org.jkiss.dbeaver.ui.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.dbeaver.ui.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.ui.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.dbeaver.ui
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.dbeaver.ui.nls/pom.xml b/nls/bundles/org.jkiss.dbeaver.ui.nls/pom.xml
index 7534ca50d675cf402ec8033d3d2bb2024534a6e6..8b2579dfa1130d86eea22b503a727ea6f593d95b 100644
--- a/nls/bundles/org.jkiss.dbeaver.ui.nls/pom.xml
+++ b/nls/bundles/org.jkiss.dbeaver.ui.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.dbeaver.ui.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.utils.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.utils.nls/META-INF/MANIFEST.MF
index d3d1131afce91cdf0dbc7144a16011d1fdb5f066..412da16153399a006d51a156892e737d464155ca 100644
--- a/nls/bundles/org.jkiss.utils.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.utils.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.utils.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.utils
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.utils.nls/pom.xml b/nls/bundles/org.jkiss.utils.nls/pom.xml
index 0f1ca980d4145a547c3c16b1ea7397191276d953..96edcd305fda5d200bb91baa1eb7744b6097a7f0 100644
--- a/nls/bundles/org.jkiss.utils.nls/pom.xml
+++ b/nls/bundles/org.jkiss.utils.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.utils.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/bundles/org.jkiss.wmi.nls/META-INF/MANIFEST.MF b/nls/bundles/org.jkiss.wmi.nls/META-INF/MANIFEST.MF
index da66dfc3d8822d04d4a459398312dcc5dc30a3ec..c02182e381d350eb72213edcf8c439c498980c0c 100644
--- a/nls/bundles/org.jkiss.wmi.nls/META-INF/MANIFEST.MF
+++ b/nls/bundles/org.jkiss.wmi.nls/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.wmi.nls
-Bundle-Version: 1.0.14
-Bundle-Release-Date: 20180430
+Bundle-Version: 1.0.15
+Bundle-Release-Date: 20180514
Fragment-Host: org.jkiss.wmi
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: JKISS
diff --git a/nls/bundles/org.jkiss.wmi.nls/pom.xml b/nls/bundles/org.jkiss.wmi.nls/pom.xml
index db54eac0c4686087c4c45166819469a8c81a36db..219fc24f3376a7167880893f563a9810c696a3ad 100644
--- a/nls/bundles/org.jkiss.wmi.nls/pom.xml
+++ b/nls/bundles/org.jkiss.wmi.nls/pom.xml
@@ -9,6 +9,6 @@
../../../
org.jkiss.wmi.nls
- 1.0.14
+ 1.0.15
eclipse-plugin
diff --git a/nls/features/org.jkiss.dbeaver.ce.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ce.nls.feature/feature.xml
index 00ddf77b6ad79be00878d55b182e27cc75be7dd9..8c4a916bcdae871e852c13539e6600616fe330f5 100644
--- a/nls/features/org.jkiss.dbeaver.ce.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ce.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ce.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ce.nls.feature/pom.xml
index 6c29a94056f0793b264d7c4d3ed1e01c45c50f3f..dd31541fdae4d84c4fabeb10c9c0a781da2116d0 100644
--- a/nls/features/org.jkiss.dbeaver.ce.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ce.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ce.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/feature.xml
index 1dfc3a5d248f3fe41e0449da735988b5fd9b556f..1ba6476c66e14dc5cd171b389d3f89a6db4dfcf9 100644
--- a/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/pom.xml
index ad4f261c1c4c953df866fdf2ea2a0e485b50ca43..a5361af8b00d303503db668751560cf5c48bef4a 100644
--- a/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.db2.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.db2.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/feature.xml
index a925bee9253d1eb7bfb89902db9a578f6fc7a076..02855310c51140de5d09a1515b348769845aef9f 100644
--- a/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/pom.xml
index e68f02384c3024bcc27d3a7736ab8b834c422b5f..8a2ac28c40a1b7b37c96390b84d9828aecedd99c 100644
--- a/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.exasol.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.exasol.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/feature.xml
index 54ecc92a14d0b04bc54bb943db2e805ba4039744..f0b85123e743f0d5908c3ba3879cc1db6d95d7d7 100644
--- a/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/pom.xml
index adb675605fb223aee06d11e89063ce500841727a..3242886e46046ee7dc8ac54998e20c2e46672f70 100644
--- a/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.generic.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.generic.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/feature.xml
index 08fa31ae4ac66cadeb0ae86a64b03ce73b5a5bb4..d37f6f32e1d89ce0daa3a2bbc32e1840371c7f92 100644
--- a/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/pom.xml
index 2e30753eaafd8d2b4ac70f07a984f153722eed42..c5bda573dd49e34af817d14fc91b076b41a3d55b 100644
--- a/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.mysql.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.mysql.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/feature.xml
index 2700ba04ad552d405ef54bf2cde381869379fbc5..c1960f1960e9d67ff84d0dead49db1b3f7759267 100644
--- a/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/pom.xml
index 919215b63f63f0c0ed211f169edc5f6fc0bbe390..9b88a034d59fafc6c86c71fd2d4f1e47b220c79a 100644
--- a/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.office.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.office.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/feature.xml
index 94d708efd7c910c56fb272e80ccb62c65853feb3..e8dfa53494912be5ac6e0a30e2bf97ef6a38f125 100644
--- a/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/pom.xml
index a7789808ebac077590b3e6da1cc2ce7236082405..54096fe1bd6588ef94c245d08fb7095b84d3a63c 100644
--- a/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.oracle.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.oracle.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/feature.xml
index 75c641b8ed51a85ee8369d1341d43a51ddd59af8..867914c426728d82d5151a5d498f4141128400ae 100644
--- a/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/pom.xml
index 3d85a049e82fef9b0d9a3e7c3643459fb2ef0f6b..1692e2ed6464f3024100fb03ca3179e36ae5f3ee 100644
--- a/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.ui.svg.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.ui.svg.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/feature.xml
index 1de9edcea10a78c82f2bda640d5b7c8a9016e7e6..d3a648cafa30c0925dbd14c6e33010705619da3f 100644
--- a/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/pom.xml
index ecd2c404677d11b77e5fbbb97dbe62a1f0a21b57..b0e7fac9080b8274fc711c3462dc0bcf3189072f 100644
--- a/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ext.wmi.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ext.wmi.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.ide.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.ide.nls.feature/feature.xml
index 8244cedb8a3e72835ed73e2a658b0eccec917c3b..a34d69e730ed9818f5af7f4526e0798d8c5b9191 100644
--- a/nls/features/org.jkiss.dbeaver.ide.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.ide.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.ide.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.ide.nls.feature/pom.xml
index bc1cb30b53539aab68f4cf426653dfa0f6daad10..7b5e399d7ca307ca38920d99d192174b7983731f 100644
--- a/nls/features/org.jkiss.dbeaver.ide.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.ide.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.ide.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.rcp.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.rcp.nls.feature/feature.xml
index 54a44d26237c47768887a633d17b473b606d4c7d..c0a807fb9f30597be30f320599a6a4b87a073b58 100644
--- a/nls/features/org.jkiss.dbeaver.rcp.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.rcp.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.rcp.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.rcp.nls.feature/pom.xml
index 6055377171d1905b94998abbaccb30414b676c3b..161e2f967517c0793efc2f2fbb06657a87d0d39f 100644
--- a/nls/features/org.jkiss.dbeaver.rcp.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.rcp.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.rcp.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.runtime.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.runtime.nls.feature/feature.xml
index f66b20e5d48b43645ab634134819edca105237bf..33e1b80bbc7eae8d2f5320351f2ac90943f4a2a9 100644
--- a/nls/features/org.jkiss.dbeaver.runtime.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.runtime.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.runtime.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.runtime.nls.feature/pom.xml
index 4fb1ff495c4a51ce8f50c709b5d437269705c001..21ac798064653a858ef997be7aa7042689bbfb86 100644
--- a/nls/features/org.jkiss.dbeaver.runtime.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.runtime.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.runtime.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/nls/features/org.jkiss.dbeaver.standalone.nls.feature/feature.xml b/nls/features/org.jkiss.dbeaver.standalone.nls.feature/feature.xml
index f63334854e8aab0efb157defca688ff74aa3be1f..1829f6c4f737c96da29aeeed1721b6efaf49ec01 100644
--- a/nls/features/org.jkiss.dbeaver.standalone.nls.feature/feature.xml
+++ b/nls/features/org.jkiss.dbeaver.standalone.nls.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/nls/features/org.jkiss.dbeaver.standalone.nls.feature/pom.xml b/nls/features/org.jkiss.dbeaver.standalone.nls.feature/pom.xml
index 2537fb34c2da128af21ad555fed1b038ea2e6048..7c59831023cabde1a48f845584bede6e39a10da5 100644
--- a/nls/features/org.jkiss.dbeaver.standalone.nls.feature/pom.xml
+++ b/nls/features/org.jkiss.dbeaver.standalone.nls.feature/pom.xml
@@ -10,7 +10,7 @@
../../../
org.jkiss.dbeaver.standalone.nls.feature
- 1.0.14
+ 1.0.15
eclipse-feature
diff --git a/plugins/org.jkiss.dbeaver.core.application/META-INF/MANIFEST.MF b/plugins/org.jkiss.dbeaver.core.application/META-INF/MANIFEST.MF
index e900b2c8dbbf3472b13776e2cd2b673f3044299c..fa03d43c98c5e229a9d44ac3ccc3fc21d66c1eab 100644
--- a/plugins/org.jkiss.dbeaver.core.application/META-INF/MANIFEST.MF
+++ b/plugins/org.jkiss.dbeaver.core.application/META-INF/MANIFEST.MF
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core.application;singleton:=true
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.jkiss.dbeaver.core.application
Bundle-ClassPath: .
diff --git a/plugins/org.jkiss.dbeaver.core.application/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.core.application/OSGI-INF/l10n/bundle.properties
index 66494bc365ef516b0f7ac24de7c14a8a21f2b8bb..891f9a785675e4d9c342146f89ca2106aee95726 100644
--- a/plugins/org.jkiss.dbeaver.core.application/OSGI-INF/l10n/bundle.properties
+++ b/plugins/org.jkiss.dbeaver.core.application/OSGI-INF/l10n/bundle.properties
@@ -5,7 +5,7 @@ productName = DBeaver
productTitle = DBeaver - Universal Database Manager
productCopyright = (C) 2018 JKISS project
productSubTitle = Universal Database Manager
-productWebsite = https://dbeaver.jkiss.org/
+productWebsite = https://dbeaver.io/
productEmail = serge@jkiss.org
aboutText = DBeaver - Universal Database Manager
extension.standalone.name = DBeaver Standalone
diff --git a/plugins/org.jkiss.dbeaver.core.application/pom.xml b/plugins/org.jkiss.dbeaver.core.application/pom.xml
index 85f90fd89b286c10786df6fb257da65236000d07..f1a6fd0dc108f7c5bf03be7913a21e004ea3042f 100644
--- a/plugins/org.jkiss.dbeaver.core.application/pom.xml
+++ b/plugins/org.jkiss.dbeaver.core.application/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.core.application
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/plugins/org.jkiss.dbeaver.core.eclipse/META-INF/MANIFEST.MF b/plugins/org.jkiss.dbeaver.core.eclipse/META-INF/MANIFEST.MF
index bac4ed028247a3f213038196b749316bcaeb70bf..077de4547f340d7b4ef4fe9eb6ced001e5b79fb8 100644
--- a/plugins/org.jkiss.dbeaver.core.eclipse/META-INF/MANIFEST.MF
+++ b/plugins/org.jkiss.dbeaver.core.eclipse/META-INF/MANIFEST.MF
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core.eclipse;singleton:=true
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.ui,
org.jkiss.dbeaver.core,
diff --git a/plugins/org.jkiss.dbeaver.core.eclipse/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.core.eclipse/OSGI-INF/l10n/bundle.properties
index 9a6af2d639d00dd55171133988518c422917f1f3..cff10de399e12b4a6f6b83459bb8c62c616b01fe 100644
--- a/plugins/org.jkiss.dbeaver.core.eclipse/OSGI-INF/l10n/bundle.properties
+++ b/plugins/org.jkiss.dbeaver.core.eclipse/OSGI-INF/l10n/bundle.properties
@@ -2,6 +2,13 @@
Bundle-Vendor = JKISS
Bundle-Name = DBeaver Eclipse Plugin
+productName=DBeaver
+productTitle=Universal Database Manager
+productCopyright=(C) 2018 JKISS
+productSubTitle=DBeaver CE Eclipse Plugin
+productWebsite=https://dbeaver.io/
+productEmail=support@jkiss.org
+
menu.edit=Edit
menu.navigate=Navigate
diff --git a/plugins/org.jkiss.dbeaver.core.eclipse/build.properties b/plugins/org.jkiss.dbeaver.core.eclipse/build.properties
index a248704a298f67f3106ea3ecad5c43595399f6ec..ce94e51dc2120ad4439885948d415a492f91c994 100644
--- a/plugins/org.jkiss.dbeaver.core.eclipse/build.properties
+++ b/plugins/org.jkiss.dbeaver.core.eclipse/build.properties
@@ -4,5 +4,4 @@ bin.includes = .,\
about.ini,\
about.properties,\
dbeaver32.png,\
- plugin.properties,\
plugin.xml
diff --git a/plugins/org.jkiss.dbeaver.core.eclipse/plugin.properties b/plugins/org.jkiss.dbeaver.core.eclipse/plugin.properties
deleted file mode 100644
index 52008e4d98384b5a2b2f9f91e6c53be903143b8a..0000000000000000000000000000000000000000
--- a/plugins/org.jkiss.dbeaver.core.eclipse/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-productName=DBeaver Enterprise
-productTitle=DBeaver - Enterprise Database Manager
-productCopyright=(C) 2018 Rider Soft
-productSubTitle=Enterprise Database Manager - Eclipse Plugin
-productWebsite=https://dbeaver.com/
-productEmail=support@dbeaver.com
diff --git a/plugins/org.jkiss.dbeaver.core.eclipse/pom.xml b/plugins/org.jkiss.dbeaver.core.eclipse/pom.xml
index b8f6785edf76a2c10c57652ed04595f00eca656f..4c841af00c363e79a83b172e895d5b3783448ba0 100644
--- a/plugins/org.jkiss.dbeaver.core.eclipse/pom.xml
+++ b/plugins/org.jkiss.dbeaver.core.eclipse/pom.xml
@@ -9,6 +9,6 @@
../../
org.jkiss.dbeaver.core.eclipse
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
index 377905de0bc54f11b88266726a5d93c881881190..ed9f86d77fbcf3e637004bddd1882fe8bd551747 100644
--- a/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
+++ b/plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.jkiss.dbeaver.core;singleton:=true
-Bundle-Version: 5.0.4
-Bundle-Release-Date: 20180430
+Bundle-Version: 5.0.5
+Bundle-Release-Date: 20180514
Bundle-Activator: org.jkiss.dbeaver.core.DBeaverActivator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
index 4abb20094ebf72c705aa9ec40b51b950a3c76648..f766ed9c3f88c85b61cd2effb7eea6865e5fa752 100644
--- a/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
+++ b/plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
@@ -301,6 +301,8 @@ command.org.jkiss.dbeaver.core.qm.filter.name=Filters ...
command.org.jkiss.dbeaver.core.qm.filter.description=Set query manager filter
command.org.jkiss.dbeaver.core.qm.clear.name=Clear log
command.org.jkiss.dbeaver.core.qm.clear.description=Clear query manager log
+command.org.jkiss.dbeaver.core.qm.refresh.name=Refresh query history
+command.org.jkiss.dbeaver.core.qm.refresh.description=Refresh query history
command.org.jkiss.dbeaver.core.process.stop.name=Terminate process
command.org.jkiss.dbeaver.core.process.stop.description=Terminates running process
@@ -443,6 +445,14 @@ dataTransfer.processor.xml.description=Export to XML file(s)
dataTransfer.processor.xml.propertyGroup.general.label = General
dataTransfer.processor.xml.property.extension.label = File extension
dataTransfer.processor.xml.property.format.label = Dates/numbers format
+dataTransfer.processor.dbunit.name=DbUnit
+dataTransfer.processor.dbunit.description=Export to DbUnit XML file(s)
+dataTransfer.processor.dbunit.propertyGroup.general.label = General
+dataTransfer.processor.dbunit.property.extension.label = File extension
+dataTransfer.processor.dbunit.property.uppercase.table.name.label = Force upper case table name
+dataTransfer.processor.dbunit.property.uppercase.column.names.label = Force upper case column names
+dataTransfer.processor.dbunit.property.include.null.values.label=Include NULL values in export
+dataTransfer.processor.dbunit.property.null.value.string.label=Replace NULL values with
dataTransfer.processor.json.name=JSON
dataTransfer.processor.json.description=Export to JSON file(s)
dataTransfer.processor.json.propertyGroup.general.label = General
@@ -474,6 +484,7 @@ context.org.jkiss.dbeaver.ui.context.resultset.name = Results viewer context
context.org.jkiss.dbeaver.ui.context.resultset.edit.description = Results edit context
context.org.jkiss.dbeaver.ui.context.resultset.edit.name = Results edit context
context.org.jkiss.dbeaver.ui.editors.sql.name = SQL Editor Context
+context.org.jkiss.dbeaver.ui.editors.sql.scriptname = SQL Script Editor Context
column.org.jkiss.dbeaver.ui.editors.columns.script.position.name = Script position
diff --git a/plugins/org.jkiss.dbeaver.core/plugin.xml b/plugins/org.jkiss.dbeaver.core/plugin.xml
index 785446c04ba98f37ee5528ef4ea460d0799d4d46..8647512bce55650d9898a7407a082c25ab6951b8 100644
--- a/plugins/org.jkiss.dbeaver.core/plugin.xml
+++ b/plugins/org.jkiss.dbeaver.core/plugin.xml
@@ -544,6 +544,7 @@
+
@@ -1678,6 +1679,9 @@
+
+
+
@@ -2416,13 +2420,17 @@
+ commandId="org.jkiss.dbeaver.core.qm.filter"
+ label="%command.org.jkiss.dbeaver.core.qm.filter.name"
+ tooltip="%command.org.jkiss.dbeaver.core.qm.filter.description"/>
+ commandId="org.jkiss.dbeaver.core.qm.clear"
+ label="%command.org.jkiss.dbeaver.core.qm.clear.name"
+ tooltip="%command.org.jkiss.dbeaver.core.qm.clear.description"/>
+
@@ -2435,6 +2443,10 @@
commandId="org.jkiss.dbeaver.core.qm.clear"
label="%command.org.jkiss.dbeaver.core.qm.clear.name"
tooltip="%command.org.jkiss.dbeaver.core.qm.clear.description"/>
+
@@ -2534,25 +2546,25 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -2560,7 +2572,7 @@
-
+
@@ -2609,6 +2621,12 @@
name="%context.org.jkiss.dbeaver.ui.editors.sql.name"
parentId="org.eclipse.ui.textEditorScope">
+
+
+
@@ -3533,6 +3551,20 @@
+
+
+
+
+
+
+
+
+
../../
org.jkiss.dbeaver.core
- 5.0.4
+ 5.0.5
eclipse-plugin
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/DBeaverPreferences.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/DBeaverPreferences.java
index 25d140d00ba3f3a0f74a2efdda33961a60723d48..b5fc0f217e83b0998aa91df0454a3acbc5cd34ef 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/DBeaverPreferences.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/DBeaverPreferences.java
@@ -139,6 +139,7 @@ public final class DBeaverPreferences
public static final String RESULT_SET_ROW_BATCH_SIZE = "resultset.show.row.batch.size"; //$NON-NLS-1$
public static final String RESULT_SET_PRESENTATION = "resultset.presentation.active"; //$NON-NLS-1$
public static final String RESULT_SET_STRING_USE_CONTENT_EDITOR = "resultset.string.use.content.editor"; //$NON-NLS-1$
+ public static final String RESULT_SET_USE_NAVIGATOR_FILTERS = "resultset.filter.use.navigator"; //$NON-NLS-1$
public static final String RESULT_TEXT_MAX_COLUMN_SIZE = "resultset.text.max.column.size"; //$NON-NLS-1$
public static final String RESULT_TEXT_VALUE_FORMAT = "resultset.text.value.format"; //$NON-NLS-1$
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
index 0e813445597fa5642a1943b7fed8dbeed43d987d..5947d255942e51cb4e887d7128a1e588b18a4c9b 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreMessages.java
@@ -763,6 +763,8 @@ public class CoreMessages extends NLS {
public static String pref_page_content_editor_checkbox_keys_always_use_all_columns;
public static String pref_page_content_editor_checkbox_new_rows_after;
public static String pref_page_content_editor_checkbox_refresh_after_update;
+ public static String pref_page_content_editor_checkbox_use_navigator_filters;
+ public static String pref_page_content_editor_checkbox_use_navigator_filters_tip;
public static String pref_page_content_editor_group_content;
public static String pref_page_content_editor_label_max_text_length;
public static String pref_page_content_editor_group_hex;
@@ -1061,6 +1063,9 @@ public class CoreMessages extends NLS {
public static String pref_page_sql_format_label_convert_keyword_case_tip;
public static String pref_page_sql_format_label_extract_sql_from_source_code;
public static String pref_page_sql_format_label_extract_sql_from_source_code_tip;
+ public static String pref_page_sql_format_group_style;
+ public static String pref_page_sql_format_label_bold_keywords;
+ public static String pref_page_sql_format_label_bold_keywords_tip;
public static String pref_page_sql_format_group_formatter;
public static String pref_page_sql_format_label_formatter;
public static String pref_page_sql_format_label_keyword_case;
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
index 3480f081cfdf5d9645829e47b33c1136d9aa5387..fd79af28ef637b7720741ce8b50f85be7887ec93 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
@@ -757,6 +757,8 @@ pref_page_content_editor_checkbox_edit_long_as_lobs = Edit LONG columns as LOBs
pref_page_content_editor_checkbox_keys_always_use_all_columns = Always use all table columns as key
pref_page_content_editor_checkbox_new_rows_after = Insert new rows after current
pref_page_content_editor_checkbox_refresh_after_update = Refresh after update
+pref_page_content_editor_checkbox_use_navigator_filters = Use navigator filters
+pref_page_content_editor_checkbox_use_navigator_filters_tip = Filter (hide) columns according to database navigator filters
pref_page_content_editor_group_content = LOB
pref_page_content_editor_group_hex = Binary editor
pref_page_content_editor_group_keys = Unique keys
@@ -1014,6 +1016,10 @@ pref_page_sql_format_label_convert_keyword_case = Convert keyword case
pref_page_sql_format_label_convert_keyword_case_tip = Auto-convert keywords to upper/lower case on enter
pref_page_sql_format_label_extract_sql_from_source_code = Extract SQL from source code
pref_page_sql_format_label_extract_sql_from_source_code_tip = On source code paste will remove all source language elements like quotes, +, \\n, etc
+pref_page_sql_format_group_style = Style
+pref_page_sql_format_label_bold_keywords = Use bold font for keywords
+pref_page_sql_format_label_bold_keywords_tip = Use bold font for keywords and data types
+
pref_page_sql_format_group_formatter = Formatter
pref_page_sql_format_label_formatter = Formatter
pref_page_sql_format_label_keyword_case = Keyword case
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
index 4800b214ac7126f9908c33979b2dccc6caadf30a..a38a7a10de5c02399efb3cf58d9beed8319ffa7e 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverPreferencesInitializer.java
@@ -139,6 +139,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.SQL_FORMAT_KEYWORD_CASE_AUTO, true);
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.SQL_FORMAT_EXTRACT_FROM_SOURCE, true);
+ PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.SQL_FORMAT_BOLD_KEYWORDS, true);
}
PrefUtils.setDefaultPreferenceValue(store, SQLPreferenceConstants.RESET_CURSOR_ON_EXECUTE, false);
@@ -191,6 +192,7 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_RIGHT_JUSTIFY_NUMBERS, true);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_ROW_BATCH_SIZE, 1);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_STRING_USE_CONTENT_EDITOR, false);
+ PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_SET_USE_NAVIGATOR_FILTERS, true);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_TEXT_MAX_COLUMN_SIZE, 255);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.RESULT_TEXT_VALUE_FORMAT, DBDDisplayFormat.EDIT.name());
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/WorkbenchContextListener.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/WorkbenchContextListener.java
index af83d160a66c38834b172610328d9e301338dff1..eca72c26a42bb66facbe698156ccf37a21da072c 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/WorkbenchContextListener.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/WorkbenchContextListener.java
@@ -30,6 +30,7 @@ import org.eclipse.ui.contexts.IContextActivation;
import org.eclipse.ui.contexts.IContextService;
import org.jkiss.dbeaver.model.runtime.features.DBRFeature;
import org.jkiss.dbeaver.model.runtime.features.DBRFeatureRegistry;
+import org.jkiss.dbeaver.model.struct.DBSDataContainer;
import org.jkiss.dbeaver.ui.DBeaverUIConstants;
import org.jkiss.dbeaver.ui.actions.DataSourcePropertyTester;
import org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer;
@@ -185,7 +186,9 @@ class WorkbenchContextListener implements IWindowListener, IPageListener, IPartL
}
activationSQL = contextService.activateContext(SQL_EDITOR_CONTEXT_ID);
}
- if (part instanceof EntityEditor || part.getAdapter(ResultSetViewer.class) != null) {
+ if (part.getAdapter(ResultSetViewer.class) != null || (
+ part instanceof EntityEditor && ((EntityEditor) part).getDatabaseObject() instanceof DBSDataContainer))
+ {
if (activationResults != null) {
contextService.deactivateContext(activationResults);
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/RunnableContextDelegate.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/RunnableContextDelegate.java
index faa40336f698fd79afa307788b5822283897df0e..a3a476ab08d7cb588f629857de9405eb5aee6277 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/RunnableContextDelegate.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/RunnableContextDelegate.java
@@ -1,48 +1,41 @@
-/*
- * DBeaver - Universal Database Manager
- * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jkiss.dbeaver.runtime;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
-import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
-import org.jkiss.dbeaver.utils.RuntimeUtils;
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * Progress monitor default implementation
- */
-public class RunnableContextDelegate implements DBRRunnableContext {
-
- private final IRunnableContext delegate;
-
- public RunnableContextDelegate(IRunnableContext delegate) {
- this.delegate = delegate;
- }
-
- @Override
- public void run(boolean fork, boolean cancelable, final DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
- delegate.run(fork, cancelable, new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- runnable.run(RuntimeUtils.makeMonitor(monitor));
- }
- });
- }
-}
+/*
+ * DBeaver - Universal Database Manager
+ * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jkiss.dbeaver.runtime;
+
+import org.eclipse.jface.operation.IRunnableContext;
+import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
+import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
+import org.jkiss.dbeaver.utils.RuntimeUtils;
+
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * Progress monitor default implementation
+ */
+public class RunnableContextDelegate implements DBRRunnableContext {
+
+ private final IRunnableContext delegate;
+
+ public RunnableContextDelegate(IRunnableContext delegate) {
+ this.delegate = delegate;
+ }
+
+ @Override
+ public void run(boolean fork, boolean cancelable, final DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
+ delegate.run(fork, cancelable, monitor -> runnable.run(RuntimeUtils.makeMonitor(monitor)));
+ }
+}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/DefaultEventFilter.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/DefaultEventFilter.java
index 5b9763e952ec02928e4549c427ff3c4cd0abe295..ba20e5f4dd3f277e9a4da86674d673436f2cfecc 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/DefaultEventFilter.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/DefaultEventFilter.java
@@ -1,6 +1,6 @@
/*
* DBeaver - Universal Database Manager
- * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ * Copyright (C) 2010-2018 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,28 +18,15 @@
package org.jkiss.dbeaver.runtime.qm;
import org.jkiss.dbeaver.core.DBeaverCore;
-import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
-import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
-import org.jkiss.dbeaver.model.qm.QMConstants;
-import org.jkiss.dbeaver.model.qm.QMEventFilter;
-import org.jkiss.dbeaver.model.qm.QMMetaEvent;
-import org.jkiss.dbeaver.model.qm.QMObjectType;
+import org.jkiss.dbeaver.model.qm.*;
import org.jkiss.dbeaver.model.qm.meta.*;
-import org.jkiss.utils.CommonUtils;
-
-import java.util.ArrayList;
-import java.util.Collection;
/**
* Default event filter based on preference settings.
*/
public class DefaultEventFilter implements QMEventFilter {
- private boolean showSessions = false;
- private boolean showTransactions = false;
- private boolean showQueries = false;
-
- private java.util.List showPurposes = new ArrayList<>();
+ private QMEventCriteria eventCriteria = new QMEventCriteria();
public DefaultEventFilter()
{
@@ -48,21 +35,7 @@ public class DefaultEventFilter implements QMEventFilter {
public void reloadPreferences()
{
- DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
-
- Collection objectTypes = QMObjectType.fromString(store.getString(QMConstants.PROP_OBJECT_TYPES));
- this.showSessions = objectTypes.contains(QMObjectType.session);
- this.showTransactions = objectTypes.contains(QMObjectType.txn);
- this.showQueries = objectTypes.contains(QMObjectType.query);
-
- this.showPurposes.clear();
- for (String queryType : CommonUtils.splitString(store.getString(QMConstants.PROP_QUERY_TYPES), ',')) {
- try {
- this.showPurposes.add(DBCExecutionPurpose.valueOf(queryType));
- } catch (IllegalArgumentException e) {
- // ignore
- }
- }
+ eventCriteria = QMUtils.createDefaultCriteria(DBeaverCore.getGlobalPreferenceStore());
}
@Override
@@ -70,11 +43,12 @@ public class DefaultEventFilter implements QMEventFilter {
{
QMMObject object = event.getObject();
if (object instanceof QMMStatementExecuteInfo) {
- return showQueries && showPurposes.contains(((QMMStatementExecuteInfo) object).getStatement().getPurpose());
+ return eventCriteria.hasObjectType(QMObjectType.query) &&
+ eventCriteria.hasQueryType(((QMMStatementExecuteInfo) object).getStatement().getPurpose());
} else if (object instanceof QMMTransactionInfo || object instanceof QMMTransactionSavepointInfo) {
- return showTransactions;
+ return eventCriteria.hasObjectType(QMObjectType.txn);
} else if (object instanceof QMMSessionInfo) {
- return showSessions;
+ return eventCriteria.hasObjectType(QMObjectType.session);
}
return true;
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMControllerImpl.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMControllerImpl.java
index 6c54b959525f49ab4247deb30f30168c6378ef52..15458c87ac6ed39e5b46ac8cf808e2d15ebc7e3a 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMControllerImpl.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMControllerImpl.java
@@ -1,6 +1,6 @@
/*
* DBeaver - Universal Database Manager
- * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ * Copyright (C) 2010-2018 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,14 +16,22 @@
*/
package org.jkiss.dbeaver.runtime.qm;
+import org.eclipse.core.runtime.Adapters;
+import org.jkiss.code.NotNull;
+import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.qm.*;
+import org.jkiss.dbeaver.model.qm.meta.*;
+import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
+import org.jkiss.utils.ArrayUtils;
+import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
/**
@@ -36,6 +44,7 @@ public class QMControllerImpl implements QMController {
private QMExecutionHandler defaultHandler;
private QMMCollectorImpl metaHandler;
private final List handlers = new ArrayList<>();
+ private QMEventBrowser eventBrowser;
public QMControllerImpl() {
defaultHandler = (QMExecutionHandler) Proxy.newProxyInstance(
@@ -75,6 +84,19 @@ public class QMControllerImpl implements QMController {
return defaultHandler;
}
+ @Override
+ public synchronized QMEventBrowser getEventBrowser() {
+ if (eventBrowser == null) {
+ eventBrowser = Adapters.adapt(this, QMEventBrowser.class);
+ if (eventBrowser == null) {
+ // Default browser
+ eventBrowser = new DefaultEventBrowser();
+ }
+ }
+
+ return eventBrowser;
+ }
+
@Override
public void registerHandler(QMExecutionHandler handler) {
synchronized (handlers) {
@@ -103,12 +125,6 @@ public class QMControllerImpl implements QMController {
metaHandler.removeListener(metaListener);
}
- @Override
- public List getPastMetaEvents()
- {
- return metaHandler.getPastEvents();
- }
-
List getHandlers()
{
synchronized (handlers) {
@@ -150,4 +166,60 @@ public class QMControllerImpl implements QMController {
}
+ private class DefaultEventBrowser implements QMEventBrowser {
+ @Override
+ public QMEventCursor getQueryHistoryCursor(
+ @NotNull DBRProgressMonitor monitor,
+ @NotNull QMEventCriteria criteria)
+ throws DBException
+ {
+ List pastEvents = metaHandler.getPastEvents();
+ if (criteria.getObjectTypes() != null || criteria.getQueryTypes() != null) {
+ // Filter by query type and object type
+ for (Iterator iter = pastEvents.iterator(); iter.hasNext(); ) {
+ QMMetaEvent event = iter.next();
+ if (criteria.getObjectTypes() != null) {
+ if (!matchesObjectType(event.getObject(), criteria.getObjectTypes())) {
+ iter.remove();
+ continue;
+ }
+ }
+ if (criteria.getQueryTypes() != null) {
+ QMMStatementInfo statementInfo = null;
+ if (event.getObject() instanceof QMMStatementInfo) {
+ statementInfo = (QMMStatementInfo) event.getObject();
+ } else if (event.getObject() instanceof QMMStatementExecuteInfo) {
+ statementInfo = ((QMMStatementExecuteInfo) event.getObject()).getStatement();
+ }
+ if (statementInfo != null &&
+ !ArrayUtils.contains(criteria.getQueryTypes(), ((QMMStatementInfo) event.getObject()).getPurpose()))
+ {
+ iter.remove();
+ }
+ }
+ }
+ }
+ if (CommonUtils.isEmpty(criteria.getSearchString())) {
+ return new QMUtils.ListCursorImpl(pastEvents);
+ } else {
+ String searchString = criteria.getSearchString().toLowerCase();
+ List filtered = new ArrayList<>();
+ for (QMMetaEvent event : pastEvents) {
+ if (event.getObject().getText().toLowerCase().contains(searchString)) {
+ filtered.add(event);
+ }
+ }
+ return new QMUtils.ListCursorImpl(filtered);
+ }
+ }
+
+ private boolean matchesObjectType(QMMObject object, QMObjectType[] objectTypes) {
+ if (object instanceof QMMSessionInfo)
+ return ArrayUtils.contains(objectTypes, QMObjectType.session);
+ else if (object instanceof QMMTransactionInfo || object instanceof QMMTransactionSavepointInfo)
+ return ArrayUtils.contains(objectTypes, QMObjectType.txn);
+ else
+ return ArrayUtils.contains(objectTypes, QMObjectType.query);
+ }
+ }
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
index ca6f32080ed02f3a440d7751b093a443eebea2c3..647c2e2a1744fcd06186e047a409acefe33f8633 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMLogFileWriter.java
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.model.qm.QMEventFilter;
import org.jkiss.dbeaver.model.qm.QMMetaEvent;
import org.jkiss.dbeaver.model.qm.QMMetaListener;
import org.jkiss.dbeaver.model.qm.meta.*;
+import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.utils.ContentUtils;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.dbeaver.utils.RuntimeUtils;
@@ -85,7 +86,7 @@ public class QMLogFileWriter implements QMMetaListener, DBPPreferenceListener {
}
@Override
- public synchronized void metaInfoChanged(@NotNull List events)
+ public synchronized void metaInfoChanged(DBRProgressMonitor monitor, @NotNull List events)
{
if (!enabled || logWriter == null) {
return;
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMMCollectorImpl.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMMCollectorImpl.java
index 82195fb160e34d8b9b25db56841d2af68267014c..1c06fb09624622a90fae95644eed75628e3a1868 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMMCollectorImpl.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/qm/QMMCollectorImpl.java
@@ -44,7 +44,7 @@ public class QMMCollectorImpl extends DefaultExecutionHandler implements QMMColl
private static final Log log = Log.getLog(QMMCollectorImpl.class);
private static final long EVENT_DISPATCH_PERIOD = 250;
- private static final int MAX_HISTORY_EVENTS = 1000;
+ private static final int MAX_HISTORY_EVENTS = 10000;
// Session map
private LongKeyMap sessionMap = new LongKeyMap<>();
@@ -323,10 +323,12 @@ public class QMMCollectorImpl extends DefaultExecutionHandler implements QMMColl
}
final List listeners = getListeners();
if (!listeners.isEmpty() && !events.isEmpty()) {
+ // Reverse collection. Fresh events must come first.
+ Collections.reverse(events);
// Dispatch all events
for (QMMetaListener listener : listeners) {
try {
- listener.metaInfoChanged(events);
+ listener.metaInfoChanged(monitor, events);
} catch (Throwable e) {
log.error("Error notifying event listener", e);
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/ProcedureParameterBindDialog.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/ProcedureParameterBindDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b4cac3feb07f5ae1349016d23deb04a3b03b8cd
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/ProcedureParameterBindDialog.java
@@ -0,0 +1,166 @@
+/*
+ * DBeaver - Universal Database Manager
+ * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jkiss.dbeaver.runtime.sql;
+
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.dialogs.StatusDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.*;
+import org.jkiss.dbeaver.DBException;
+import org.jkiss.dbeaver.core.DBeaverUI;
+import org.jkiss.dbeaver.model.DBIcon;
+import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor;
+import org.jkiss.dbeaver.model.struct.rdb.DBSProcedure;
+import org.jkiss.dbeaver.model.struct.rdb.DBSProcedureParameter;
+import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
+import org.jkiss.dbeaver.ui.DBeaverIcons;
+import org.jkiss.dbeaver.ui.UIUtils;
+import org.jkiss.dbeaver.ui.controls.CustomTableEditor;
+import org.jkiss.dbeaver.utils.GeneralUtils;
+import org.jkiss.utils.CommonUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Parameter binding
+ */
+public class ProcedureParameterBindDialog extends StatusDialog {
+
+ private static final String DIALOG_ID = "DBeaver.ProcedureParameterBindDialog";//$NON-NLS-1$
+
+ private DBSProcedure procedure;
+ private List parameters;
+ private Map values = new HashMap<>();
+
+ public ProcedureParameterBindDialog(Shell shell, DBSProcedure procedure, Map values)
+ {
+ super(shell);
+ this.procedure = procedure;
+ this.parameters = new ArrayList<>();
+
+ try {
+ this.parameters.addAll(procedure.getParameters(new VoidProgressMonitor()));
+ } catch (DBException e) {
+ DBUserInterface.getInstance().showError("Can't get parameters", "Error getting procedure papameters", e);
+ }
+
+ this.values = new HashMap<>(values);
+ }
+
+ @Override
+ protected IDialogSettings getDialogBoundsSettings()
+ {
+ return UIUtils.getDialogSettings(DIALOG_ID);
+ }
+
+ @Override
+ protected boolean isResizable()
+ {
+ return true;
+ }
+
+
+ @Override
+ protected Control createDialogArea(Composite parent)
+ {
+ getShell().setText(procedure.getProcedureType().name() + " " + procedure.getName() + " parameter(s)");
+ final Composite composite = (Composite)super.createDialogArea(parent);
+
+ final Table paramTable = new Table(composite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
+ final GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.widthHint = 400;
+ gd.heightHint = 200;
+ paramTable.setLayoutData(gd);
+ paramTable.setHeaderVisible(true);
+ paramTable.setLinesVisible(true);
+
+ final TableColumn nameColumn = UIUtils.createTableColumn(paramTable, SWT.LEFT, "Name");
+ nameColumn.setWidth(100);
+ final TableColumn valueColumn = UIUtils.createTableColumn(paramTable, SWT.LEFT, "Value");
+ valueColumn.setWidth(200);
+ final TableColumn typeColumn = UIUtils.createTableColumn(paramTable, SWT.LEFT, "Type");
+ typeColumn.setWidth(60);
+ final TableColumn kindColumn = UIUtils.createTableColumn(paramTable, SWT.LEFT, "Kind");
+ kindColumn.setWidth(40);
+
+ for (DBSProcedureParameter param : parameters) {
+ TableItem item = new TableItem(paramTable, SWT.NONE);
+ item.setData(param);
+ item.setImage(DBeaverIcons.getImage(DBIcon.TREE_ATTRIBUTE));
+ item.setText(0, param.getName());
+ Object value = values.get(param);
+ item.setText(1, CommonUtils.toString(value, ""));
+ item.setText(2, param.getParameterType().getFullTypeName());
+ item.setText(3, param.getParameterKind().getTitle());
+ }
+
+ final CustomTableEditor tableEditor = new CustomTableEditor(paramTable) {
+ {
+ firstTraverseIndex = 1;
+ lastTraverseIndex = 1;
+ editOnEnter = false;
+ }
+ @Override
+ protected Control createEditor(Table table, int index, TableItem item) {
+ if (index != 1) {
+ return null;
+ }
+ DBSProcedureParameter param = (DBSProcedureParameter) item.getData();
+ Text editor = new Text(table, SWT.BORDER);
+ editor.setText(CommonUtils.toString(values.get(param), ""));
+ editor.selectAll();
+ return editor;
+ }
+ @Override
+ protected void saveEditorValue(Control control, int index, TableItem item) {
+ DBSProcedureParameter param = (DBSProcedureParameter) item.getData();
+ String newValue = ((Text) control).getText();
+ item.setText(1, newValue);
+
+ values.put(param, newValue);
+ }
+ };
+
+ if (!parameters.isEmpty()) {
+ DBeaverUI.asyncExec(() -> {
+ paramTable.select(0);
+ tableEditor.showEditor(paramTable.getItem(0), 1);
+ });
+ }
+
+ updateStatus(GeneralUtils.makeInfoStatus("Use Tab to switch."));
+ return composite;
+ }
+
+ @Override
+ protected void okPressed()
+ {
+ super.okPressed();
+ }
+
+ public List getParameters() {
+ return parameters;
+ }
+
+ public Map getValues() {
+ return values;
+ }
+}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryParameterBindDialog.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryParameterBindDialog.java
index 1acd870e1c5e6b53e6663e27e648d6c425a8b979..0245b28f85d6ebc92b1ecda1181119f83e4a59e8 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryParameterBindDialog.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/sql/SQLQueryParameterBindDialog.java
@@ -45,7 +45,7 @@ public class SQLQueryParameterBindDialog extends StatusDialog {
private static Map savedParamValues = new HashMap<>();
- protected SQLQueryParameterBindDialog(Shell shell, List parameters)
+ public SQLQueryParameterBindDialog(Shell shell, List parameters)
{
super(shell);
this.parameters = parameters;
@@ -99,11 +99,7 @@ public class SQLQueryParameterBindDialog extends StatusDialog {
for (SQLQueryParameter param : parameters) {
if (param.getPrevious() != null) {
// Skip duplicates
- List dups = dupParameters.get(param.getName());
- if (dups == null) {
- dups = new ArrayList<>();
- dupParameters.put(param.getName(), dups);
- }
+ List dups = dupParameters.computeIfAbsent(param.getName(), k -> new ArrayList<>());
dups.add(param);
continue;
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/IStreamDataExporterSite.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/IStreamDataExporterSite.java
index bb27f10cf08c498ca2f377fc4320db725ea5f7ba..114dc8cd8863b10db9c6111e0437edf9d6757ce7 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/IStreamDataExporterSite.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/IStreamDataExporterSite.java
@@ -48,5 +48,7 @@ public interface IStreamDataExporterSite {
void flush() throws IOException;
void writeBinaryData(@NotNull DBDContentStorage cs) throws IOException;
+
+ String getOutputEncoding();
}
\ No newline at end of file
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java
index bc0ca0df9aa020f3685e67a2dc7a44ee43ccfb2c..14de7cd29fdc80164c00b4107635a0f6d783becd 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/stream/StreamTransferConsumer.java
@@ -549,5 +549,10 @@ public class StreamTransferConsumer implements IDataTransferConsumer columns;
+ private String tableName;
+ private boolean upperCaseTableName;
+ private boolean upperCaseColumnNames;
+ private boolean includeNullValues;
+
+ @Override
+ public void init(IStreamDataExporterSite site) throws DBException
+ {
+ super.init(site);
+ out = site.getWriter();
+ upperCaseTableName = CommonUtils.getBoolean(site.getProperties().get(PROP_UPPER_CASE_TABLE_NAME), true);
+ upperCaseColumnNames = CommonUtils.getBoolean(site.getProperties().get(PROP_UPPER_CASE_COLUMN_NAMES), true);
+ includeNullValues = CommonUtils.getBoolean(site.getProperties().get(PROP_INCLUDE_NULL_VALUES), true);
+ }
+
+ @Override
+ public void dispose()
+ {
+ out = null;
+ tableName = null;
+ columns = null;
+ super.dispose();
+ }
+
+ private String getTableName()
+ {
+ String result = "UNKNOWN_TABLE_NAME";
+ if (getSite() == null || getSite().getAttributes() == null || getSite().getAttributes().isEmpty()) {
+ return result;
+ }
+ DBSAttributeBase metaAttribute = getSite().getAttributes().get(0).getMetaAttribute();
+ if (metaAttribute != null && metaAttribute instanceof JDBCColumnMetaData) {
+ JDBCColumnMetaData metaData = (JDBCColumnMetaData) metaAttribute;
+ result = metaData.getEntityName();
+ }
+ if (upperCaseTableName) {
+ result = result == null ? null : result.toUpperCase();
+ }
+ return result;
+ }
+
+ @Override
+ public void exportHeader(DBCSession session) throws DBException, IOException
+ {
+ columns = getSite().getAttributes();
+ tableName = getTableName();
+ String outputEncoding = getSite().getOutputEncoding() == null || getSite().getOutputEncoding().length() == 0 ? "UTF-8" : getSite().getOutputEncoding();
+ out.append("").append(CommonUtils.getLineSeparator());
+ out.append("").append(CommonUtils.getLineSeparator());
+ }
+
+ @Override
+ public void exportRow(DBCSession session, Object[] row) throws DBException, IOException
+ {
+ out.write(" <" + tableName);
+ for (int i = 0; i < row.length; i++) {
+ if (DBUtils.isNullValue(row[i]) && !includeNullValues) {
+ continue;
+ }
+ DBDAttributeBinding column = columns.get(i);
+ String columnName = escapeXmlElementName(column.getName());
+ if (columnName != null && upperCaseColumnNames) {
+ columnName = columnName.toUpperCase();
+ }
+ out.write(" " + columnName + "=\"");
+ if (DBUtils.isNullValue(row[i])) {
+ writeTextCell("" + getSite().getProperties().get(PROP_NULL_VALUE_STRING));
+ } else if (row[i] instanceof DBDContent) {
+ // Content
+ // Inline textual content and handle binaries in some special way
+ DBDContent content = (DBDContent)row[i];
+ try {
+ DBDContentStorage cs = content.getContents(session.getProgressMonitor());
+ if (cs != null) {
+ if (ContentUtils.isTextContent(content)) {
+ try (Reader reader = cs.getContentReader()) {
+ writeCellValue(reader);
+ }
+ } else {
+ // BLOB format http://dbunit.sourceforge.net/datatypes.html
+ out.write("[BASE64]");
+ try (final InputStream stream = cs.getContentStream()) {
+ Base64.encode(stream, cs.getContentLength(), getSite().getWriter());
+ }
+ }
+ }
+ }
+ finally {
+ content.release();
+ }
+ } else {
+ writeTextCell(super.getValueDisplayString(column, row[i]));
+ }
+ out.write("\"");
+ }
+ out.write(">" + CommonUtils.getLineSeparator());
+ }
+
+ @Override
+ public void exportFooter(DBRProgressMonitor monitor) throws IOException
+ {
+ out.write("\n");
+ }
+
+ private void writeTextCell(@Nullable String value)
+ {
+ if (value != null) {
+ value = value.replace("<", "<").replace(">", ">").replace("&", "&");
+ out.write(value);
+ }
+ }
+
+ private void writeCellValue(Reader reader) throws IOException
+ {
+ // Copy reader
+ char buffer[] = new char[2000];
+ for (;;) {
+ int count = reader.read(buffer);
+ if (count <= 0) {
+ break;
+ }
+ for (int i = 0; i < count; i++) {
+ if (buffer[i] == '<') {
+ out.write("<");
+ }
+ else if (buffer[i] == '>') {
+ out.write(">");
+ } else if (buffer[i] == '&') {
+ out.write("&");
+ } else {
+ out.write(buffer[i]);
+ }
+ }
+ }
+ }
+
+ private String escapeXmlElementName(String name) {
+ return name.replaceAll("[^\\p{Alpha}\\p{Digit}]+","_");
+ }
+}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ActionUtils.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ActionUtils.java
index 1994327f9b17c6e6197e4ec9bf91726252add34c..76b648bf3939597ba364684b8b528b6a75349fc5 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ActionUtils.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/ActionUtils.java
@@ -51,12 +51,12 @@ public class ActionUtils
{
private static final Log log = Log.getLog(ActionUtils.class);
- public static CommandContributionItem makeCommandContribution(IServiceLocator serviceLocator, String commandId)
+ public static CommandContributionItem makeCommandContribution(@NotNull IServiceLocator serviceLocator, @NotNull String commandId)
{
return makeCommandContribution(serviceLocator, commandId, CommandContributionItem.STYLE_PUSH);
}
- public static CommandContributionItem makeCommandContribution(IServiceLocator serviceLocator, String commandId, int style)
+ public static CommandContributionItem makeCommandContribution(@NotNull IServiceLocator serviceLocator, @NotNull String commandId, int style)
{
return new CommandContributionItem(new CommandContributionItemParameter(
serviceLocator,
@@ -65,7 +65,7 @@ public class ActionUtils
style));
}
- public static CommandContributionItem makeCommandContribution(IServiceLocator serviceLocator, String commandId, int style, DBPImage icon)
+ public static CommandContributionItem makeCommandContribution(@NotNull IServiceLocator serviceLocator, @NotNull String commandId, int style, @Nullable DBPImage icon)
{
CommandContributionItemParameter parameters = new CommandContributionItemParameter(
serviceLocator,
@@ -82,7 +82,7 @@ public class ActionUtils
}
public static ContributionItem makeActionContribution(
- IAction action,
+ @NotNull IAction action,
boolean showText)
{
ActionContributionItem item = new ActionContributionItem(action);
@@ -93,9 +93,9 @@ public class ActionUtils
}
public static CommandContributionItem makeCommandContribution(
- IServiceLocator serviceLocator,
- String commandId,
- String name,
+ @NotNull IServiceLocator serviceLocator,
+ @NotNull String commandId,
+ @Nullable String name,
@Nullable DBPImage image,
@Nullable String toolTip,
boolean showText)
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverIcons.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverIcons.java
index 98e04a50232db22135a4c32503f3c16f07c3cc9f..92d69cfce551d19f8619bf00b03db44200ffc0f4 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverIcons.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/DBeaverIcons.java
@@ -40,6 +40,19 @@ public class DBeaverIcons
{
private static final Log log = Log.getLog(DBeaverIcons.class);
+ private static final boolean useLegacyOverlay;
+
+ static {
+ boolean hasCachedImageDataProvider;
+ try {
+ Class.forName("org.eclipse.jface.resource.CompositeImageDescriptor$CachedImageDataProvider");
+ hasCachedImageDataProvider = true;
+ } catch (ClassNotFoundException e) {
+ hasCachedImageDataProvider = false;
+ }
+ useLegacyOverlay = !hasCachedImageDataProvider;
+ }
+
private static class IconDescriptor {
String id;
Image image;
@@ -112,12 +125,30 @@ public class DBeaverIcons
(image.getBottomRight() == null ? "" : image.getBottomRight().getLocation());
IconDescriptor icon = compositeMap.get(compositeId);
if (icon == null) {
- OverlayImageDescriptor ovrImage = new OverlayImageDescriptor(mainIcon.imageDescriptor);
- if (image.getTopLeft() != null) ovrImage.setTopLeft(new ImageDescriptor[] { getImageDescriptor(image.getTopLeft())} );
- if (image.getTopRight() != null) ovrImage.setTopRight(new ImageDescriptor[]{ getImageDescriptor(image.getTopRight()) });
- if (image.getBottomLeft() != null) ovrImage.setBottomLeft(new ImageDescriptor[]{getImageDescriptor(image.getBottomLeft())});
- if (image.getBottomRight() != null) ovrImage.setBottomRight(new ImageDescriptor[]{getImageDescriptor(image.getBottomRight())});
- Image resultImage = ovrImage.createImage();
+ Image resultImage;
+ if (useLegacyOverlay) {
+ OverlayImageDescriptorLegacy ovrImage = new OverlayImageDescriptorLegacy(mainIcon.image.getImageData());
+ if (image.getTopLeft() != null)
+ ovrImage.setTopLeft(new ImageDescriptor[]{getImageDescriptor(image.getTopLeft())});
+ if (image.getTopRight() != null)
+ ovrImage.setTopRight(new ImageDescriptor[]{getImageDescriptor(image.getTopRight())});
+ if (image.getBottomLeft() != null)
+ ovrImage.setBottomLeft(new ImageDescriptor[]{getImageDescriptor(image.getBottomLeft())});
+ if (image.getBottomRight() != null)
+ ovrImage.setBottomRight(new ImageDescriptor[]{getImageDescriptor(image.getBottomRight())});
+ resultImage = ovrImage.createImage();
+ } else {
+ OverlayImageDescriptor ovrImage = new OverlayImageDescriptor(mainIcon.imageDescriptor);
+ if (image.getTopLeft() != null)
+ ovrImage.setTopLeft(new ImageDescriptor[]{getImageDescriptor(image.getTopLeft())});
+ if (image.getTopRight() != null)
+ ovrImage.setTopRight(new ImageDescriptor[]{getImageDescriptor(image.getTopRight())});
+ if (image.getBottomLeft() != null)
+ ovrImage.setBottomLeft(new ImageDescriptor[]{getImageDescriptor(image.getBottomLeft())});
+ if (image.getBottomRight() != null)
+ ovrImage.setBottomRight(new ImageDescriptor[]{getImageDescriptor(image.getBottomRight())});
+ resultImage = ovrImage.createImage();
+ }
icon = new IconDescriptor(compositeId, resultImage);
compositeMap.put(compositeId, icon);
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/OverlayImageDescriptorLegacy.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/OverlayImageDescriptorLegacy.java
new file mode 100644
index 0000000000000000000000000000000000000000..d8fe0c90624b3d13c3cad68f525cc71d04643108
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/OverlayImageDescriptorLegacy.java
@@ -0,0 +1,139 @@
+/*
+ * DBeaver - Universal Database Manager
+ * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jkiss.dbeaver.ui;
+
+import org.eclipse.jface.resource.CompositeImageDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.Point;
+
+/**
+ * Legacy version of OverlayImageDescriptor (for old Eclipse)
+ */
+@Deprecated
+public class OverlayImageDescriptorLegacy extends CompositeImageDescriptor {
+
+ static final int DEFAULT_WIDTH = 16;
+ static final int DEFAULT_HEIGHT = 16;
+
+ private Point imageSize = null;
+
+ private ImageData baseImageData;
+ private ImageDescriptor[] topLeft, topRight, bottomLeft, bottomRight;
+
+ public OverlayImageDescriptorLegacy(ImageData baseImageData) {
+ this.baseImageData = baseImageData;
+ this.imageSize = new Point(baseImageData.width, baseImageData.height);
+ }
+
+ public void setTopLeft(ImageDescriptor[] topLeft)
+ {
+ this.topLeft = topLeft;
+ }
+
+ public void setTopRight(ImageDescriptor[] topRight)
+ {
+ this.topRight = topRight;
+ }
+
+ public void setBottomLeft(ImageDescriptor[] bottomLeft)
+ {
+ this.bottomLeft = bottomLeft;
+ }
+
+ public void setBottomRight(ImageDescriptor[] bottomRight)
+ {
+ this.bottomRight = bottomRight;
+ }
+
+ @Override
+ protected void drawCompositeImage(int width, int height) {
+ ImageData base = baseImageData;
+ drawImage(base, 0, 0);
+ if (topRight != null)
+ drawTopRight(topRight);
+
+ if (bottomRight != null)
+ drawBottomRight(bottomRight);
+
+ if (bottomLeft != null)
+ drawBottomLeft(bottomLeft);
+
+ if (topLeft != null)
+ drawTopLeft(topLeft);
+ }
+
+ @Override
+ protected Point getSize() {
+ return imageSize;
+ }
+
+ protected void drawTopLeft(ImageDescriptor[] overlays) {
+ if (overlays == null)
+ return;
+ int length = overlays.length;
+ int x = 0;
+ for (int i = 0; i < 3; i++) {
+ if (i < length && overlays[i] != null) {
+ ImageData id = overlays[i].getImageData();
+ drawImage(id, x, 0);
+ x += id.width;
+ }
+ }
+ }
+ protected void drawTopRight(ImageDescriptor[] overlays) {
+ if (overlays == null)
+ return;
+ int length = overlays.length;
+ int x = getSize().x;
+ for (int i = 2; i >= 0; i--) {
+ if (i < length && overlays[i] != null) {
+ ImageData id = overlays[i].getImageData();
+ x -= id.width;
+ drawImage(id, x, 0);
+ }
+ }
+ }
+
+ protected void drawBottomLeft(ImageDescriptor[] overlays) {
+ if (overlays == null)
+ return;
+ int length = overlays.length;
+ int x = 0;
+ for (int i = 0; i < 3; i++) {
+ if (i < length && overlays[i] != null) {
+ ImageData id = overlays[i].getImageData();
+ drawImage(id, x, getSize().y - id.height);
+ x += id.width;
+ }
+ }
+ }
+ protected void drawBottomRight(ImageDescriptor[] overlays) {
+ if (overlays == null)
+ return;
+ int length = overlays.length;
+ int x = getSize().x;
+ for (int i = 2; i >= 0; i--) {
+ if (i < length && overlays[i] != null) {
+ ImageData id = overlays[i].getImageData();
+ x -= id.width;
+ drawImage(id, x, getSize().y - id.height);
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceHandler.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceHandler.java
index d3e8a3dd9962724414cafff40383354b789400d9..75c81847c440c02a005298bd9d4131573af40ba5 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceHandler.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceHandler.java
@@ -94,10 +94,10 @@ public class DataSourceHandler
if (onFinish != null) {
onFinish.onTaskFinished(result);
} else if (!result.isOK()) {
- DBUserInterface.getInstance().showError(
+ DBeaverUI.asyncExec(() -> DBUserInterface.getInstance().showError(
connectJob.getName(),
null,//NLS.bind(CoreMessages.runtime_jobs_connect_status_error, dataSourceContainer.getName()),
- result);
+ result));
}
}
};
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceMenuContributor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceMenuContributor.java
index d3ac866c439f20e79326cd4f269503a6250b05b7..2f77a31a8df68e245a398b189a56c6352397c4b2 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceMenuContributor.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/DataSourceMenuContributor.java
@@ -20,7 +20,6 @@ package org.jkiss.dbeaver.ui.actions.datasource;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.ui.actions.CompoundContributionItem;
-import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ui.actions.common.EmptyListAction;
import java.util.ArrayList;
@@ -28,8 +27,6 @@ import java.util.List;
public abstract class DataSourceMenuContributor extends CompoundContributionItem
{
- private static final Log log = Log.getLog(DataSourceMenuContributor.class);
-
@Override
protected IContributionItem[] getContributionItems()
{
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerCopyAbstract.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerCopyAbstract.java
index 93ec3017d495a00300ea2e52aae9cb43f6ebd109..a13e33e2fbc9c2d9db3e50ebccefa2cecc6ee62c 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerCopyAbstract.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerCopyAbstract.java
@@ -60,12 +60,8 @@ public abstract class NavigatorHandlerCopyAbstract extends AbstractHandler imple
final IWorkbenchWindow workbenchWindow = HandlerUtil.getActiveWorkbenchWindow(event);
final IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
- DBeaverUI.syncExec(new Runnable() {
- @Override
- public void run() {
- copySelection(workbenchWindow, activePart, selection);
- }
- });
+ DBeaverUI.syncExec(() ->
+ copySelection(workbenchWindow, activePart, selection));
return null;
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
index bbb5d3deb2d22589d43c2a043cc123edfb6c3f5f..9c84e264cddfe7e4bf932329ab82c11798a2ef5b 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java
@@ -40,13 +40,12 @@ import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.app.DBPResourceHandler;
import org.jkiss.dbeaver.model.edit.DBEObjectEditor;
import org.jkiss.dbeaver.model.navigator.*;
-import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
-import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.model.struct.DBSObject;
import org.jkiss.dbeaver.model.struct.DBSObjectContainer;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry;
import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
+import org.jkiss.dbeaver.ui.IRefreshablePart;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.controls.folders.ITabbedFolderContainer;
import org.jkiss.dbeaver.ui.dialogs.connection.EditConnectionDialog;
@@ -125,14 +124,16 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple
@Nullable String defaultPageId,
IWorkbenchWindow workbenchWindow)
{
- return openEntityEditor(selectedNode, defaultPageId, null , workbenchWindow);
+ return openEntityEditor(selectedNode, defaultPageId, null, null, workbenchWindow, true);
}
public static IEditorPart openEntityEditor(
@NotNull DBNNode selectedNode,
@Nullable String defaultPageId,
+ @Nullable String defaultFolderId,
@Nullable Map attributes,
- IWorkbenchWindow workbenchWindow)
+ IWorkbenchWindow workbenchWindow,
+ boolean activate)
{
if (selectedNode instanceof DBNDataSource) {
final DataSourceDescriptor dataSourceContainer = (DataSourceDescriptor) ((DBNDataSource)selectedNode).getDataSourceContainer();
@@ -140,19 +141,34 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple
return null;
}
try {
- String defaultFolderId = null;
if (selectedNode instanceof DBNDatabaseFolder && !(selectedNode.getParentNode() instanceof DBNDatabaseFolder) && selectedNode.getParentNode() instanceof DBNDatabaseNode) {
- defaultFolderId = selectedNode.getNodeType();
+ if (defaultFolderId == null) {
+ defaultFolderId = selectedNode.getNodeType();
+ }
selectedNode = selectedNode.getParentNode();
}
IEditorPart editor = findEntityEditor(workbenchWindow, selectedNode);
if (editor != null) {
+ boolean settingsChanged = false;
+ IEditorInput editorInput = editor.getEditorInput();
+ if (editorInput instanceof DatabaseEditorInput) {
+ settingsChanged = setInputAttributes((DatabaseEditorInput>) editorInput, defaultPageId, defaultFolderId, attributes);
+ }
if (editor instanceof ITabbedFolderContainer && defaultFolderId != null) {
// Activate default folder
- ((ITabbedFolderContainer) editor).switchFolder(defaultFolderId);
+ if (((ITabbedFolderContainer) editor).switchFolder(defaultFolderId)) {
+ settingsChanged = true;
+ }
+ }
+ if (settingsChanged) {
+ if (editor instanceof IRefreshablePart) {
+ ((IRefreshablePart) editor).refreshPart(selectedNode, true);
+ }
+ }
+ if (workbenchWindow.getActivePage().getActiveEditor() != editor || activate) {
+ workbenchWindow.getActivePage().activate(editor);
}
- workbenchWindow.getActivePage().activate(editor);
return editor;
}
@@ -225,14 +241,11 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple
private static void refreshDatabaseNode(@NotNull DBNDatabaseNode selectedNode) throws InvocationTargetException, InterruptedException {
final DBNDatabaseNode nodeToRefresh = selectedNode;
- DBeaverUI.runInProgressService(new DBRRunnableWithProgress() {
- @Override
- public void run(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- try {
- nodeToRefresh.refreshNode(monitor, nodeToRefresh);
- } catch (DBException e) {
- log.error("Error refreshing database object", e);
- }
+ DBeaverUI.runInProgressService(monitor -> {
+ try {
+ nodeToRefresh.refreshNode(monitor, nodeToRefresh);
+ } catch (DBException e) {
+ log.error("Error refreshing database object", e);
}
});
}
@@ -252,14 +265,26 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple
}
}
- private static void setInputAttributes(DatabaseEditorInput> editorInput, String defaultPageId, String defaultFolderId, Map attributes) {
- editorInput.setDefaultPageId(defaultPageId);
- editorInput.setDefaultFolderId(defaultFolderId);
+ private static boolean setInputAttributes(DatabaseEditorInput> editorInput, String defaultPageId, String defaultFolderId, Map attributes) {
+ boolean changed = false;
+ if (defaultPageId != null && !CommonUtils.equalObjects(defaultPageId, editorInput.getDefaultPageId())) {
+ editorInput.setDefaultPageId(defaultPageId);
+ changed = true;
+ }
+ if (defaultFolderId != null && !CommonUtils.equalObjects(defaultFolderId, editorInput.getDefaultFolderId())) {
+ editorInput.setDefaultFolderId(defaultFolderId);
+ changed = true;
+ }
+
if (!CommonUtils.isEmpty(attributes)) {
for (Map.Entry attr : attributes.entrySet()) {
- editorInput.setAttribute(attr.getKey(), attr.getValue());
+ if (!CommonUtils.equalObjects(editorInput.getAttribute(attr.getKey()), attr.getValue())) {
+ editorInput.setAttribute(attr.getKey(), attr.getValue());
+ changed = true;
+ }
}
}
+ return changed;
}
@Override
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/CSmartCombo.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/CSmartCombo.java
index 512855cef8a82ed2a8a41f689dd5ce013f0b35c2..ce5f468fd0ed42a3cb98e2f1bc1ff8456f58dfc9 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/CSmartCombo.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/CSmartCombo.java
@@ -195,6 +195,9 @@ public class CSmartCombo extends Composite {
@Override
public void setBackground(Color background)
{
+ if (background == getBackground()) {
+ return;
+ }
super.setBackground(background);
this.imageLabel.setBackground(background);
this.text.setBackground(background);
@@ -344,7 +347,7 @@ public class CSmartCombo extends Composite {
checkWidget();
String itemText;
- Image itemImage;
+ Image itemImage = null;
Color itemBackground = null;
if (index < 0) {
selectedItem = null;
@@ -354,7 +357,11 @@ public class CSmartCombo extends Composite {
} else {
selectedItem = this.items.get(index);
itemText = labelProvider.getText(selectedItem);
- itemImage = labelProvider.getImage(selectedItem);
+ try {
+ itemImage = labelProvider.getImage(selectedItem);
+ } catch (Exception e) {
+ // No image
+ }
if (labelProvider instanceof IColorProvider) {
itemBackground = ((IColorProvider) labelProvider).getBackground(selectedItem);
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/DatabaseLabelProviders.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/DatabaseLabelProviders.java
new file mode 100644
index 0000000000000000000000000000000000000000..6f2d2edcb7ce233ba40071ce9f58f862c5544ada
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/DatabaseLabelProviders.java
@@ -0,0 +1,105 @@
+/*
+ * DBeaver - Universal Database Manager
+ * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jkiss.dbeaver.ui.controls;
+
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.jkiss.dbeaver.core.CoreMessages;
+import org.jkiss.dbeaver.core.DBeaverCore;
+import org.jkiss.dbeaver.model.DBIcon;
+import org.jkiss.dbeaver.model.DBPDataSourceContainer;
+import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
+import org.jkiss.dbeaver.model.navigator.DBNModel;
+import org.jkiss.dbeaver.ui.DBeaverIcons;
+import org.jkiss.dbeaver.ui.UIUtils;
+
+/**
+ * Label providers
+ */
+public class DatabaseLabelProviders {
+
+
+ public static final String EMPTY_SELECTION_TEXT = CoreMessages.toolbar_datasource_selector_empty;
+
+ public static class ConnectionLabelProvider extends LabelProvider implements IColorProvider {
+ @Override
+ public Image getImage(Object element) {
+ if (element == null) {
+ return DBeaverIcons.getImage(DBIcon.TREE_DATABASE);
+ }
+ DBNModel nm = DBeaverCore.getInstance().getNavigatorModel();
+ nm.ensureProjectLoaded(((DBPDataSourceContainer) element).getRegistry().getProject());
+ final DBNDatabaseNode node = nm.findNode((DBPDataSourceContainer) element);
+ return node == null ? null : DBeaverIcons.getImage(node.getNodeIcon());
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element == null) {
+ return EMPTY_SELECTION_TEXT;
+ }
+ return ((DBPDataSourceContainer) element).getName();
+ }
+
+ @Override
+ public Color getForeground(Object element) {
+ return null;
+ }
+
+ @Override
+ public Color getBackground(Object element) {
+ return element == null ? null : UIUtils.getConnectionColor(((DBPDataSourceContainer) element).getConnectionConfiguration());
+ }
+ }
+
+ public static class DatabaseLabelProvider extends LabelProvider implements IColorProvider {
+ @Override
+ public Image getImage(Object element) {
+ if (element == null) {
+ return DBeaverIcons.getImage(DBIcon.TREE_DATABASE);
+ }
+ return DBeaverIcons.getImage(((DBNDatabaseNode)element).getNodeIconDefault());
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element == null) {
+ return EMPTY_SELECTION_TEXT;
+ }
+ return ((DBNDatabaseNode)element).getNodeName();
+ }
+
+ @Override
+ public Color getForeground(Object element) {
+ return null;
+ }
+
+ @Override
+ public Color getBackground(Object element) {
+ if (element instanceof DBNDatabaseNode) {
+ final DBPDataSourceContainer container = ((DBNDatabaseNode) element).getDataSourceContainer();
+ if (container != null) {
+ return UIUtils.getConnectionColor((container.getConnectionConfiguration()));
+ }
+ }
+ return null;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ProgressPageControl.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ProgressPageControl.java
index 0f9da48d0513a59b26b6724b16fe726e0c9a08b7..49b69c9f0b36a1ce57b07d0526edb7938dff6c2d 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ProgressPageControl.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/ProgressPageControl.java
@@ -131,6 +131,9 @@ public class ProgressPageControl extends Composite implements ISearchContextProv
public final void substituteProgressPanel(ProgressPageControl externalPageControl)
{
this.ownerPageControl = externalPageControl;
+ if (this.ownerPageControl != null) {
+ this.ownerPageControl.setChildControl(this);
+ }
}
public void createOrSubstituteProgressPanel(IWorkbenchPartSite site) {
@@ -515,17 +518,12 @@ public class ProgressPageControl extends Composite implements ISearchContextProv
public void activate(boolean active)
{
- if (active && curInfo != null) {
- setInfo(curInfo);
- }
-
- if (this.ownerPageControl != null) {
- if (active) {
+ if (active) {
+ if (curInfo != null) {
+ setInfo(curInfo);
+ }
+ if (this.ownerPageControl != null) {
this.ownerPageControl.setChildControl(this);
- } else {
- // Do NOT set child to NULL because deactivation usually means just focus lost
- // and we don't want to deactivate page control on focus loss.
- //this.ownerPageControl.setChildControl(null);
}
}
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/SelectDataSourceCombo.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/SelectDataSourceCombo.java
new file mode 100644
index 0000000000000000000000000000000000000000..e452e6bc4fc4b5e8205170ea9b8405e0eec4b456
--- /dev/null
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/SelectDataSourceCombo.java
@@ -0,0 +1,55 @@
+/*
+ * DBeaver - Universal Database Manager
+ * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jkiss.dbeaver.ui.controls;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.jkiss.dbeaver.model.DBPDataSourceContainer;
+import org.jkiss.dbeaver.ui.dialogs.connection.SelectDataSourceDialog;
+
+public abstract class SelectDataSourceCombo extends CSmartSelector {
+
+ public SelectDataSourceCombo(Composite comboGroup) {
+ super(comboGroup, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER, new DatabaseLabelProviders.ConnectionLabelProvider());
+ }
+
+ @Override
+ protected void dropDown(boolean drop) {
+ if (!drop) {
+ return;
+ }
+ showConnectionSelector();
+ }
+
+ public void showConnectionSelector() {
+ SelectDataSourceDialog dialog = new SelectDataSourceDialog(getShell(), getActiveProject(), getSelectedItem());
+ dialog.setModeless(true);
+ if (dialog.open() == IDialogConstants.CANCEL_ID) {
+ return;
+ }
+ DBPDataSourceContainer dataSource = dialog.getDataSource();
+ this.select(dataSource);
+ onDataSourceChange(dataSource);
+ }
+
+ protected abstract IProject getActiveProject();
+
+ protected abstract void onDataSourceChange(DBPDataSourceContainer dataSource);
+
+}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/TableColumnSortListener.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/TableColumnSortListener.java
index 71c98feedf3063b6275f11a4b032e06c8cce7f3a..44ab831f32097fe924e3ffa82e8d3798ae7c91bb 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/TableColumnSortListener.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/TableColumnSortListener.java
@@ -17,6 +17,7 @@
package org.jkiss.dbeaver.ui.controls;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.*;
import java.text.Collator;
@@ -41,6 +42,8 @@ public class TableColumnSortListener implements Listener {
{
int columnCount = table.getColumnCount();
String[] values = new String[columnCount];
+ Color[] foregrounds = new Color[columnCount];
+ Color[] backgrounds = new Color[columnCount];
TableItem[] items = table.getItems();
for (int i = 1; i < items.length; i++) {
for (int j = 0; j < i; j++) {
@@ -48,6 +51,8 @@ public class TableColumnSortListener implements Listener {
if (comparator.compare(item, items[j]) < 0) {
for (int k = 0; k < columnCount; k++) {
values[k] = item.getText(k);
+ foregrounds[k] = item.getForeground(k);
+ backgrounds[k] = item.getBackground(k);
}
Object data = item.getData();
boolean checked = item.getChecked();
@@ -57,6 +62,10 @@ public class TableColumnSortListener implements Listener {
item.setText(values);
item.setData(data);
item.setChecked(checked);
+ for (int k = 0; k < columnCount; k++) {
+ if (foregrounds[k] != null) item.setForeground(k, foregrounds[k]);
+ if (backgrounds[k] != null) item.setBackground(k, backgrounds[k]);
+ }
items = table.getItems();
break;
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/ITabbedFolderContainer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/ITabbedFolderContainer.java
index d4a8366c533e7402a1b0cc9c9c9de953ef66ff59..92a91fe359f697c6101720b2b1cf2a39e9251f7b 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/ITabbedFolderContainer.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/ITabbedFolderContainer.java
@@ -31,7 +31,7 @@ public interface ITabbedFolderContainer
/**
* Switch to specified folder ID. If folderId isnull then switches to default (fuirst) folder
*/
- void switchFolder(@Nullable String folderId);
+ boolean switchFolder(@Nullable String folderId);
void addFolderListener(ITabbedFolderListener listener);
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/TabbedFolderComposite.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/TabbedFolderComposite.java
index a5ba01f2e1010c738d2ae0feb3963ddde3e4c487..ad826bbf9fa19657fbe51e1fe8288e9e8e173733 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/TabbedFolderComposite.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/folders/TabbedFolderComposite.java
@@ -368,16 +368,21 @@ public class TabbedFolderComposite extends Composite implements ITabbedFolderCon
}
@Override
- public void switchFolder(@Nullable String folderId) {
+ public boolean switchFolder(@Nullable String folderId) {
for (FolderPane folderPane : folderPanes) {
for (int i = 0; i < folderPane.folderList.getNumberOfElements(); i++) {
if (folderId == null || folderPane.folderList.getElementAt(i).getInfo().getId().equals(folderId)) {
- folderPane.folderList.select(i);
- lastActiveFolder = folderPane;
- break;
+ if (folderPane.folderList.getSelectionIndex() != i) {
+ folderPane.folderList.select(i);
+ lastActiveFolder = folderPane;
+ return true;
+ } else {
+ return false;
+ }
}
}
}
+ return false;
}
@Override
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
index f6c0da662ca311d782c2756ffb7b148866073cd8..f3983d4f97891602fd712454f400d3377c7cddf8 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java
@@ -32,7 +32,6 @@ import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.dnd.LocalObjectTransfer;
-import org.jkiss.dbeaver.ui.dnd.TreeNodeTransfer;
import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.IntKeyMap;
@@ -2578,12 +2577,7 @@ public abstract class LightGrid extends Canvas {
for (Integer columnIndex : columnIndices.keySet()) {
selectedColumns.add(columns.get(columnIndex));
}
- Collections.sort(selectedColumns, new Comparator() {
- @Override
- public int compare(GridColumn o1, GridColumn o2) {
- return o1.getIndex() - o2.getIndex();
- }
- });
+ selectedColumns.sort(Comparator.comparingInt(GridColumn::getIndex));
}
/**
@@ -2591,66 +2585,23 @@ public abstract class LightGrid extends Canvas {
*/
private void initListeners()
{
- disposeListener = new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onDispose(e);
- }
- };
+ disposeListener = this::onDispose;
addListener(SWT.Dispose, disposeListener);
- addPaintListener(new PaintListener() {
- @Override
- public void paintControl(PaintEvent e)
- {
- onPaint(e);
- }
- });
-
- addListener(SWT.Resize, new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onResize();
- }
- });
+ addPaintListener(this::onPaint);
+ addListener(SWT.Resize, e -> onResize());
if (getVerticalBar() != null) {
- getVerticalBar().addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onScrollSelection();
- }
- });
+ getVerticalBar().addListener(SWT.Selection, e -> onScrollSelection());
}
if (getHorizontalBar() != null) {
- getHorizontalBar().addListener(SWT.Selection, new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onScrollSelection();
- }
- });
+ getHorizontalBar().addListener(SWT.Selection, e -> onScrollSelection());
}
- addListener(SWT.KeyDown, new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onKeyDown(e);
- }
- });
+ addListener(SWT.KeyDown, this::onKeyDown);
- addTraverseListener(new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e)
- {
- e.doit = true;
- }
- });
+ addTraverseListener(e -> e.doit = true);
addMouseListener(new MouseListener() {
@Override
@@ -2672,13 +2623,7 @@ public abstract class LightGrid extends Canvas {
}
});
- addMouseMoveListener(new MouseMoveListener() {
- @Override
- public void mouseMove(MouseEvent e)
- {
- onMouseMove(e);
- }
- });
+ addMouseMoveListener(this::onMouseMove);
addMouseTrackListener(new MouseTrackListener() {
@Override
@@ -2715,13 +2660,7 @@ public abstract class LightGrid extends Canvas {
// Special code to reflect mouse wheel events if using an external
// scroller
- addListener(SWT.MouseWheel, new Listener() {
- @Override
- public void handleEvent(Event e)
- {
- onMouseWheel(e);
- }
- });
+ addListener(SWT.MouseWheel, this::onMouseWheel);
}
private void onFocusIn()
@@ -2979,12 +2918,7 @@ public abstract class LightGrid extends Canvas {
if (focusItem > row) {
focusItem = row;
}
- for (Iterator iter = selectedCells.iterator(); iter.hasNext(); ) {
- GridPos pos = iter.next();
- if (pos.row > row) {
- iter.remove();
- }
- }
+ selectedCells.removeIf(pos -> pos.row > row);
updateSelectionCache();
computeHeaderSizes();
this.scrollValuesObsolete = true;
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogCommandHandler.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogCommandHandler.java
index d5510b6ef5c6b7e792a19c1d91a776f227ea033d..e21dc1a297d5e973c6747ddedf152837519a4bc7 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogCommandHandler.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogCommandHandler.java
@@ -51,16 +51,19 @@ public class QueryLogCommandHandler extends AbstractHandler {
}
String actionId = event.getCommand().getId();
- if (actionId.equals(IWorkbenchCommandConstants.EDIT_SELECT_ALL)) {
- logViewer.selectAll();
- return null;
- }
- if (actionId.equals(IWorkbenchCommandConstants.EDIT_COPY)) {
- logViewer.copySelectionToClipboard(false);
- return null;
- } else if (actionId.equals(CoreCommands.CMD_COPY_SPECIAL)) {
- logViewer.copySelectionToClipboard(true);
- return null;
+ switch (actionId) {
+ case IWorkbenchCommandConstants.EDIT_SELECT_ALL:
+ logViewer.selectAll();
+ return null;
+ case IWorkbenchCommandConstants.EDIT_COPY:
+ logViewer.copySelectionToClipboard(false);
+ return null;
+ case CoreCommands.CMD_COPY_SPECIAL:
+ logViewer.copySelectionToClipboard(true);
+ return null;
+ case IWorkbenchCommandConstants.FILE_REFRESH:
+ logViewer.refresh();
+ return null;
}
return null;
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
index 74abc58e349dc4242f6689ceb107547a7759e513..c9a798d6ba3bdf03dc568ae02ffac64d294bda67 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/querylog/QueryLogViewer.java
@@ -1,7 +1,6 @@
/*
* DBeaver - Universal Database Manager
- * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
- * Copyright (C) 2011-2012 Eugene Fradkin (eugene.fradkin@gmail.com)
+ * Copyright (C) 2010-2018 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,12 +18,7 @@ package org.jkiss.dbeaver.ui.controls.querylog;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.resource.ColorRegistry;
@@ -45,36 +39,43 @@ import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.code.NotNull;
+import org.jkiss.code.Nullable;
+import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.core.CoreCommands;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
-import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
+import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.model.preferences.DBPPreferenceListener;
import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
import org.jkiss.dbeaver.model.qm.*;
import org.jkiss.dbeaver.model.qm.meta.*;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
+import org.jkiss.dbeaver.model.runtime.load.AbstractLoadService;
import org.jkiss.dbeaver.model.sql.SQLConstants;
import org.jkiss.dbeaver.model.sql.SQLDialect;
import org.jkiss.dbeaver.registry.DataSourceRegistry;
import org.jkiss.dbeaver.runtime.qm.DefaultEventFilter;
import org.jkiss.dbeaver.ui.*;
+import org.jkiss.dbeaver.ui.controls.ProgressLoaderVisualizer;
import org.jkiss.dbeaver.ui.controls.TableColumnSortListener;
import org.jkiss.dbeaver.ui.dialogs.sql.BaseSQLDialog;
import org.jkiss.dbeaver.ui.editors.sql.handlers.OpenHandler;
import org.jkiss.dbeaver.utils.GeneralUtils;
+import org.jkiss.dbeaver.utils.PrefUtils;
+import org.jkiss.dbeaver.utils.RuntimeUtils;
+import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.LongKeyMap;
+import java.lang.reflect.InvocationTargetException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Locale;
+import java.util.*;
+import java.util.List;
/**
* QueryLogViewer
@@ -87,7 +88,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
private static final String VIEWER_ID = "DBeaver.QM.LogViewer";
private static final int MIN_ENTRIES_PER_PAGE = 1;
- public static final String COLOR_COMMITTED = "org.jkiss.dbeaver.txn.color.committed.background"; //= new RGB(0xBD, 0xFE, 0xBF);
+ public static final String COLOR_UNCOMMITTED = "org.jkiss.dbeaver.txn.color.committed.background"; //= new RGB(0xBD, 0xFE, 0xBF);
public static final String COLOR_REVERTED = "org.jkiss.dbeaver.txn.color.reverted.background"; // = new RGB(0xFF, 0x63, 0x47);
public static final String COLOR_TRANSACTION = "org.jkiss.dbeaver.txn.color.transaction.background"; // = new RGB(0xFF, 0xE4, 0xB5);
@@ -121,8 +122,8 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
}
private LogColumn COLUMN_TIME = new LogColumn("time", CoreMessages.controls_querylog_column_time_name, CoreMessages.controls_querylog_column_time_tooltip, 80) {
- private final DateFormat timeFormat = new SimpleDateFormat(DBConstants.DEFAULT_TIME_FORMAT, Locale.getDefault()); //$NON-NLS-1$
- private final DateFormat timestampFormat = new SimpleDateFormat(DBConstants.DEFAULT_TIMESTAMP_FORMAT, Locale.getDefault()); //$NON-NLS-1$
+ private final DateFormat timeFormat = new SimpleDateFormat("MMM-dd HH:mm:ss", Locale.getDefault()); //$NON-NLS-1$
+ private final DateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.getDefault()); //$NON-NLS-1$
@Override
String getText(QMMetaEvent event)
{
@@ -147,7 +148,8 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
if (object instanceof QMMStatementExecuteInfo) {
QMMStatementExecuteInfo statement = (QMMStatementExecuteInfo) object;
//return SQLUtils.stripTransformations(statement.getQueryString());
- return CommonUtils.truncateString(statement.getQueryString(), 4000);
+ return CommonUtils.truncateString(
+ CommonUtils.notEmpty(statement.getQueryString()), 4000);
} else if (object instanceof QMMTransactionInfo) {
if (((QMMTransactionInfo) object).isCommitted()) {
return CoreMessages.controls_querylog_commit;
@@ -306,6 +308,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
};
private final IWorkbenchPartSite site;
+ private final Text searchText;
private Table logTable;
private java.util.List columns = new ArrayList<>();
private LongKeyMap objectToItemMap = new LongKeyMap<>();
@@ -317,9 +320,12 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
private final Color colorLightGreen;
private final Color colorLightRed;
private final Color colorLightYellow;
+ private final Color shadowColor;
private final Font boldFont;
+ private final Font hintFont;
private DragSource dndSource;
+ private volatile boolean reloadInProgress = false;
private int entriesPerPage = MIN_ENTRIES_PER_PAGE;
@@ -333,12 +339,29 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
ColorRegistry colorRegistry = site.getWorkbenchWindow().getWorkbench().getThemeManager().getCurrentTheme().getColorRegistry();
- colorLightGreen = colorRegistry.get(COLOR_COMMITTED);
+ colorLightGreen = colorRegistry.get(COLOR_UNCOMMITTED);
colorLightRed = colorRegistry.get(COLOR_REVERTED);
colorLightYellow = colorRegistry.get(COLOR_TRANSACTION);
+ shadowColor = parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
boldFont = UIUtils.makeBoldFont(parent.getFont());
+ hintFont = UIUtils.modifyFont(parent.getFont(), SWT.ITALIC);
boolean inDialog = UIUtils.isInDialog(parent);
+ // Search field
+ this.searchText = new Text(parent, SWT.BORDER);
+ this.searchText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ this.searchText.addPaintListener(e -> {
+ if (searchText.isEnabled() && searchText.getCharCount() == 0) {
+ e.gc.setForeground(shadowColor);
+ e.gc.setFont(hintFont);
+ e.gc.drawText("Type query part to search in query history",
+ 2, 0, true);
+ e.gc.setFont(null);
+ }
+ });
+ this.searchText.addModifyListener(e -> scheduleLogRefresh());
+ UIUtils.enableHostEditorKeyBindingsSupport(site, searchText);
+
// Create log table
logTable = new Table(
parent,
@@ -384,14 +407,30 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
this.filter = filter;
- reloadEvents();
-
// Make sure app is initialized
DBeaverCore.getInstance();
// Register QM listener
QMUtils.registerMetaListener(this);
DBeaverCore.getGlobalPreferenceStore().addPropertyChangeListener(this);
+
+ logTable.addListener(SWT.Resize, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ logTable.removeListener(SWT.Resize, this);
+ reloadEvents(null);
+ }
+ });
+ }
+
+ private synchronized void scheduleLogRefresh() {
+ // Many properties could be changed at once
+ // So here we just schedule single refresh job
+ if (logRefreshJob == null) {
+ logRefreshJob = new LogRefreshJob();
+ }
+ logRefreshJob.cancel();
+ logRefreshJob.schedule(500);
}
public void setFilter(QMEventFilter filter) {
@@ -452,6 +491,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
UIUtils.dispose(dndSource);
UIUtils.dispose(logTable);
UIUtils.dispose(boldFont);
+ UIUtils.dispose(hintFont);
}
@Override
@@ -490,7 +530,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
@Override
public void refresh()
{
- reloadEvents();
+ reloadEvents(searchText.getText());
}
private static String getObjectType(QMMObject object)
@@ -504,7 +544,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
} else {
statement = ((QMMStatementExecuteInfo)object).getStatement();
}
- return "SQL" + (statement == null ? "" : " / " + statement.getPurpose().name()); //$NON-NLS-1$
+ return "SQL" + (statement == null ? "" : " / " + CommonUtils.capitalizeWord(statement.getPurpose().getTitle())); //$NON-NLS-1$
// } else if (object instanceof QMMStatementScripInfo) {
// return CoreMessages.controls_querylog_script;
} else if (object instanceof QMMTransactionInfo) {
@@ -555,11 +595,11 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
}
QMMTransactionSavepointInfo savepoint = exec.getSavepoint();
if (savepoint == null) {
- return colorLightGreen;
+ return null;
} else if (savepoint.isClosed()) {
return savepoint.isCommitted() ? colorLightGreen : colorLightYellow;
} else {
- return null;
+ return colorLightGreen;
}
} else if (event.getObject() instanceof QMMTransactionInfo || event.getObject() instanceof QMMTransactionSavepointInfo) {
QMMTransactionSavepointInfo savepoint;
@@ -568,24 +608,36 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
} else {
savepoint = (QMMTransactionSavepointInfo) event.getObject();
}
- return savepoint.isCommitted() ? colorLightGreen : colorLightYellow;
+ return savepoint.isCommitted() ? null : colorLightYellow;
}
return null;
}
- private void reloadEvents()
+ private void reloadEvents(@Nullable String searchString)
{
+ if (reloadInProgress) {
+ log.debug("Event reload is in progress. Skip");
+ return;
+ }
+ reloadInProgress = true;
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
this.entriesPerPage = Math.max(MIN_ENTRIES_PER_PAGE, store.getInt(QMConstants.PROP_ENTRIES_PER_PAGE));
this.defaultFilter = new DefaultEventFilter();
clearLog();
- updateMetaInfo(QMUtils.getPastMetaEvents());
+
+ // Extract events
+
+ EventHistoryReadService loadingService = new EventHistoryReadService(searchString);
+ LoadingJob.createService(
+ loadingService,
+ new EvenHistoryReadVisualizer(loadingService))
+ .schedule();
}
@Override
- public void metaInfoChanged(@NotNull final java.util.List events) {
+ public void metaInfoChanged(DBRProgressMonitor monitor, @NotNull final List events) {
if (DBeaverCore.isClosing()) {
return;
}
@@ -593,7 +645,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
DBeaverUI.asyncExec(() -> updateMetaInfo(events));
}
- private synchronized void updateMetaInfo(final java.util.List events)
+ private synchronized void updateMetaInfo(final List events)
{
if (logTable.isDisposed()) {
return;
@@ -602,12 +654,12 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
try {
// Add events in reverse order
int itemIndex = 0;
- for (int i = events.size(); i > 0; i--) {
+ for (int i = 0; i < events.size(); i++) {
if (useDefaultFilter && itemIndex >= entriesPerPage) {
// Do not add remaining (older) events - they don't fit page anyway
break;
}
- QMMetaEvent event = events.get(i - 1);
+ QMMetaEvent event = events.get(i);
if ((filter != null && !filter.accept(event)) || (useDefaultFilter && !defaultFilter.accept(event))) {
continue;
}
@@ -759,13 +811,69 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
manager.add(copyAllAction);
manager.add(selectAllAction);
manager.add(clearLogAction);
+ manager.add(ActionUtils.makeCommandContribution(site, IWorkbenchCommandConstants.FILE_REFRESH));
//manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
+
+ manager.add(new Separator());
+ createFiltersMenu(manager);
});
menuMgr.setRemoveAllWhenShown(true);
logTable.setMenu(menu);
site.registerContextMenu(menuMgr, this);
}
+ private void createFiltersMenu(IMenuManager manager) {
+ DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
+ QMEventCriteria criteria = QMUtils.createDefaultCriteria(store);
+ for (DBCExecutionPurpose purpose : DBCExecutionPurpose.values()) {
+ IAction toggleAction = new Action(purpose.getTitle(), Action.AS_CHECK_BOX) {
+ @Override
+ public boolean isChecked() {
+ return criteria.hasQueryType(purpose);
+ }
+ @Override
+ public void run() {
+ DBCExecutionPurpose[] queryTypes = criteria.getQueryTypes();
+ if (isChecked()) {
+ queryTypes = ArrayUtils.remove(DBCExecutionPurpose.class, queryTypes, purpose);
+ } else {
+ queryTypes = ArrayUtils.add(DBCExecutionPurpose.class, queryTypes, purpose);
+ }
+ List typeNames = new ArrayList<>(queryTypes.length);
+ for (DBCExecutionPurpose queryType : queryTypes) typeNames.add(queryType.name());
+ store.setValue(QMConstants.PROP_QUERY_TYPES, CommonUtils.makeString(typeNames, ','));
+ PrefUtils.savePreferenceStore(store);
+ scheduleLogRefresh();
+ }
+ };
+ manager.add(toggleAction);
+ }
+ manager.add(new Separator());
+ for (QMObjectType type : QMObjectType.values()) {
+ IAction toggleAction = new Action(type.getTitle(), Action.AS_CHECK_BOX) {
+ @Override
+ public boolean isChecked() {
+ return criteria.hasObjectType(type);
+ }
+ @Override
+ public void run() {
+ QMObjectType[] objectTypes = criteria.getObjectTypes();
+ if (isChecked()) {
+ objectTypes = ArrayUtils.remove(QMObjectType.class, objectTypes, type);
+ } else {
+ objectTypes = ArrayUtils.add(QMObjectType.class, objectTypes, type);
+ }
+ List typeList = new ArrayList<>();
+ Collections.addAll(typeList, objectTypes);
+ store.setValue(QMConstants.PROP_OBJECT_TYPES, QMObjectType.toString(typeList));
+ PrefUtils.savePreferenceStore(store);
+ scheduleLogRefresh();
+ }
+ };
+ manager.add(toggleAction);
+ }
+ }
+
private void openSelectionInEditor() {
DBPDataSourceContainer dsContainer = null;
StringBuilder sql = new StringBuilder();
@@ -890,37 +998,25 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
return NLS.bind(CoreMessages.controls_querylog_format_minutes, String.valueOf(min), String.valueOf(sec));
}
- private ConfigRefreshJob configRefreshJob = null;
+ private LogRefreshJob logRefreshJob = null;
@Override
public synchronized void preferenceChange(PreferenceChangeEvent event)
{
if (event.getProperty().startsWith(QMConstants.PROP_PREFIX)) {
- // Many properties could be changed at once
- // So here we just schedule single refresh job
- if (configRefreshJob == null) {
- configRefreshJob = new ConfigRefreshJob();
- configRefreshJob.schedule(250);
- configRefreshJob.addJobChangeListener(new JobChangeAdapter() {
- @Override
- public void done(IJobChangeEvent event)
- {
- configRefreshJob = null;
- }
- });
- }
+ scheduleLogRefresh();
}
}
- private class ConfigRefreshJob extends AbstractUIJob {
- ConfigRefreshJob()
+ private class LogRefreshJob extends AbstractUIJob {
+ LogRefreshJob()
{
super(CoreMessages.controls_querylog_job_refresh);
}
@Override
protected IStatus runInUIThread(DBRProgressMonitor monitor)
{
- reloadEvents();
+ refresh();
return Status.OK_STATUS;
}
}
@@ -1004,7 +1100,10 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
@Override
protected SQLDialect getSQLDialect() {
if (object.getObject() instanceof QMMStatementExecuteInfo) {
- return ((QMMStatementExecuteInfo) object.getObject()).getStatement().getSession().getSQLDialect();
+ SQLDialect dialect = ((QMMStatementExecuteInfo) object.getObject()).getStatement().getSession().getSQLDialect();
+ if (dialect != null) {
+ return dialect;
+ }
}
return super.getSQLDialect();
}
@@ -1025,4 +1124,74 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
}
}
+ class EventHistoryReadService extends AbstractLoadService> {
+
+ @Nullable
+ private String searchString;
+
+ protected EventHistoryReadService(@Nullable String searchString) {
+ super("Load query history");
+ this.searchString = searchString;
+ }
+
+ @Override
+ public List evaluate(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ final List events = new ArrayList<>();
+ QMEventBrowser eventBrowser = QMUtils.getEventBrowser();
+ if (eventBrowser != null) {
+ QMEventCriteria criteria = QMUtils.createDefaultCriteria(DBeaverCore.getGlobalPreferenceStore());
+ criteria.setSearchString(CommonUtils.isEmptyTrimmed(searchString) ? null : searchString.trim());
+
+ monitor.beginTask("Load query history", 1);
+ if (!CommonUtils.isEmpty(searchString)) {
+ monitor.subTask("Search queries: " + searchString);
+ } else {
+ monitor.subTask("Load all queries");
+ }
+ try (QMEventCursor cursor = eventBrowser.getQueryHistoryCursor(monitor, criteria)) {
+ while (events.size() < entriesPerPage && cursor.hasNextEvent(monitor)) {
+ if (monitor.isCanceled()) {
+ break;
+ }
+ events.add(cursor.nextEvent(monitor));
+ monitor.subTask(events.get(events.size() - 1).toString());
+ }
+ } catch (DBException e) {
+ throw new InvocationTargetException(e);
+ }
+ monitor.done();
+ }
+ return events;
+ }
+
+ @Override
+ public Object getFamily() {
+ return QueryLogViewer.class;
+ }
+
+ }
+
+ private class EvenHistoryReadVisualizer extends ProgressLoaderVisualizer> {
+ public EvenHistoryReadVisualizer(EventHistoryReadService loadingService) {
+ super(loadingService, logTable);
+ }
+
+ @Override
+ public void visualizeLoading() {
+ reloadInProgress = true;
+ super.visualizeLoading();
+ }
+
+ @Override
+ public void completeLoading(List result) {
+ try {
+ super.completeLoading(result);
+ super.visualizeLoading();
+ updateMetaInfo(result);
+ } finally {
+ reloadInProgress = false;
+ }
+ }
+ }
+
}
\ No newline at end of file
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
index fa211f9050d15a63a4ebb32753e904ab5e5e6880..d58082d1b1e23e18db65a4302b13a2b5058e9d33 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetCommandHandler.java
@@ -51,7 +51,6 @@ import org.jkiss.dbeaver.model.data.DBDDisplayFormat;
import org.jkiss.dbeaver.model.edit.DBEPersistAction;
import org.jkiss.dbeaver.model.runtime.AbstractJob;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
-import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.model.sql.SQLUtils;
import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
import org.jkiss.dbeaver.tools.transfer.IDataTransferProducer;
@@ -231,13 +230,10 @@ public class ResultSetCommandHandler extends AbstractHandler {
try {
final List sqlScript = new ArrayList<>();
try {
- DBeaverUI.runInProgressService(new DBRRunnableWithProgress() {
- @Override
- public void run(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- List script = rsv.generateChangesScript(monitor);
- if (script != null) {
- sqlScript.addAll(script);
- }
+ DBeaverUI.runInProgressService(monitor -> {
+ List script = rsv.generateChangesScript(monitor);
+ if (script != null) {
+ sqlScript.addAll(script);
}
});
} catch (InterruptedException e) {
@@ -384,20 +380,17 @@ public class ResultSetCommandHandler extends AbstractHandler {
"Go to Row",
"Enter row number (1.." + rowCount + ")",
String.valueOf(currentRow == null ? 1 : currentRow.getVisualNumber() + 1),
- new IInputValidator() {
- @Override
- public String isValid(String input) {
- try {
- int i = Integer.parseInt(input);
- if (i <= 0 || rowCount < i) {
- return "Row number is out of range";
- }
- } catch (NumberFormatException x) {
- return "Not a number";
+ input -> {
+ try {
+ int i = Integer.parseInt(input);
+ if (i <= 0 || rowCount < i) {
+ return "Row number is out of range";
}
-
- return null;
+ } catch (NumberFormatException x) {
+ return "Not a number";
}
+
+ return null;
});
if (d.open() == Window.OK) {
int line = Integer.parseInt(d.getValue());
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataContainer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataContainer.java
index a0273743463212f289faa11e28719fb95a0a9f0e..2db8944fe9cf2153a952bd961fefcf3ffe508d30 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataContainer.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataContainer.java
@@ -217,20 +217,17 @@ public class ResultSetDataContainer implements DBSDataContainer, IAdaptable {
@Override
public DBCResultSetMetaData getMeta() throws DBCException {
- return new DBCResultSetMetaData() {
- @Override
- public List getAttributes() {
- List attributes = model.getVisibleAttributes();
- List meta = new ArrayList<>(attributes.size());
- boolean selectedColumnsOnly = proceedSelectedColumnsOnly();
- for (DBDAttributeBinding attribute : attributes) {
- DBCAttributeMetaData metaAttribute = attribute.getMetaAttribute();
- if (!selectedColumnsOnly || options.getSelectedColumns().contains(metaAttribute.getName())) {
- meta.add(metaAttribute);
- }
+ return () -> {
+ List attributes = model.getVisibleAttributes();
+ List meta = new ArrayList<>(attributes.size());
+ boolean selectedColumnsOnly = proceedSelectedColumnsOnly();
+ for (DBDAttributeBinding attribute : attributes) {
+ DBCAttributeMetaData metaAttribute = attribute.getMetaAttribute();
+ if (!selectedColumnsOnly || options.getSelectedColumns().contains(metaAttribute.getName())) {
+ meta.add(metaAttribute);
}
- return meta;
}
+ return meta;
};
}
diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataReceiver.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataReceiver.java
index ead2c2ee5d61d4c8968d99b885661d02983c69df..cea8070824aa881c822b7c7a22e385111c9b6ca8 100644
--- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataReceiver.java
+++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetDataReceiver.java
@@ -22,6 +22,8 @@ import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.data.DBDAttributeBindingMeta;
import org.jkiss.dbeaver.model.data.DBDDataReceiver;
import org.jkiss.dbeaver.model.exec.*;
+import org.jkiss.dbeaver.model.struct.DBSDataContainer;
+import org.jkiss.dbeaver.model.struct.DBSEntity;
import java.util.ArrayList;
import java.util.HashMap;
@@ -140,7 +142,12 @@ class ResultSetDataReceiver implements DBDDataReceiver {
if (!nextSegmentRead) {
try {
// Read locators' metadata
- ResultSetUtils.bindAttributes(session, resultSet, metaColumns, rows);
+ DBSEntity entity = null;
+ DBSDataContainer dataContainer = resultSetViewer.getDataContainer();
+ if (dataContainer instanceof DBSEntity) {
+ entity = (DBSEntity) dataContainer;
+ }
+ ResultSetUtils.bindAttributes(session, entity, resultSet, metaColumns, rows);
} catch (Throwable e) {
errorList.add(e);
}
@@ -149,22 +156,19 @@ class ResultSetDataReceiver implements DBDDataReceiver {
final List