diff --git a/RELEASE.md b/RELEASE.md
index 708d66f..da0fdf9 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,13 +1,17 @@
-# Release 1.17 (2021-05-??)
+# Release 1.17 (2021-05-25)
## EN
+- Some JSON params are added to `oiyokan-settings.json`: autoCommit, jdbcFetchSize, filterEqAutoSelect。
+- Added ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY to collection Statement.
- Use java.sql.Statement for parameterless queries.
## JA
-- パラメータなしクエリは java.sql.Statement を利用する
-- 上記: 各DBで確認済み
+- `oiyokan-settings.json` にいくつかの JSON パラメータを追加: autoCommit, jdbcFetchSize, filterEqAutoSelect。
+- 一覧取得Statementに ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY 指定を追加。
+- パラメータなしクエリは java.sql.Statement を利用。
+- 上記: 各DBで確認済み。
# Release 1.16 (2021-05-22)
diff --git a/pom.xml b/pom.xml
index e73f2d3..d613438 100755
--- a/pom.xml
+++ b/pom.xml
@@ -12,9 +12,9 @@
jp.igapyon.oiyokan
oiyokan-unittest
- 1.16.20210524a
+ 1.17.20210525a
oiyokan-unittest
- Oiyokan is a simple OData v4 Server. (based on Apache
+ UnitTest of Oiyokan. Oiyokan is a simple OData v4 Server. (based on Apache
Olingo / h2 database)
https://github.com/igapyon/oiyokan
@@ -86,7 +86,7 @@
jp.igapyon.oiyokan
oiyokan
- 1.16.20210524e-SNAPSHOT
+ 1.17.20210525e
diff --git a/src/main/java/jp/oiyokan/unittest/OiyokanUnittestConstants.java b/src/main/java/jp/oiyokan/unittest/OiyokanUnittestConstants.java
index 32a71d4..72065b9 100644
--- a/src/main/java/jp/oiyokan/unittest/OiyokanUnittestConstants.java
+++ b/src/main/java/jp/oiyokan/unittest/OiyokanUnittestConstants.java
@@ -19,5 +19,5 @@
* Oiyokan UnitTest の定数.
*/
public class OiyokanUnittestConstants {
- public static final String VERSION = "1.16.20210524a";
+ public static final String VERSION = "1.17.20210525a";
}
\ No newline at end of file
diff --git a/src/main/resources/db/oiyokan-internal.mv.db b/src/main/resources/db/oiyokan-internal.mv.db
index 9dd3f15..7d95013 100644
Binary files a/src/main/resources/db/oiyokan-internal.mv.db and b/src/main/resources/db/oiyokan-internal.mv.db differ
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/entity/UnitTestTypeChar01Test.java b/src/test/java/jp/oiyokan/core/db/testdb/entity/UnitTestTypeChar01Test.java
index ef4e0dc..4e2a5ec 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/entity/UnitTestTypeChar01Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/entity/UnitTestTypeChar01Test.java
@@ -53,8 +53,10 @@ void test01() throws Exception {
/// 通常のfilter
resp = OiyokanTestUtil.callGet("/ODataTest3", "$filter=ID eq " + idString + "&$select=StringChar8");
result = OiyokanTestUtil.stream2String(resp.getContent());
- assertEquals("{\"@odata.context\":\"$metadata#ODataTest3\",\"value\":[{\"ID\":" + idString
- + ",\"StringChar8\":\" C456 \"}]}", result, "前後空白付きでFILTER検索できることを確認.");
+ assertEquals(
+ "{\"@odata.context\":\"$metadata#ODataTest3\",\"value\":[{\"@odata.id\":\"ODataTest3(" + idString
+ + ")\",\"ID\":" + idString + ",\"StringChar8\":\" C456 \"}]}",
+ result, "前後空白付きでFILTER検索できることを確認.");
assertEquals(200, resp.getStatusCode());
// DELETE
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery03Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery03Test.java
index 26ff148..95c9f7d 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery03Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery03Test.java
@@ -43,8 +43,7 @@ void testBoolean() throws Exception {
switch (databaseType) {
default:
- assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Boolean1\":false}]}",
- result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1}]}", result);
assertEquals(200, resp.getStatusCode());
break;
case ORCL18:
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery04Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery04Test.java
index fa8b130..8698873 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery04Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery04Test.java
@@ -38,7 +38,7 @@ void testInt16a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Int16a\":32767}]}", result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery05Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery05Test.java
index 19578c6..fdd96c6 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery05Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery05Test.java
@@ -39,9 +39,7 @@ void testInt32a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Int32a\":2147483647},{\"ID\":2,\"Int32a\":2147483647}]}",
- result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1},{\"ID\":2}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery06Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery06Test.java
index 37d6911..7d5cdc0 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery06Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery06Test.java
@@ -39,9 +39,7 @@ void testInt64a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":3,\"Int64a\":2147483647},{\"ID\":4,\"Int64a\":2147483647}]}",
- result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":3},{\"ID\":4}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery07Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery07Test.java
index 519276e..46aff38 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery07Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery07Test.java
@@ -38,9 +38,7 @@ void testIntBigDecimal() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":3,\"Decimal1\":1234.56},{\"ID\":4,\"Decimal1\":1234.56}]}",
- result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":3},{\"ID\":4}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery08Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery08Test.java
index 43d6444..c9284cd 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery08Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery08Test.java
@@ -38,7 +38,7 @@ void testSbyte1() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Sbyte1\":127}]}", result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery09Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery09Test.java
index 5394b33..609eb46 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery09Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery09Test.java
@@ -45,8 +45,7 @@ void testSingle1() throws Exception {
switch (databaseType) {
default:
- assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Single1\":123.45}]}",
- result, "Single型の確認");
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1}]}", result, "Single型の確認");
assertEquals(200, resp.getStatusCode());
break;
case PostgreSQL:
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery11Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery11Test.java
index 41a8bc3..e495da6 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery11Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery11Test.java
@@ -39,8 +39,7 @@ void testStringVar255a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204,\"StringVar255\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"}]}",
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204}]}",
result);
assertEquals(200, resp.getStatusCode());
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery12Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery12Test.java
index 9ae3c9b..4847b3e 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery12Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery12Test.java
@@ -53,8 +53,7 @@ void testStringVar255WithAndOr() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204,\"StringVar255\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"StringLongVar1\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"Clob1\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"}]}",
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204}]}",
result, "検索できることの確認.");
assertEquals(200, resp.getStatusCode());
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery13Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery13Test.java
index 08f0237..aa0629b 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery13Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery13Test.java
@@ -39,8 +39,7 @@ void testStringLongVar1a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204,\"StringLongVar1\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"}]}",
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204}]}",
result);
assertEquals(200, resp.getStatusCode());
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery14Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery14Test.java
index 438e079..ede9efc 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery14Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQuery14Test.java
@@ -53,8 +53,7 @@ void testClob1a() throws Exception {
final String result = OiyokanTestUtil.stream2String(resp.getContent());
// System.err.println("result: " + result);
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204,\"Clob1\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"}]}",
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"@odata.count\":1,\"value\":[{\"ID\":204}]}",
result, "検索できることの確認.");
assertEquals(200, resp.getStatusCode());
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq01Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq01Test.java
index 9b6a43f..91aac09 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq01Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq01Test.java
@@ -40,9 +40,7 @@ void test01() throws Exception {
OiyoUrlUtil.encodeUrlQuery("&$filter=Int32a eq Int64a &$top=2 &$select=ID &$orderby=ID asc"));
final String result = OiyokanTestUtil.stream2String(resp.getContent());
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Int32a\":2147483647,\"Int64a\":2147483647},{\"ID\":2,\"Int32a\":2147483647,\"Int64a\":2147483647}]}",
- result);
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1},{\"ID\":2}]}", result);
assertEquals(200, resp.getStatusCode());
}
}
diff --git a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq02Test.java b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq02Test.java
index 7097690..ed73a4a 100644
--- a/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq02Test.java
+++ b/src/test/java/jp/oiyokan/core/db/testdb/query/UnitTestQueryBinaryEq02Test.java
@@ -40,8 +40,7 @@ void test01() throws Exception {
OiyoUrlUtil.encodeUrlQuery("&$filter=32767 eq Int16a &$top=3 &$select=ID &$orderby=ID asc"));
final String result = OiyokanTestUtil.stream2String(resp.getContent());
- assertEquals(
- "{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1,\"Int16a\":32767},{\"ID\":2,\"Int16a\":32767},{\"ID\":3,\"Int16a\":32767}]}",
+ assertEquals("{\"@odata.context\":\"$metadata#ODataTest1\",\"value\":[{\"ID\":1},{\"ID\":2},{\"ID\":3}]}",
result);
assertEquals(200, resp.getStatusCode());
}
diff --git a/src/test/java/jp/oiyokan/unittest/db/sakila/SakilaValueNullTest.java b/src/test/java/jp/oiyokan/unittest/db/sakila/SakilaValueNullTest.java
index 623377a..4b5fb54 100644
--- a/src/test/java/jp/oiyokan/unittest/db/sakila/SakilaValueNullTest.java
+++ b/src/test/java/jp/oiyokan/unittest/db/sakila/SakilaValueNullTest.java
@@ -47,7 +47,7 @@ void test01() throws Exception {
// 検索結果が存在するべき。
assertEquals(
- "{\"@odata.context\":\"$metadata#SklAddresses\",\"@odata.count\":4,\"value\":[{\"address_id\":1,\"address2\":null}]}",
+ "{\"@odata.context\":\"$metadata#SklAddresses\",\"@odata.count\":4,\"value\":[{\"address_id\":1}]}",
result, "eq で右辺が null リテラルの処理");
assertEquals(200, resp.getStatusCode());
}
@@ -70,7 +70,7 @@ void test02() throws Exception {
// 検索結果が存在するべき。
assertEquals(
- "{\"@odata.context\":\"$metadata#SklAddresses\",\"@odata.count\":4,\"value\":[{\"address_id\":1,\"address2\":null}]}",
+ "{\"@odata.context\":\"$metadata#SklAddresses\",\"@odata.count\":4,\"value\":[{\"address_id\":1}]}",
result, "eq で左辺が null リテラルの処理");
assertEquals(200, resp.getStatusCode());
}