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>