Applied patch from Kim Ho at redhat to improve boolean and bit handling
in the jdbc driver Modified Files: jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java
This commit is contained in:
parent
ce90c0f504
commit
0671b65b81
@ -26,7 +26,7 @@ import java.sql.Timestamp;
|
||||
import java.sql.Types;
|
||||
import java.util.Vector;
|
||||
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Statement.java,v 1.36 2003/09/13 04:02:15 barry Exp $
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc1/Attic/AbstractJdbc1Statement.java,v 1.37 2003/09/17 05:07:37 barry Exp $
|
||||
* This class defines methods of the jdbc1 specification. This class is
|
||||
* extended by org.postgresql.jdbc2.AbstractJdbc2Statement which adds the jdbc2
|
||||
* methods. The real Statement class (for jdbc1) is org.postgresql.jdbc1.Jdbc1Statement
|
||||
@ -917,7 +917,7 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
|
||||
*/
|
||||
public void setBoolean(int parameterIndex, boolean x) throws SQLException
|
||||
{
|
||||
bind(parameterIndex, x ? "'t'" : "'f'", PG_BOOLEAN);
|
||||
bind(parameterIndex, x ? "'1'" : "'0'", PG_BOOLEAN);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1551,11 +1551,15 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
|
||||
case Types.BIT:
|
||||
if (x instanceof Boolean)
|
||||
{
|
||||
bind(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE", PG_TEXT);
|
||||
bind(parameterIndex, ((Boolean)x).booleanValue() ? "'1'" : "'0'", PG_BOOLEAN);
|
||||
}
|
||||
else if (x instanceof String)
|
||||
{
|
||||
bind(parameterIndex, Boolean.valueOf(x.toString()).booleanValue() ? "'1'" : "'0'", PG_BOOLEAN);
|
||||
}
|
||||
else if (x instanceof Number)
|
||||
{
|
||||
bind(parameterIndex, ((Number)x).intValue()==1 ? "TRUE" : "FALSE", PG_TEXT);
|
||||
bind(parameterIndex, ((Number)x).intValue()==1 ? "'1'" : "'0'", PG_BOOLEAN);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ import java.math.BigDecimal;
|
||||
import java.sql.*;
|
||||
import java.util.Calendar;
|
||||
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc3/Attic/AbstractJdbc3Statement.java,v 1.2 2002/09/06 21:23:06 momjian Exp $
|
||||
/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc3/Attic/AbstractJdbc3Statement.java,v 1.3 2003/09/17 05:07:38 barry Exp $
|
||||
* This class defines methods of the jdbc3 specification. This class extends
|
||||
* org.postgresql.jdbc2.AbstractJdbc2Statement which provides the jdbc2
|
||||
* methods. The real Statement class (for jdbc2) is org.postgresql.jdbc3.Jdbc3Statement
|
||||
@ -1359,5 +1359,16 @@ public abstract class AbstractJdbc3Statement extends org.postgresql.jdbc2.Abstra
|
||||
{
|
||||
throw org.postgresql.Driver.notImplemented();
|
||||
}
|
||||
|
||||
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
|
||||
{
|
||||
switch (targetSqlType)
|
||||
{
|
||||
case Types.BOOLEAN:
|
||||
super.setObject(parameterIndex, x, Types.BIT, scale);
|
||||
default:
|
||||
super.setObject(parameterIndex, x, targetSqlType, scale);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user