Author: aadamchik
Date: Thu Aug 10 10:45:09 2006
New Revision: 430459
URL: http://svn.apache.org/viewvc?rev=430459&view=rev
Log:
CAY-625
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/BatchQueryBuilder.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilder.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/LOBBatchQueryBuilder.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/QueryAssembler.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilder.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/DbAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/openbase/OpenBaseAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DbAttribute.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DerivedDbAttribute.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/MapLoader.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/access/DbLoaderTst.java
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
Thu Aug 10 10:45:09 2006
@@ -82,7 +82,7 @@
this.label = name;
this.jdbcType = attribute.getType();
this.javaClass = getDefaultJavaClass(attribute.getMaxLength(),
attribute
- .getPrecision());
+ .getScale());
if (attribute.getEntity() != null) {
this.tableName = attribute.getEntity().getName();
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/BatchQueryBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/BatchQueryBuilder.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/BatchQueryBuilder.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/BatchQueryBuilder.java
Thu Aug 10 10:45:09 2006
@@ -103,7 +103,7 @@
Object value = query.getValue(i);
DbAttribute attribute = (DbAttribute) dbAttributes.get(i);
adapter.bindParameter(statement, value, i + 1,
attribute.getType(), attribute
- .getPrecision());
+ .getScale());
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilder.java
Thu Aug 10 10:45:09 2006
@@ -89,7 +89,7 @@
value,
parameterIndex++,
attribute.getType(),
- attribute.getPrecision());
+ attribute.getScale());
}
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilder.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilder.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilder.java
Thu Aug 10 10:45:09 2006
@@ -61,7 +61,7 @@
j++;
Object value = query.getValue(i);
adapter.bindParameter(statement, value, j,
attribute.getType(), attribute
- .getPrecision());
+ .getScale());
}
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/LOBBatchQueryBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/LOBBatchQueryBuilder.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/LOBBatchQueryBuilder.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/LOBBatchQueryBuilder.java
Thu Aug 10 10:45:09 2006
@@ -136,7 +136,7 @@
if (isUpdateableColumn(value, type)) {
adapter
.bindParameter(statement, value, j, type, attribute
- .getPrecision());
+ .getScale());
j++;
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/QueryAssembler.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/QueryAssembler.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/QueryAssembler.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/QueryAssembler.java
Thu Aug 10 10:45:09 2006
@@ -119,9 +119,8 @@
stmt.setObject(i + 1, val);
}
else {
- int type = attr.getType();
- int precision = attr.getPrecision();
- adapter.bindParameter(stmt, val, i + 1, type, precision);
+ adapter.bindParameter(stmt, val, i + 1, attr.getType(),
attr
+ .getScale());
}
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilder.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilder.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilder.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilder.java
Thu Aug 10 10:45:09 2006
@@ -98,7 +98,7 @@
value,
parameterIndex++,
attribute.getType(),
- attribute.getPrecision());
+ attribute.getScale());
}
for (int i = 0; i < qualifierAttributes.size(); i++) {
@@ -115,7 +115,7 @@
value,
parameterIndex++,
attribute.getType(),
- attribute.getPrecision());
+ attribute.getScale());
}
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/DbAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/DbAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/DbAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/DbAdapter.java
Thu Aug 10 10:45:09 2006
@@ -141,7 +141,8 @@
* right JDBC type.
* @param type JDBC column type
* @param size database column size (ignored if less than zero)
- * @param precision database column precision (ignored if less than zero)
+ * @param scale database column scale, i.e. the number of decimal digits
(ignored if
+ * less than zero)
* @param allowNulls database column nullable parameter
*/
public DbAttribute buildAttribute(
@@ -149,7 +150,7 @@
String typeName,
int type,
int size,
- int precision,
+ int scale,
boolean allowNulls);
/**
@@ -160,7 +161,7 @@
Object object,
int pos,
int sqlType,
- int precision) throws SQLException, Exception;
+ int scale) throws SQLException, Exception;
/**
* Returns the name of the table type (as returned by
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
Thu Aug 10 10:45:09 2006
@@ -291,20 +291,20 @@
// append size and precision (if applicable)
if (TypesMapping.supportsLength(column.getType())) {
int len = column.getMaxLength();
- int prec = TypesMapping.isDecimal(column.getType())
- ? column.getPrecision()
+ int scale = TypesMapping.isDecimal(column.getType())
+ ? column.getScale()
: -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
sqlBuffer.append('(').append(len);
- if (prec >= 0) {
- sqlBuffer.append(", ").append(prec);
+ if (scale >= 0) {
+ sqlBuffer.append(", ").append(scale);
}
sqlBuffer.append(')');
@@ -394,7 +394,7 @@
String typeName,
int type,
int size,
- int precision,
+ int scale,
boolean allowNulls) {
DbAttribute attr = new DbAttribute();
@@ -406,8 +406,8 @@
attr.setMaxLength(size);
}
- if (precision >= 0) {
- attr.setPrecision(precision);
+ if (scale >= 0) {
+ attr.setScale(scale);
}
return attr;
@@ -443,7 +443,7 @@
Object object,
int pos,
int sqlType,
- int precision) throws SQLException, Exception {
+ int scale) throws SQLException, Exception {
if (object == null) {
statement.setNull(pos, sqlType);
@@ -451,7 +451,7 @@
else {
ExtendedType typeProcessor = getExtendedTypes().getRegisteredType(
object.getClass());
- typeProcessor.setJdbcObject(statement, object, pos, sqlType,
precision);
+ typeProcessor.setJdbcObject(statement, object, pos, sqlType,
scale);
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/db2/DB2Adapter.java
Thu Aug 10 10:45:09 2006
@@ -142,18 +142,18 @@
// append size and precision (if applicable)
if (TypesMapping.supportsLength(at.getType())) {
int len = at.getMaxLength();
- int prec = TypesMapping.isDecimal(at.getType()) ?
at.getPrecision() : -1;
+ int scale = TypesMapping.isDecimal(at.getType()) ?
at.getScale() : -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
buf.append('(').append(len);
- if (prec >= 0) {
- buf.append(", ").append(prec);
+ if (scale >= 0) {
+ buf.append(", ").append(scale);
}
buf.append(')');
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/derby/DerbyAdapter.java
Thu Aug 10 10:45:09 2006
@@ -111,20 +111,20 @@
String length = "";
if (typeSupportsLength(column.getType())) {
int len = column.getMaxLength();
- int prec = TypesMapping.isDecimal(column.getType())
- ? column.getPrecision()
+ int scale = TypesMapping.isDecimal(column.getType())
+ ? column.getScale()
: -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
length = " (" + len;
- if (prec >= 0) {
- length += ", " + prec;
+ if (scale >= 0) {
+ length += ", " + scale;
}
length += ")";
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/frontbase/FrontBaseAdapter.java
Thu Aug 10 10:45:09 2006
@@ -151,18 +151,18 @@
}
else if (TypesMapping.supportsLength(at.getType())) {
int len = at.getMaxLength();
- int prec = TypesMapping.isDecimal(at.getType()) ?
at.getPrecision() : -1;
+ int scale = TypesMapping.isDecimal(at.getType()) ?
at.getScale() : -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
buf.append('(').append(len);
- if (prec >= 0) {
- buf.append(", ").append(prec);
+ if (scale >= 0) {
+ buf.append(", ").append(scale);
}
buf.append(')');
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/ingres/IngresAdapter.java
Thu Aug 10 10:45:09 2006
@@ -109,18 +109,18 @@
// append size and precision (if applicable)
if (TypesMapping.supportsLength(at.getType())) {
int len = at.getMaxLength();
- int prec = TypesMapping.isDecimal(at.getType()) ?
at.getPrecision() : -1;
+ int scale = TypesMapping.isDecimal(at.getType()) ?
at.getScale() : -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
buf.append('(').append(len);
- if (prec >= 0) {
- buf.append(", ").append(prec);
+ if (scale >= 0) {
+ buf.append(", ").append(scale);
}
buf.append(')');
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/openbase/OpenBaseAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/openbase/OpenBaseAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/openbase/OpenBaseAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/openbase/OpenBaseAdapter.java
Thu Aug 10 10:45:09 2006
@@ -94,7 +94,7 @@
String typeName,
int type,
int size,
- int precision,
+ int scale,
boolean allowNulls) {
// OpenBase makes no distinction between CHAR and VARCHAR
@@ -103,7 +103,7 @@
type = Types.VARCHAR;
}
- return super.buildAttribute(name, typeName, type, size, precision,
allowNulls);
+ return super.buildAttribute(name, typeName, type, size, scale,
allowNulls);
}
/**
@@ -192,18 +192,18 @@
// append size and precision (if applicable)
if (TypesMapping.supportsLength(at.getType())) {
int len = at.getMaxLength();
- int prec = TypesMapping.isDecimal(at.getType()) ?
at.getPrecision() : -1;
+ int scale = TypesMapping.isDecimal(at.getType()) ?
at.getScale() : -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
buf.append('(').append(len);
- if (prec >= 0) {
- buf.append(", ").append(prec);
+ if (scale >= 0) {
+ buf.append(", ").append(scale);
}
buf.append(')');
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java
Thu Aug 10 10:45:09 2006
@@ -238,7 +238,7 @@
String typeName,
int type,
int size,
- int precision,
+ int scale,
boolean allowNulls) {
DbAttribute attr = super.buildAttribute(
@@ -246,12 +246,12 @@
typeName,
type,
size,
- precision,
+ scale,
allowNulls);
- if (type == Types.DECIMAL && precision <= 0) {
+ if (type == Types.DECIMAL && scale <= 0) {
attr.setType(Types.INTEGER);
- attr.setPrecision(-1);
+ attr.setScale(-1);
}
else if (type == Types.OTHER) {
// in this case we need to guess the attribute type
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java
Thu Aug 10 10:45:09 2006
@@ -170,7 +170,7 @@
value,
i + 1,
attribute.getType(),
- attribute.getPrecision());
+ attribute.getScale());
}
ResultSet result = selectStatement.executeQuery();
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
Thu Aug 10 10:45:09 2006
@@ -90,7 +90,7 @@
String typeName,
int type,
int size,
- int precision,
+ int scale,
boolean allowNulls) {
// "bytea" maps to pretty much any binary type, so
@@ -108,7 +108,7 @@
type = Types.CLOB;
}
- return super.buildAttribute(name, typeName, type, size, precision,
allowNulls);
+ return super.buildAttribute(name, typeName, type, size, scale,
allowNulls);
}
/**
@@ -169,18 +169,18 @@
// append size and precision (if applicable)
if (typeSupportsLength(at.getType())) {
int len = at.getMaxLength();
- int prec = TypesMapping.isDecimal(at.getType()) ?
at.getPrecision() : -1;
+ int scale = TypesMapping.isDecimal(at.getType()) ?
at.getScale() : -1;
// sanity check
- if (prec > len) {
- prec = -1;
+ if (scale > len) {
+ scale = -1;
}
if (len > 0) {
buf.append('(').append(len);
- if (prec >= 0) {
- buf.append(", ").append(prec);
+ if (scale >= 0) {
+ buf.append(", ").append(scale);
}
buf.append(')');
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DbAttribute.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DbAttribute.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DbAttribute.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DbAttribute.java
Thu Aug 10 10:45:09 2006
@@ -17,7 +17,6 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.map;
import java.util.Iterator;
@@ -62,8 +61,16 @@
// The length of CHAR or VARCHAr or max num of digits for DECIMAL.
protected int maxLength = -1;
- // The number of digits after period for DECIMAL.
- protected int precision = -1;
+ /**
+ * @since 3.0
+ */
+ protected int scale = -1;
+
+ /**
+ * @since 3.0
+ */
+ // must call it 'attributePrecison' as 'precision' in 1.2 really meant
'scale'
+ protected int attributePrecision = -1;
public DbAttribute() {
super();
@@ -114,9 +121,15 @@
encoder.print('\"');
}
- if (getPrecision() > 0) {
- encoder.print(" precision=\"");
- encoder.print(getPrecision());
+ if (getScale() > 0) {
+ encoder.print(" scale=\"");
+ encoder.print(getScale());
+ encoder.print('\"');
+ }
+
+ if (getAttributePrecision() > 0) {
+ encoder.print(" attributePrecision=\"");
+ encoder.print(getAttributePrecision());
encoder.print('\"');
}
@@ -222,14 +235,20 @@
/**
* Returns the number of digits after period for DECIMAL.
+ *
+ * @deprecated since 3.0 as this property really referred to 'scale'. Use
+ * [EMAIL PROTECTED] #getScale()} instead.
*/
public int getPrecision() {
- return precision;
+ return getScale();
}
- /** Sets the number of digits after period for DECIMAL. */
- public void setPrecision(int precision) {
- this.precision = precision;
+ /**
+ * @deprecated since 3.0 as this property really referred to 'scale'. Use
+ * [EMAIL PROTECTED] #setScale(int)} instead.
+ */
+ public void setPrecision(int i) {
+ setScale(i);
}
/**
@@ -259,5 +278,36 @@
e));
}
}
+ }
+
+ /**
+ * @since 3.0
+ */
+ public int getAttributePrecision() {
+ return attributePrecision;
+ }
+
+ /**
+ * @since 3.0
+ */
+ public void setAttributePrecision(int attributePrecision) {
+ this.attributePrecision = attributePrecision;
+ }
+
+ /**
+ * Returns the number of digits after period for decimal attributes.
Returns "-1" if
+ * not set.
+ *
+ * @since 3.0
+ */
+ public int getScale() {
+ return scale;
+ }
+
+ /**
+ * @since 3.0
+ */
+ public void setScale(int scale) {
+ this.scale = scale;
}
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DerivedDbAttribute.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DerivedDbAttribute.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DerivedDbAttribute.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/DerivedDbAttribute.java
Thu Aug 10 10:45:09 2006
@@ -81,7 +81,8 @@
setType(parentProto.getType());
setMandatory(parentProto.isMandatory());
setMaxLength(parentProto.getMaxLength());
- setPrecision(parentProto.getPrecision());
+ setAttributePrecision(parentProto.getAttributePrecision());
+ setScale(parentProto.getScale());
setPrimaryKey(parentProto.isPrimaryKey());
setExpressionSpec(ATTRIBUTE_TOKEN);
@@ -118,9 +119,15 @@
encoder.print('\"');
}
- if (getPrecision() > 0) {
- encoder.print(" precision=\"");
- encoder.print(getPrecision());
+ if (getScale() > 0) {
+ encoder.print(" scale=\"");
+ encoder.print(getScale());
+ encoder.print('\"');
+ }
+
+ if (getAttributePrecision() > 0) {
+ encoder.print(" attributePrecision=\"");
+ encoder.print(getAttributePrecision());
encoder.print('\"');
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/MapLoader.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/MapLoader.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/MapLoader.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/map/MapLoader.java
Thu Aug 10 10:45:09 2006
@@ -393,9 +393,20 @@
attrib.setMaxLength(Integer.parseInt(length));
}
- String precision = atts.getValue("", "precision");
+ // this is an obsolete 1.2 'precision' attribute that really meant
'scale'
+ String pseudoPrecision = atts.getValue("", "precision");
+ if (pseudoPrecision != null) {
+ attrib.setScale(Integer.parseInt(pseudoPrecision));
+ }
+
+ String precision = atts.getValue("", "attributePrecision");
if (precision != null) {
- attrib.setPrecision(Integer.parseInt(precision));
+ attrib.setAttributePrecision(Integer.parseInt(precision));
+ }
+
+ String scale = atts.getValue("", "scale");
+ if (scale != null) {
+ attrib.setScale(Integer.parseInt(scale));
}
attrib.setPrimaryKey(TRUE.equalsIgnoreCase(atts.getValue("",
"isPrimaryKey")));
@@ -413,15 +424,28 @@
((DerivedDbAttribute) attrib).setExpressionSpec(spec);
dbEntity.addAttribute(attrib);
- String temp = atts.getValue("", "length");
- if (temp != null) {
- attrib.setMaxLength(Integer.parseInt(temp));
- }
- temp = atts.getValue("", "precision");
- if (temp != null) {
- attrib.setPrecision(Integer.parseInt(temp));
+ String length = atts.getValue("", "length");
+ if (length != null) {
+ attrib.setMaxLength(Integer.parseInt(length));
+ }
+
+ // this is an obsolete 1.2 'precision' attribute that really meant
'scale'
+ String pseudoPrecision = atts.getValue("", "precision");
+ if (pseudoPrecision != null) {
+ attrib.setScale(Integer.parseInt(pseudoPrecision));
+ }
+
+ String precision = atts.getValue("", "attributePrecision");
+ if (precision != null) {
+ attrib.setAttributePrecision(Integer.parseInt(precision));
+ }
+
+ String scale = atts.getValue("", "scale");
+ if (scale != null) {
+ attrib.setScale(Integer.parseInt(scale));
}
- temp = atts.getValue("", "isPrimaryKey");
+
+ String temp = atts.getValue("", "isPrimaryKey");
if (temp != null && temp.equalsIgnoreCase(TRUE)) {
attrib.setPrimaryKey(true);
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
Thu Aug 10 10:45:09 2006
@@ -435,7 +435,7 @@
scale = (Integer) prototypeAttrMap.get("scale");
if (scale != null)
- dbAttr.setPrecision(scale.intValue());
+ dbAttr.setScale(scale.intValue());
if (primaryKeys.contains(attrName))
dbAttr.setPrimaryKey(true);
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/access/DbLoaderTst.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/access/DbLoaderTst.java?rev=430459&r1=430458&r2=430459&view=diff
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/access/DbLoaderTst.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4-core/src/test/java/org/apache/cayenne/access/DbLoaderTst.java
Thu Aug 10 10:45:09 2006
@@ -280,7 +280,7 @@
msgForTypeMismatch(Types.DECIMAL, decimalAttr),
Types.DECIMAL == decimalAttr.getType()
|| Types.NUMERIC == decimalAttr.getType());
- assertEquals(2, decimalAttr.getPrecision());
+ assertEquals(2, decimalAttr.getScale());
// check varchar
assertEquals(
@@ -326,7 +326,7 @@
// length and precision doesn't have to be the same
// it must be greater or equal
assertTrue(origAttr.getMaxLength() <= newAttr.getMaxLength());
- assertTrue(origAttr.getPrecision() <= newAttr.getPrecision());
+ assertTrue(origAttr.getScale() <= newAttr.getScale());
}
}
}