db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jakob Braeuchi <jbraeu...@gmx.ch>
Subject Re: PlatformMySQLImpl bug fix
Date Fri, 19 Dec 2003 22:30:45 GMT
hi michael,

thanks for the patch, it's available in repository now.

jakob

Michael Mogley wrote:

> All,
> 
> I just fixed a bug in PlatformMySQLImpl that prevents char[] types from being persisted
as CLOBs.  Here is the new setObjectForStatement method:
> 
>     public void setObjectForStatement(PreparedStatement ps, int index, Object value,
int sqlType) throws SQLException
>     {
>         switch (sqlType)
>         {
>             case Types.BIT :
>                 ps.setObject(index, value);
>                 break;
> 
>             case Types.BLOB :
>             case Types.LONGVARBINARY :
>             case Types.VARBINARY :
>                 if (value instanceof byte[])
>                 {
>                     byte buf[] = (byte[]) value;
>                     ByteArrayInputStream inputStream = new ByteArrayInputStream(buf);
>                     ps.setBinaryStream(index, inputStream, buf.length);
> 
>                     break;
>                 }
> 
>             case Types.CLOB :
>                 Reader reader = null;
>                 int length = 0;
> 
>                 if (value instanceof String)
>                 {
>                     reader = new StringReader((String) value);
>                     length = (((String) value)).length();
>                 }
>                 else if (value instanceof char[])
>                 {
>                     String string = new String((char[])value);
>                     reader = new StringReader(string);
>                     length = string.length();
>                 }
>                 else if (value instanceof byte[])
>                 {
>                     byte buf[] = (byte[]) value;
>                     ByteArrayInputStream inputStream = new ByteArrayInputStream(buf);
>                     reader = new InputStreamReader(inputStream);
>                 }
> 
>                 ps.setCharacterStream(index, reader, length);
>                 break;
> 
>             default :
>                 super.setObjectForStatement(ps, index, value, sqlType);
> 
>         }
>     }
> 
> Michael


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message