You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2012/02/06 13:56:15 UTC
svn commit: r1241002 -
/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
Author: doebele
Date: Mon Feb 6 12:56:15 2012
New Revision: 1241002
URL: http://svn.apache.org/viewvc?rev=1241002&view=rev
Log:
EMPIREDB-130
fixed according to description.
Modified:
incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
Modified: incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java?rev=1241002&r1=1241001&r2=1241002&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java (original)
+++ incubator/empire-db/trunk/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java Mon Feb 6 12:56:15 2012
@@ -405,53 +405,66 @@ public abstract class DBDatabaseDriver i
for (int i=0; i<sqlParams.length; i++)
{
Object value = sqlParams[i];
- if (value instanceof DBBlobData)
- {
- // handling for blobs
- DBBlobData blobData = (DBBlobData)value;
- pstmt.setBinaryStream(i + 1, blobData.getInputStream(), blobData.getLength());
- // log
- if (log.isDebugEnabled())
- log.debug("Statement param {} set to BLOB data", i+1);
- }
- else if(value instanceof DBClobData)
- {
- // handling for clobs
- DBClobData clobData = (DBClobData)value;
- pstmt.setCharacterStream(i + 1, clobData.getReader(), clobData.getLength());
- // log
- if (log.isDebugEnabled())
- log.debug("Statement param {} set to CLOB data", i+1);
- }
- else if(value instanceof Character)
- {
- // handling for dates
- String strval = value.toString();
- pstmt.setObject(i + 1, strval);
- // log
- if (log.isDebugEnabled())
- log.debug("Statement param {} set to '{}'", i+1, strval);
- }
- else if(value instanceof Date && !(value instanceof Timestamp))
- {
- // handling for dates
- Timestamp ts = new Timestamp(((Date)value).getTime());
- pstmt.setObject(i + 1, ts);
- // log
- if (log.isDebugEnabled())
- log.debug("Statement param {} set to date '{}'", i+1, ts);
- }
- else
- { // simple parameter value
- pstmt.setObject(i + 1, value);
- // log
- if (log.isDebugEnabled())
- log.debug("Statement param {} set to '{}'", i+1, value);
- }
+ addStatementParam(pstmt, i+1, value);
}
}
/**
+ * Adds a statement parameter to a prepared statement
+ *
+ * @param pstmt the prepared statement
+ * @param sqlParams list of objects
+ */
+ protected void addStatementParam(PreparedStatement pstmt, int paramIndex, Object value)
+ throws SQLException
+ {
+ if (value instanceof DBBlobData)
+ {
+ // handling for blobs
+ DBBlobData blobData = (DBBlobData)value;
+ pstmt.setBinaryStream(paramIndex, blobData.getInputStream(), blobData.getLength());
+ // log
+ if (log.isDebugEnabled())
+ log.debug("Statement param {} set to BLOB data", paramIndex);
+ }
+ else if(value instanceof DBClobData)
+ {
+ // handling for clobs
+ DBClobData clobData = (DBClobData)value;
+ pstmt.setCharacterStream(paramIndex, clobData.getReader(), clobData.getLength());
+ // log
+ if (log.isDebugEnabled())
+ log.debug("Statement param {} set to CLOB data", paramIndex);
+ }
+ else if(value instanceof Date && !(value instanceof Timestamp))
+ {
+ // handling for dates
+ Timestamp ts = new Timestamp(((Date)value).getTime());
+ pstmt.setObject(paramIndex, ts);
+ // log
+ if (log.isDebugEnabled())
+ log.debug("Statement param {} set to date '{}'", paramIndex, ts);
+ }
+ else if((value instanceof Character)
+ || (value instanceof Enum<?>))
+ {
+ // Objects that need String conversion
+ String strval = value.toString();
+ pstmt.setObject(paramIndex, strval);
+ // log
+ if (log.isDebugEnabled())
+ log.debug("Statement param {} set to '{}'", paramIndex, strval);
+ }
+ else
+ { // simple parameter value
+ pstmt.setObject(paramIndex, value);
+ // log
+ if (log.isDebugEnabled())
+ log.debug("Statement param {} set to '{}'", paramIndex, value);
+ }
+ }
+
+ /**
* Extracts native error message of an sqlExeption.
*
* @param e the SQLException