You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/01/05 13:11:40 UTC
cayenne git commit: CAY-2197 Update SQLite support - latest JDBC
driver version - built-in config for in-memory test database (run mvn clean
install -DcayenneTestConnection=sqlite) - fix some tests
Repository: cayenne
Updated Branches:
refs/heads/master 803166c03 -> ae1c562b9
CAY-2197 Update SQLite support
- latest JDBC driver version
- built-in config for in-memory test database (run mvn clean install -DcayenneTestConnection=sqlite)
- fix some tests
TODO: fix all integration tests as there are some failures and errors left
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ae1c562b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ae1c562b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ae1c562b
Branch: refs/heads/master
Commit: ae1c562b9c721da8c8acc66f9f4a8960ecf0ac79
Parents: 803166c
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Jan 5 16:10:43 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Jan 5 16:10:43 2017 +0300
----------------------------------------------------------------------
.../org/apache/cayenne/dba/sqlite/types.xml | 3 +++
.../org/apache/cayenne/exp/ExpressionFactoryIT.java | 13 +++++++++++++
.../org/apache/cayenne/query/SelectQueryIT.java | 16 ++++++++++++++++
.../apache/cayenne/unit/SQLiteUnitDbAdapter.java | 4 ++++
.../java/org/apache/cayenne/unit/UnitDbAdapter.java | 4 ++++
.../di/server/ServerCaseDataSourceInfoProvider.java | 11 +++++++++++
cayenne-server/src/test/resources/testmap.map.xml | 2 +-
docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 +
pom.xml | 2 +-
9 files changed, 54 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/main/resources/org/apache/cayenne/dba/sqlite/types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/dba/sqlite/types.xml b/cayenne-server/src/main/resources/org/apache/cayenne/dba/sqlite/types.xml
index 6eb7dad..cdd51f7 100644
--- a/cayenne-server/src/main/resources/org/apache/cayenne/dba/sqlite/types.xml
+++ b/cayenne-server/src/main/resources/org/apache/cayenne/dba/sqlite/types.xml
@@ -84,6 +84,9 @@ http://sqlite.org/datatype3.html
<jdbc-type name="LONGVARCHAR">
<db-type name="LONGVARCHAR"/>
</jdbc-type>
+ <jdbc-type name="LONGNVARCHAR">
+ <db-type name="LONGNVARCHAR"/>
+ </jdbc-type>
<jdbc-type name="NUMERIC">
<db-type name="NUMERIC"/>
</jdbc-type>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
index 33e728d..4ab56cd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.di.Inject;
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Painting;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.CayenneProjects;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -41,6 +42,9 @@ public class ExpressionFactoryIT extends ServerCase {
@Inject
private ObjectContext context;
+ @Inject
+ private UnitDbAdapter accessStackAdapter;
+
// CAY-416
@Test
public void testCollectionMatch() {
@@ -87,6 +91,10 @@ public class ExpressionFactoryIT extends ServerCase {
@Test
public void testEscapeCharacter() {
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
Artist a1 = context.newObject(Artist.class);
a1.setArtistName("A_1");
Artist a2 = context.newObject(Artist.class);
@@ -106,6 +114,11 @@ public class ExpressionFactoryIT extends ServerCase {
@Test
public void testContains_Escape() {
+
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
Artist a1 = context.newObject(Artist.class);
a1.setArtistName("MA_1X");
Artist a2 = context.newObject(Artist.class);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
index 30c9f41..efbb8fa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
@@ -274,6 +274,10 @@ public class SelectQueryIT extends ServerCase {
@Test
public void testSelectLikeSingle_WildcardMatchAndEscape() throws Exception {
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
createArtistsWildcardDataSet();
SelectQuery<Artist> query = new SelectQuery<>(Artist.class);
@@ -286,6 +290,10 @@ public class SelectQueryIT extends ServerCase {
@Test
public void testSelectLike_WildcardMatchAndEscape_AndOtherCriteria() throws Exception {
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
createArtistsWildcardDataSet();
// CAY-1978 - combining LIKE..ESCAPE with another clause generated bad
@@ -301,6 +309,10 @@ public class SelectQueryIT extends ServerCase {
@Test
public void testSelectLike_WildcardMatchIgnoreCaseAndEscape_AndOtherCriteria() throws Exception {
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
createArtistsWildcardDataSet();
// CAY-1978 - combining LIKE..ESCAPE with another clause generated bad
@@ -316,6 +328,10 @@ public class SelectQueryIT extends ServerCase {
@Test
public void testSelectLike_WildcardMatchAndEscapeMulti_AndOtherCriteria() throws Exception {
+ if(!accessStackAdapter.supportsEscapeInLike()) {
+ return;
+ }
+
tArtist.insert(1, "_X_", null);
tArtist.insert(2, "_X", null);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/java/org/apache/cayenne/unit/SQLiteUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/SQLiteUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/SQLiteUnitDbAdapter.java
index 7d3a957..ae74e6e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/SQLiteUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/SQLiteUnitDbAdapter.java
@@ -45,4 +45,8 @@ public class SQLiteUnitDbAdapter extends UnitDbAdapter {
public boolean supportsAllAnySome() {
return false;
}
+
+ public boolean supportsEscapeInLike() {
+ return false;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
index 445de16..1297d74 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
@@ -378,4 +378,8 @@ public class UnitDbAdapter {
public boolean supportsGeneratedKeysDrop() {
return false;
}
+
+ public boolean supportsEscapeInLike() {
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceInfoProvider.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceInfoProvider.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceInfoProvider.java
index c954738..94a2708 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceInfoProvider.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataSourceInfoProvider.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.conn.DataSourceInfo;
import org.apache.cayenne.dba.derby.DerbyAdapter;
import org.apache.cayenne.dba.h2.H2Adapter;
import org.apache.cayenne.dba.hsqldb.HSQLDBAdapter;
+import org.apache.cayenne.dba.sqlite.SQLiteAdapter;
import org.apache.cayenne.di.Provider;
import org.apache.commons.collections.ExtendedProperties;
import org.apache.commons.logging.Log;
@@ -91,6 +92,16 @@ public class ServerCaseDataSourceInfoProvider implements Provider<DataSourceInfo
derby.setMinConnections(ConnectionProperties.MIN_CONNECTIONS);
derby.setMaxConnections(ConnectionProperties.MAX_CONNECTIONS);
inMemoryDataSources.put("derby", derby);
+
+ DataSourceInfo sqlite = new DataSourceInfo();
+ sqlite.setAdapterClassName(SQLiteAdapter.class.getName());
+ sqlite.setUserName("sa");
+ sqlite.setPassword("");
+ sqlite.setDataSourceUrl("jdbc:sqlite:file:memdb?mode=memory&cache=shared");
+ sqlite.setJdbcDriver("org.sqlite.JDBC");
+ sqlite.setMinConnections(ConnectionProperties.MIN_CONNECTIONS);
+ sqlite.setMaxConnections(ConnectionProperties.MAX_CONNECTIONS);
+ inMemoryDataSources.put("sqlite", sqlite);
}
@Override
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/cayenne-server/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/testmap.map.xml b/cayenne-server/src/test/resources/testmap.map.xml
index 84c04ba..31c0f70 100644
--- a/cayenne-server/src/test/resources/testmap.map.xml
+++ b/cayenne-server/src/test/resources/testmap.map.xml
@@ -59,7 +59,7 @@
<db-attribute name="NAME" type="VARCHAR" length="250"/>
</db-entity>
<db-entity name="NULL_TEST">
- <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
<db-attribute name="NAME" type="VARCHAR" length="100"/>
</db-entity>
<db-entity name="PAINTING">
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 753dae7..f673f32 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -24,6 +24,7 @@ CAY-2170 MergeToken sorting is highly unstable
CAY-2172 Cleanup Modeler import and migrate db actions
CAY-2176 Java 7 diamond class generation templates
CAY-2177 Sync auto generated state of PK between model and DB
+CAY-2197 Update sqlite version and enable in-memory default config
Bug Fixes:
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ae1c562b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 951d649..1b94df6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1575,7 +1575,7 @@
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
- <version>3.6.16</version>
+ <version>3.15.1</version>
</dependency>
</dependencies>
</profile>