Author: oltka
Date: Wed Feb 15 10:58:59 2012
New Revision: 1244438
URL: http://svn.apache.org/viewvc?rev=1244438&view=rev
Log:
CAY-1666 Fix problem with tests on ingres db
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresBooleanType.java
- copied, changed from r1242443,
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/org/apache/cayenne/dba/ingres/types.xml
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextBlobTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextCharTypeTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextClobTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/MiscTypesTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/ReturnTypesMappingTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SelectActionTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/BatchQueryBuilderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
cayenne/main/trunk/pom.xml
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
Wed Feb 15 10:58:59 2012
@@ -19,10 +19,14 @@
package org.apache.cayenne.dba.ingres;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Types;
import java.util.Iterator;
import java.util.List;
import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.access.trans.QualifierTranslator;
import org.apache.cayenne.access.trans.QueryAssembler;
import org.apache.cayenne.access.trans.TrimmingQualifierTranslator;
@@ -37,6 +41,8 @@ import org.apache.cayenne.dba.TypesMappi
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.SQLAction;
/**
* DbAdapter implementation for <a
href="http://opensource.ca.com/projects/ingres/">Ingres</a>.
@@ -58,14 +64,17 @@ public class IngresAdapter extends JdbcA
@Inject(USER_EXTENDED_TYPE_LIST) List<ExtendedType>
userExtendedTypes,
@Inject(EXTENDED_TYPE_FACTORY_LIST) List<ExtendedTypeFactory>
extendedTypeFactories) {
super(runtimeProperties, defaultExtendedTypes, userExtendedTypes,
extendedTypeFactories);
+ this.setSupportsUniqueConstraints(false);
}
+
@Override
public QualifierTranslator getQualifierTranslator(QueryAssembler
queryAssembler) {
return new TrimmingQualifierTranslator(
queryAssembler,
IngresAdapter.TRIM_FUNCTION);
}
+
/**
* Returns a SQL string that can be used to create database table
corresponding to
* <code>ent</code> parameter.
@@ -167,6 +176,9 @@ public class IngresAdapter extends JdbcA
protected void configureExtendedTypes(ExtendedTypeMap map) {
super.configureExtendedTypes(map);
map.registerType(new IngresCharType());
+
+ // configure boolean type to work with numeric columns
+ map.registerType(new IngresBooleanType());
}
/**
@@ -177,4 +189,18 @@ public class IngresAdapter extends JdbcA
return new IngresPkGenerator(this);
}
+ @Override
+ public void bindParameter(
+ PreparedStatement statement,
+ Object object,
+ int pos,
+ int sqlType,
+ int scale) throws SQLException, Exception {
+
+ if (object == null && (sqlType == Types.BOOLEAN || sqlType ==
Types.BIT)) {
+ statement.setNull(pos, Types.VARCHAR);
+ } else {
+ super.bindParameter(statement, object, pos, sqlType, scale);
+ }
+ }
}
Copied:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresBooleanType.java
(from r1242443,
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java)
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresBooleanType.java?p2=cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresBooleanType.java&p1=cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java&r1=1242443&r2=1244438&rev=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/ingres/IngresBooleanType.java
Wed Feb 15 10:58:59 2012
@@ -16,40 +16,27 @@
* specific language governing permissions and limitations
* under the License.
****************************************************************/
+package org.apache.cayenne.dba.ingres;
-package org.apache.cayenne.unit;
+import java.sql.PreparedStatement;
-import java.sql.Connection;
-import java.sql.Types;
+import org.apache.cayenne.access.types.BooleanType;
-import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
-public class IngresUnitDbAdapter extends UnitDbAdapter {
-
- public IngresUnitDbAdapter(DbAdapter adapter) {
- super(adapter);
- }
+public class IngresBooleanType extends BooleanType {
@Override
- public boolean supportsBinaryPK() {
- return false;
- }
-
- /**
- * Ingres doesn't support LONGVARCHAR comparisions ('like', '=', etc.)
- */
- @Override
- public void willCreateTables(Connection con, DataMap map) {
- DbEntity paintingInfo = map.getDbEntity("PAINTING_INFO");
-
- if (paintingInfo != null) {
- DbAttribute textReview = (DbAttribute) paintingInfo
- .getAttribute("TEXT_REVIEW");
- textReview.setType(Types.VARCHAR);
- textReview.setMaxLength(255);
+ public void setJdbcObject(
+ PreparedStatement st,
+ Object val,
+ int pos,
+ int type,
+ int precision) throws Exception {
+
+ if (val != null) {
+ st.setInt(pos, ((Boolean) val).booleanValue() ? 1 : 0);
+ } else {
+ st.setNull(pos, type);
}
}
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/org/apache/cayenne/dba/ingres/types.xml
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/org/apache/cayenne/dba/ingres/types.xml?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/org/apache/cayenne/dba/ingres/types.xml
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/org/apache/cayenne/dba/ingres/types.xml
Wed Feb 15 10:58:59 2012
@@ -54,7 +54,7 @@
<db-type name="DECIMAL"/>
</jdbc-type>
<jdbc-type name="DOUBLE">
- <db-type name="DOUBLE"/>
+ <db-type name="FLOAT"/>
</jdbc-type>
<jdbc-type name="FLOAT">
<db-type name="FLOAT"/>
@@ -88,10 +88,10 @@
</jdbc-type>
<jdbc-type name="STRUCT"/>
<jdbc-type name="TIME">
- <db-type name="DATE"/>
+ <db-type name="TIMESTAMP"/>
</jdbc-type>
<jdbc-type name="TIMESTAMP">
- <db-type name="DATE"/>
+ <db-type name="TIMESTAMP"/>
</jdbc-type>
<jdbc-type name="TINYINT">
<db-type name="TINYINT"/>
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextBlobTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextBlobTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextBlobTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextBlobTest.java
Wed Feb 15 10:58:59 2012
@@ -22,9 +22,9 @@ package org.apache.cayenne.access;
import java.util.List;
import org.apache.cayenne.access.types.ByteArrayTypeTest;
-import org.apache.cayenne.configuration.server.ServerRuntime;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
import org.apache.cayenne.testdo.testmap.BlobTestEntity;
import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
@@ -43,20 +43,30 @@ public class DataContextBlobTest extends
private DataContext context3;
@Inject
- protected ServerRuntime runtime;
-
- @Inject
private UnitDbAdapter accessStackAdapter;
+
+ @Inject
+ private DBHelper dbHelper;
+
+ @Override
+ protected void setUpAfterInjection() throws Exception {
+ if (accessStackAdapter.supportsLobs()) {
+ dbHelper.deleteAll("BLOB_TEST");
+ }
+ }
protected boolean skipTests() {
- return accessStackAdapter.supportsLobs();
+ return !accessStackAdapter.supportsLobs();
}
protected boolean skipEmptyLOBTests() {
- return accessStackAdapter.handlesNullVsEmptyLOBs();
+ return !accessStackAdapter.handlesNullVsEmptyLOBs();
}
public void testEmptyBlob() throws Exception {
+ if (skipTests()) {
+ return;
+ }
if (skipEmptyLOBTests()) {
return;
}
@@ -116,6 +126,7 @@ public class DataContextBlobTest extends
BlobTestEntity blobObj3 = (BlobTestEntity) objects3.get(0);
ByteArrayTypeTest.assertByteArraysEqual(blobObj2.getBlobCol(), blobObj3
.getBlobCol());
+
}
protected void runWithBlobSize(int sizeBytes) throws Exception {
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextCharTypeTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextCharTypeTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextCharTypeTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextCharTypeTest.java
Wed Feb 15 10:58:59 2012
@@ -27,6 +27,7 @@ import org.apache.cayenne.exp.Expression
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.test.jdbc.DBHelper;
import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -39,32 +40,37 @@ public class DataContextCharTypeTest ext
@Inject
protected DBHelper dbHelper;
+ @Inject
+ private UnitDbAdapter unitDbAdapter;
+
@Override
protected void setUpAfterInjection() throws Exception {
dbHelper.deleteAll("TYPES_MAPPING_TEST1");
}
public void testCharTrimming() {
- ReturnTypesMap1 map1 = context.newObject(ReturnTypesMap1.class);
- map1.setCharColumn(" text ");
- ReturnTypesMap1 map2 = context.newObject(ReturnTypesMap1.class);
- map2.setCharColumn(" text");
- ReturnTypesMap1 map3 = context.newObject(ReturnTypesMap1.class);
- map3.setCharColumn("text ");
-
- context.commitChanges();
-
- Expression qual =
ExpressionFactory.matchExp(ReturnTypesMap1.CHAR_COLUMN_PROPERTY, " text");
- SelectQuery query = new SelectQuery(ReturnTypesMap1.class, qual);
- List<ReturnTypesMap1> result = context.performQuery(query);
-
- assertTrue("CHAR type trimming is not valid.",
result.get(0).getCharColumn().startsWith(" text"));
- assertTrue("CHAR type trimming is not valid.",
result.get(1).getCharColumn().startsWith(" text"));
-
- qual =
ExpressionFactory.matchExp(ReturnTypesMap1.CHAR_COLUMN_PROPERTY, "text");
- query = new SelectQuery(ReturnTypesMap1.class, qual);
- result = context.performQuery(query);
-
- assertTrue("CHAR type trimming is not valid.",
result.get(0).getCharColumn().startsWith("text"));
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMap1 map1 = context.newObject(ReturnTypesMap1.class);
+ map1.setCharColumn(" text ");
+ ReturnTypesMap1 map2 = context.newObject(ReturnTypesMap1.class);
+ map2.setCharColumn(" text");
+ ReturnTypesMap1 map3 = context.newObject(ReturnTypesMap1.class);
+ map3.setCharColumn("text ");
+
+ context.commitChanges();
+
+ Expression qual =
ExpressionFactory.matchExp(ReturnTypesMap1.CHAR_COLUMN_PROPERTY, " text");
+ SelectQuery query = new SelectQuery(ReturnTypesMap1.class, qual);
+ List<ReturnTypesMap1> result = context.performQuery(query);
+
+ assertTrue("CHAR type trimming is not valid.",
result.get(0).getCharColumn().startsWith(" text"));
+ assertTrue("CHAR type trimming is not valid.",
result.get(1).getCharColumn().startsWith(" text"));
+
+ qual =
ExpressionFactory.matchExp(ReturnTypesMap1.CHAR_COLUMN_PROPERTY, "text");
+ query = new SelectQuery(ReturnTypesMap1.class, qual);
+ result = context.performQuery(query);
+
+ assertTrue("CHAR type trimming is not valid.",
result.get(0).getCharColumn().startsWith("text"));
+ }
}
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextClobTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextClobTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextClobTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextClobTest.java
Wed Feb 15 10:58:59 2012
@@ -49,7 +49,9 @@ public class DataContextClobTest extends
@Override
protected void setUpAfterInjection() throws Exception {
- dbHelper.deleteAll("CLOB_TEST");
+ if (accessStackAdapter.supportsLobs()) {
+ dbHelper.deleteAll("CLOB_TEST");
+ }
}
private boolean skipTests() {
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/MiscTypesTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/MiscTypesTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/MiscTypesTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/MiscTypesTest.java
Wed Feb 15 10:58:59 2012
@@ -46,7 +46,10 @@ public class MiscTypesTest extends Serve
@Override
protected void setUpAfterInjection() throws Exception {
- dbHelper.deleteAll("SERIALIZABLE_ENTITY");
+ if(accessStackAdapter.supportsLobs()) {
+ dbHelper.deleteAll("SERIALIZABLE_ENTITY");
+ }
+
dbHelper.deleteAll("ARRAYS_ENTITY");
dbHelper.deleteAll("CHARACTER_ENTITY");
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/ReturnTypesMappingTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/ReturnTypesMappingTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/ReturnTypesMappingTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/ReturnTypesMappingTest.java
Wed Feb 15 10:58:59 2012
@@ -32,6 +32,8 @@ import org.apache.cayenne.test.jdbc.DBHe
import org.apache.cayenne.testdo.testmap.DateTestEntity;
import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
import org.apache.cayenne.testdo.testmap.ReturnTypesMap2;
+import org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -46,14 +48,24 @@ public class ReturnTypesMappingTest exte
@Inject
private DBHelper dbHelper;
-
+
+ @Inject
+ private UnitDbAdapter unitDbAdapter;
+
@Override
protected void setUpAfterInjection() throws Exception {
+ if (unitDbAdapter.supportsLobs()) {
+ dbHelper.deleteAll("TYPES_MAPPING_LOBS_TEST1");
+ dbHelper.deleteAll("TYPES_MAPPING_TEST2");
+ }
dbHelper.deleteAll("TYPES_MAPPING_TEST1");
- dbHelper.deleteAll("TYPES_MAPPING_TEST2");
dbHelper.deleteAll("DATE_TEST");
}
+ /*
+ * TODO: olga: We need divided TYPES_MAPPING_TES2 to 2 schemas with lobs
columns and not lobs columns
+ */
+
public void testBIGINT() throws Exception {
String columnName = "BIGINT_COLUMN";
ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -71,8 +83,8 @@ public class ReturnTypesMappingTest exte
}
public void testBIGINT2() throws Exception {
- ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
-
+ ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
+
Long bigintValue = 5326457654783454355l;
test.setBigintColumn(bigintValue);
context.commitChanges();
@@ -86,38 +98,42 @@ public class ReturnTypesMappingTest exte
}
public void testBINARY() throws Exception {
- String columnName = "BINARY_COLUMN";
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] binaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setBinaryColumn(binaryValue);
- context.commitChanges();
-
- NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
- DataRow testRead = (DataRow) context.performQuery(q).get(0);
- Object columnValue = testRead.get(columnName);
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(binaryValue, (byte[]) columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ String columnName = "BINARY_COLUMN";
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] binaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setBinaryColumn(binaryValue);
+ context.commitChanges();
+
+ NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
+ DataRow testRead = (DataRow) context.performQuery(q).get(0);
+ Object columnValue = testRead.get(columnName);
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(binaryValue, (byte[]) columnValue));
+ }
}
public void testBINARY2() throws Exception {
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] binaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setBinaryColumn(binaryValue);
- context.commitChanges();
-
- SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
- ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
- byte[] columnValue = testRead.getBinaryColumn();
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(binaryValue, columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] binaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setBinaryColumn(binaryValue);
+ context.commitChanges();
+
+ SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
+ ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
+ byte[] columnValue = testRead.getBinaryColumn();
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(binaryValue, columnValue));
+ }
}
public void testBIT() throws Exception {
@@ -153,38 +169,42 @@ public class ReturnTypesMappingTest exte
}
public void testBLOB() throws Exception {
- String columnName = "BLOB_COLUMN";
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] blobValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setBlobColumn(blobValue);
- context.commitChanges();
-
- NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
- DataRow testRead = (DataRow) context.performQuery(q).get(0);
- Object columnValue = testRead.get(columnName);
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(blobValue, (byte[]) columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ String columnName = "BLOB_COLUMN";
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] blobValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setBlobColumn(blobValue);
+ context.commitChanges();
+
+ NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
+ DataRow testRead = (DataRow) context.performQuery(q).get(0);
+ Object columnValue = testRead.get(columnName);
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(blobValue, (byte[]) columnValue));
+ }
}
public void testBLOB2() throws Exception {
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] blobValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setBlobColumn(blobValue);
- context.commitChanges();
-
- SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
- ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
- byte[] columnValue = testRead.getBlobColumn();
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(blobValue, columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] blobValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setBlobColumn(blobValue);
+ context.commitChanges();
+
+ SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
+ ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
+ byte[] columnValue = testRead.getBlobColumn();
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(blobValue, columnValue));
+ }
}
public void testBOOLEAN() throws Exception {
@@ -252,42 +272,46 @@ public class ReturnTypesMappingTest exte
}
public void testCLOB() throws Exception {
- String columnName = "CLOB_COLUMN";
- ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
-
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < 10000; i++) {
- buffer.append("CLOB very large string for tests!!!!\n");
+ if (unitDbAdapter.supportsLobs()) {
+ String columnName = "CLOB_COLUMN";
+ ReturnTypesMapLobs1 test =
context.newObject(ReturnTypesMapLobs1.class);
+
+ StringBuffer buffer = new StringBuffer();
+ for (int i = 0; i < 10000; i++) {
+ buffer.append("CLOB very large string for tests!!!!\n");
+ }
+ String clobValue = buffer.toString();
+ test.setClobColumn(clobValue);
+ context.commitChanges();
+
+ NamedQuery q = new NamedQuery("SelectReturnTypesLobsMap1");
+ DataRow testRead = (DataRow) context.performQuery(q).get(0);
+ Object columnValue = testRead.get(columnName);
+ assertNotNull(columnValue);
+ assertEquals(String.class, columnValue.getClass());
+ assertEquals(clobValue, columnValue);
}
- String clobValue = buffer.toString();
- test.setClobColumn(clobValue);
- context.commitChanges();
-
- NamedQuery q = new NamedQuery("SelectReturnTypesMap1");
- DataRow testRead = (DataRow) context.performQuery(q).get(0);
- Object columnValue = testRead.get(columnName);
- assertNotNull(columnValue);
- assertEquals(String.class, columnValue.getClass());
- assertEquals(clobValue, columnValue);
}
public void testCLOB2() throws Exception {
- ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
-
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < 10000; i++) {
- buffer.append("CLOB very large string for tests!!!!\n");
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMapLobs1 test =
context.newObject(ReturnTypesMapLobs1.class);
+
+ StringBuffer buffer = new StringBuffer();
+ for (int i = 0; i < 10000; i++) {
+ buffer.append("CLOB very large string for tests!!!!\n");
+ }
+ String clobValue = buffer.toString();
+ test.setClobColumn(clobValue);
+ context.commitChanges();
+
+ SelectQuery q = new SelectQuery(ReturnTypesMapLobs1.class);
+ ReturnTypesMapLobs1 testRead = (ReturnTypesMapLobs1)
context.performQuery(q).get(0);
+ String columnValue = testRead.getClobColumn();
+ assertNotNull(columnValue);
+ assertEquals(String.class, columnValue.getClass());
+ assertEquals(clobValue, columnValue);
}
- String clobValue = buffer.toString();
- test.setClobColumn(clobValue);
- context.commitChanges();
-
- SelectQuery q = new SelectQuery(ReturnTypesMap1.class);
- ReturnTypesMap1 testRead = (ReturnTypesMap1)
context.performQuery(q).get(0);
- String columnValue = testRead.getClobColumn();
- assertNotNull(columnValue);
- assertEquals(String.class, columnValue.getClass());
- assertEquals(clobValue, columnValue);
}
public void testDATE() throws Exception {
@@ -453,38 +477,42 @@ public class ReturnTypesMappingTest exte
}
public void testLONGVARBINARY() throws Exception {
- String columnName = "LONGVARBINARY_COLUMN";
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] longvarbinaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setLongvarbinaryColumn(longvarbinaryValue);
- context.commitChanges();
-
- NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
- DataRow testRead = (DataRow) context.performQuery(q).get(0);
- Object columnValue = testRead.get(columnName);
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(longvarbinaryValue, (byte[]) columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ String columnName = "LONGVARBINARY_COLUMN";
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] longvarbinaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setLongvarbinaryColumn(longvarbinaryValue);
+ context.commitChanges();
+
+ NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
+ DataRow testRead = (DataRow) context.performQuery(q).get(0);
+ Object columnValue = testRead.get(columnName);
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(longvarbinaryValue, (byte[])
columnValue));
+ }
}
public void testLONGVARBINARY2() throws Exception {
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] longvarbinaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setLongvarbinaryColumn(longvarbinaryValue);
- context.commitChanges();
-
- SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
- ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
- byte[] columnValue = testRead.getLongvarbinaryColumn();
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(longvarbinaryValue, columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] longvarbinaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setLongvarbinaryColumn(longvarbinaryValue);
+ context.commitChanges();
+
+ SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
+ ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
+ byte[] columnValue = testRead.getLongvarbinaryColumn();
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(longvarbinaryValue, columnValue));
+ }
}
public void testLONGVARCHAR() throws Exception {
@@ -741,38 +769,42 @@ public class ReturnTypesMappingTest exte
}
public void testVARBINARY() throws Exception {
- String columnName = "VARBINARY_COLUMN";
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] varbinaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setVarbinaryColumn(varbinaryValue);
- context.commitChanges();
-
- NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
- DataRow testRead = (DataRow) context.performQuery(q).get(0);
- Object columnValue = testRead.get(columnName);
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(varbinaryValue, (byte[]) columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ String columnName = "VARBINARY_COLUMN";
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] varbinaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setVarbinaryColumn(varbinaryValue);
+ context.commitChanges();
+
+ NamedQuery q = new NamedQuery("SelectReturnTypesMap2");
+ DataRow testRead = (DataRow) context.performQuery(q).get(0);
+ Object columnValue = testRead.get(columnName);
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(varbinaryValue, (byte[]) columnValue));
+ }
}
public void testVARBINARY2() throws Exception {
- ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
-
- byte[] varbinaryValue = {
- 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
- };
- test.setVarbinaryColumn(varbinaryValue);
- context.commitChanges();
-
- SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
- ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
- byte[] columnValue = testRead.getVarbinaryColumn();
- assertNotNull(columnValue);
- assertEquals(byte[].class, columnValue.getClass());
- assertTrue(Arrays.equals(varbinaryValue, columnValue));
+ if (unitDbAdapter.supportsLobs()) {
+ ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
+
+ byte[] varbinaryValue = {
+ 3, 4, 5, -6, 7, 0, 2, 9, 45, 64, 3, 127, -128, -60
+ };
+ test.setVarbinaryColumn(varbinaryValue);
+ context.commitChanges();
+
+ SelectQuery q = new SelectQuery(ReturnTypesMap2.class);
+ ReturnTypesMap2 testRead = (ReturnTypesMap2)
context.performQuery(q).get(0);
+ byte[] columnValue = testRead.getVarbinaryColumn();
+ assertNotNull(columnValue);
+ assertEquals(byte[].class, columnValue.getClass());
+ assertTrue(Arrays.equals(varbinaryValue, columnValue));
+ }
}
public void testVARCHAR() throws Exception {
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SelectActionTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SelectActionTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SelectActionTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SelectActionTest.java
Wed Feb 15 10:58:59 2012
@@ -47,7 +47,10 @@ public class SelectActionTest extends Se
@Override
protected void setUpAfterInjection() throws Exception {
dbHelper.deleteAll("CLOB_TEST_RELATION");
- dbHelper.deleteAll("CLOB_TEST");
+
+ if (accessStackAdapter.supportsLobs()) {
+ dbHelper.deleteAll("CLOB_TEST");
+ }
}
public void testFetchLimit_DistinctResultIterator() throws Exception {
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/BatchQueryBuilderTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/BatchQueryBuilderTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/BatchQueryBuilderTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/BatchQueryBuilderTest.java
Wed Feb 15 10:58:59 2012
@@ -22,8 +22,6 @@ package org.apache.cayenne.access.trans;
import java.sql.Types;
-import junit.framework.TestCase;
-
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.di.AdhocObjectFactory;
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
Wed Feb 15 10:58:59 2012
@@ -66,7 +66,10 @@ public class SelectQueryTest extends Ser
dbHelper.deleteAll("ARTIST_GROUP");
dbHelper.deleteAll("ARTIST");
dbHelper.deleteAll("CLOB_TEST_RELATION");
- dbHelper.deleteAll("CLOB_TEST");
+
+ if (accessStackAdapter.supportsLobs()) {
+ dbHelper.deleteAll("CLOB_TEST");
+ }
}
protected void createClobDataSet() throws Exception {
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java?rev=1244438&view=auto
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
(added)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
Wed Feb 15 10:58:59 2012
@@ -0,0 +1,7 @@
+package org.apache.cayenne.testdo.testmap;
+
+import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMapLobs1;
+
+public class ReturnTypesMapLobs1 extends _ReturnTypesMapLobs1 {
+
+}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
Wed Feb 15 10:58:59 2012
@@ -6,7 +6,7 @@ import java.util.Date;
import org.apache.cayenne.CayenneDataObject;
/**
- * Class _ReturnTypesMap was generated by Cayenne.
+ * Class _ReturnTypesMap1 was generated by Cayenne.
* It is probably a good idea to avoid changing this class manually,
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
@@ -17,7 +17,6 @@ public abstract class _ReturnTypesMap1 e
public static final String BIT_COLUMN_PROPERTY = "bitColumn";
public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
public static final String CHAR_COLUMN_PROPERTY = "charColumn";
- public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
public static final String DATE_COLUMN_PROPERTY = "dateColumn";
public static final String DECIMAL_COLUMN_PROPERTY = "decimalColumn";
public static final String DOUBLE_COLUMN_PROPERTY = "doubleColumn";
@@ -35,129 +34,122 @@ public abstract class _ReturnTypesMap1 e
public static final String AAAID_PK_COLUMN = "AAAID";
public void setBigintColumn(Long bigintColumn) {
- writeProperty("bigintColumn", bigintColumn);
+ writeProperty(BIGINT_COLUMN_PROPERTY, bigintColumn);
}
public Long getBigintColumn() {
- return (Long)readProperty("bigintColumn");
+ return (Long)readProperty(BIGINT_COLUMN_PROPERTY);
}
public void setBitColumn(Boolean bitColumn) {
- writeProperty("bitColumn", bitColumn);
+ writeProperty(BIT_COLUMN_PROPERTY, bitColumn);
}
public Boolean getBitColumn() {
- return (Boolean)readProperty("bitColumn");
+ return (Boolean)readProperty(BIT_COLUMN_PROPERTY);
}
public void setBooleanColumn(Boolean booleanColumn) {
- writeProperty("booleanColumn", booleanColumn);
+ writeProperty(BOOLEAN_COLUMN_PROPERTY, booleanColumn);
}
public Boolean getBooleanColumn() {
- return (Boolean)readProperty("booleanColumn");
+ return (Boolean)readProperty(BOOLEAN_COLUMN_PROPERTY);
}
public void setCharColumn(String charColumn) {
- writeProperty("charColumn", charColumn);
+ writeProperty(CHAR_COLUMN_PROPERTY, charColumn);
}
public String getCharColumn() {
- return (String)readProperty("charColumn");
- }
-
- public void setClobColumn(String clobColumn) {
- writeProperty("clobColumn", clobColumn);
- }
- public String getClobColumn() {
- return (String)readProperty("clobColumn");
+ return (String)readProperty(CHAR_COLUMN_PROPERTY);
}
public void setDateColumn(Date dateColumn) {
- writeProperty("dateColumn", dateColumn);
+ writeProperty(DATE_COLUMN_PROPERTY, dateColumn);
}
public Date getDateColumn() {
- return (Date)readProperty("dateColumn");
+ return (Date)readProperty(DATE_COLUMN_PROPERTY);
}
public void setDecimalColumn(BigDecimal decimalColumn) {
- writeProperty("decimalColumn", decimalColumn);
+ writeProperty(DECIMAL_COLUMN_PROPERTY, decimalColumn);
}
public BigDecimal getDecimalColumn() {
- return (BigDecimal)readProperty("decimalColumn");
+ return (BigDecimal)readProperty(DECIMAL_COLUMN_PROPERTY);
}
public void setDoubleColumn(Double doubleColumn) {
- writeProperty("doubleColumn", doubleColumn);
+ writeProperty(DOUBLE_COLUMN_PROPERTY, doubleColumn);
}
public Double getDoubleColumn() {
- return (Double)readProperty("doubleColumn");
+ return (Double)readProperty(DOUBLE_COLUMN_PROPERTY);
}
public void setFloatColumn(Float floatColumn) {
- writeProperty("floatColumn", floatColumn);
+ writeProperty(FLOAT_COLUMN_PROPERTY, floatColumn);
}
public Float getFloatColumn() {
- return (Float)readProperty("floatColumn");
+ return (Float)readProperty(FLOAT_COLUMN_PROPERTY);
}
public void setIntegerColumn(Integer integerColumn) {
- writeProperty("integerColumn", integerColumn);
+ writeProperty(INTEGER_COLUMN_PROPERTY, integerColumn);
}
public Integer getIntegerColumn() {
- return (Integer)readProperty("integerColumn");
+ return (Integer)readProperty(INTEGER_COLUMN_PROPERTY);
}
public void setLongvarcharColumn(String longvarcharColumn) {
- writeProperty("longvarcharColumn", longvarcharColumn);
+ writeProperty(LONGVARCHAR_COLUMN_PROPERTY, longvarcharColumn);
}
public String getLongvarcharColumn() {
- return (String)readProperty("longvarcharColumn");
+ return (String)readProperty(LONGVARCHAR_COLUMN_PROPERTY);
}
public void setNumericColumn(BigDecimal numericColumn) {
- writeProperty("numericColumn", numericColumn);
+ writeProperty(NUMERIC_COLUMN_PROPERTY, numericColumn);
}
public BigDecimal getNumericColumn() {
- return (BigDecimal)readProperty("numericColumn");
+ return (BigDecimal)readProperty(NUMERIC_COLUMN_PROPERTY);
}
public void setRealColumn(Float realColumn) {
- writeProperty("realColumn", realColumn);
+ writeProperty(REAL_COLUMN_PROPERTY, realColumn);
}
public Float getRealColumn() {
- return (Float)readProperty("realColumn");
+ return (Float)readProperty(REAL_COLUMN_PROPERTY);
}
public void setSmallintColumn(Short smallintColumn) {
- writeProperty("smallintColumn", smallintColumn);
+ writeProperty(SMALLINT_COLUMN_PROPERTY, smallintColumn);
}
public Short getSmallintColumn() {
- return (Short)readProperty("smallintColumn");
+ return (Short)readProperty(SMALLINT_COLUMN_PROPERTY);
}
public void setTimeColumn(Date timeColumn) {
- writeProperty("timeColumn", timeColumn);
+ writeProperty(TIME_COLUMN_PROPERTY, timeColumn);
}
public Date getTimeColumn() {
- return (Date)readProperty("timeColumn");
+ return (Date)readProperty(TIME_COLUMN_PROPERTY);
}
public void setTimestampColumn(Date timestampColumn) {
- writeProperty("timestampColumn", timestampColumn);
+ writeProperty(TIMESTAMP_COLUMN_PROPERTY, timestampColumn);
}
public Date getTimestampColumn() {
- return (Date)readProperty("timestampColumn");
+ return (Date)readProperty(TIMESTAMP_COLUMN_PROPERTY);
}
public void setTinyintColumn(Byte tinyintColumn) {
- writeProperty("tinyintColumn", tinyintColumn);
+ writeProperty(TINYINT_COLUMN_PROPERTY, tinyintColumn);
}
public Byte getTinyintColumn() {
- return (Byte)readProperty("tinyintColumn");
+ return (Byte)readProperty(TINYINT_COLUMN_PROPERTY);
}
public void setVarcharColumn(String varcharColumn) {
- writeProperty("varcharColumn", varcharColumn);
+ writeProperty(VARCHAR_COLUMN_PROPERTY, varcharColumn);
}
public String getVarcharColumn() {
- return (String)readProperty("varcharColumn");
+ return (String)readProperty(VARCHAR_COLUMN_PROPERTY);
}
}
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java?rev=1244438&view=auto
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
(added)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
Wed Feb 15 10:58:59 2012
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.testmap.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _ReturnTypesMapLobs1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ReturnTypesMapLobs1 extends CayenneDataObject {
+
+ public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
+
+ public static final String AAAID_PK_COLUMN = "AAAID";
+
+ public void setClobColumn(String clobColumn) {
+ writeProperty(CLOB_COLUMN_PROPERTY, clobColumn);
+ }
+ public String getClobColumn() {
+ return (String)readProperty(CLOB_COLUMN_PROPERTY);
+ }
+
+}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/IngresUnitDbAdapter.java
Wed Feb 15 10:58:59 2012
@@ -19,37 +19,21 @@
package org.apache.cayenne.unit;
-import java.sql.Connection;
-import java.sql.Types;
-
import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.DbEntity;
public class IngresUnitDbAdapter extends UnitDbAdapter {
public IngresUnitDbAdapter(DbAdapter adapter) {
super(adapter);
}
-
+
@Override
- public boolean supportsBinaryPK() {
+ public boolean supportsFKConstraints() {
return false;
}
- /**
- * Ingres doesn't support LONGVARCHAR comparisions ('like', '=', etc.)
- */
@Override
- public void willCreateTables(Connection con, DataMap map) {
- DbEntity paintingInfo = map.getDbEntity("PAINTING_INFO");
-
- if (paintingInfo != null) {
- DbAttribute textReview = (DbAttribute) paintingInfo
- .getAttribute("TEXT_REVIEW");
- textReview.setType(Types.VARCHAR);
- textReview.setMaxLength(255);
- }
+ public boolean supportsLobs() {
+ return true;
}
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/testmap.map.xml
Wed Feb 15 10:58:59 2012
@@ -249,13 +249,16 @@
<db-attribute name="ID" type="INTEGER" isPrimaryKey="true"
isMandatory="true"/>
<db-attribute name="TINYINT_COL" type="TINYINT"/>
</db-entity>
+ <db-entity name="TYPES_MAPPING_LOBS_TEST1">
+ <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true"
isMandatory="true"/>
+ <db-attribute name="CLOB_COLUMN" type="CLOB"/>
+ </db-entity>
<db-entity name="TYPES_MAPPING_TEST1">
<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true"
isMandatory="true"/>
<db-attribute name="BIGINT_COLUMN" type="BIGINT"/>
<db-attribute name="BIT_COLUMN" type="BIT"/>
<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
<db-attribute name="CHAR_COLUMN" type="CHAR" length="254"/>
- <db-attribute name="CLOB_COLUMN" type="CLOB"/>
<db-attribute name="DATE_COLUMN" type="DATE"/>
<db-attribute name="DECIMAL_COLUMN" type="DECIMAL" length="12"
scale="5"/>
<db-attribute name="DOUBLE_COLUMN" type="DOUBLE" scale="7"/>
@@ -490,7 +493,6 @@
<obj-attribute name="bitColumn" type="java.lang.Boolean"
db-attribute-path="BIT_COLUMN"/>
<obj-attribute name="booleanColumn" type="java.lang.Boolean"
db-attribute-path="BOOLEAN_COLUMN"/>
<obj-attribute name="charColumn" type="java.lang.String"
db-attribute-path="CHAR_COLUMN"/>
- <obj-attribute name="clobColumn" type="java.lang.String"
db-attribute-path="CLOB_COLUMN"/>
<obj-attribute name="dateColumn" type="java.util.Date"
db-attribute-path="DATE_COLUMN"/>
<obj-attribute name="decimalColumn" type="java.math.BigDecimal"
db-attribute-path="DECIMAL_COLUMN"/>
<obj-attribute name="doubleColumn" type="java.lang.Double"
db-attribute-path="DOUBLE_COLUMN"/>
@@ -511,6 +513,9 @@
<obj-attribute name="longvarbinaryColumn" type="byte[]"
db-attribute-path="LONGVARBINARY_COLUMN"/>
<obj-attribute name="varbinaryColumn" type="byte[]"
db-attribute-path="VARBINARY_COLUMN"/>
</obj-entity>
+ <obj-entity name="ReturnTypesMapLobs1"
className="org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1"
clientClassName="test.client.ReturnTypesMapLobs1"
dbEntityName="TYPES_MAPPING_LOBS_TEST1"
superClassName="org.apache.cayenne.CayenneDataObject"
clientSuperClassName="org.apache.cayenne.PersistentObject">
+ <obj-attribute name="clobColumn" type="java.lang.String"
db-attribute-path="CLOB_COLUMN"/>
+ </obj-entity>
<obj-entity name="SerializableEntity"
className="org.apache.cayenne.testdo.testmap.SerializableEntity"
dbEntityName="SERIALIZABLE_ENTITY">
<obj-attribute name="serializableField"
type="org.apache.cayenne.MockSerializable"
db-attribute-path="SERIALIZABLE_FIELD"/>
</obj-entity>
@@ -740,6 +745,10 @@ VALUES (#bind($id), #bind($title), #bind
<property name="cayenne.SQLTemplate.columnNameCapitalization"
value="UPPER"/>
<sql><![CDATA[SELECT * FROM DATE_TEST]]></sql>
</query>
+ <query name="SelectReturnTypesLobsMap1"
factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map"
root-name="testmap">
+ <property name="cayenne.GenericSelectQuery.fetchingDataRows"
value="true"/>
+ <sql><![CDATA[SELECT * FROM TYPES_MAPPING_LOBS_TEST1]]></sql>
+ </query>
<query name="SelectReturnTypesMap1"
factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map"
root-name="testmap">
<property name="cayenne.GenericSelectQuery.fetchingDataRows"
value="true"/>
<property name="cayenne.SQLTemplate.columnNameCapitalization"
value="UPPER"/>
Modified: cayenne/main/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/pom.xml?rev=1244438&r1=1244437&r2=1244438&view=diff
==============================================================================
--- cayenne/main/trunk/pom.xml (original)
+++ cayenne/main/trunk/pom.xml Wed Feb 15 10:58:59 2012
@@ -826,6 +826,23 @@
</dependency>
</dependencies>
</profile>
+ <profile>
+ <id>ingres</id>
+ <activation>
+ <property>
+ <name>cayenneTestConnection</name>
+ <value>ingres</value>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>com.ingres</groupId>
+ <artifactId>ingres-driver</artifactId>
+ <version>4.0.7</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
<profile>
<id>sybase</id>
<activation>