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.sql.Types;
|
||||||
import java.util.Vector;
|
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
|
* This class defines methods of the jdbc1 specification. This class is
|
||||||
* extended by org.postgresql.jdbc2.AbstractJdbc2Statement which adds the jdbc2
|
* extended by org.postgresql.jdbc2.AbstractJdbc2Statement which adds the jdbc2
|
||||||
* methods. The real Statement class (for jdbc1) is org.postgresql.jdbc1.Jdbc1Statement
|
* 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
|
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:
|
case Types.BIT:
|
||||||
if (x instanceof Boolean)
|
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)
|
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
|
else
|
||||||
{
|
{
|
||||||
|
@ -5,7 +5,7 @@ import java.math.BigDecimal;
|
|||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.Calendar;
|
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
|
* This class defines methods of the jdbc3 specification. This class extends
|
||||||
* org.postgresql.jdbc2.AbstractJdbc2Statement which provides the jdbc2
|
* org.postgresql.jdbc2.AbstractJdbc2Statement which provides the jdbc2
|
||||||
* methods. The real Statement class (for jdbc2) is org.postgresql.jdbc3.Jdbc3Statement
|
* methods. The real Statement class (for jdbc2) is org.postgresql.jdbc3.Jdbc3Statement
|
||||||
@ -1360,4 +1360,15 @@ public abstract class AbstractJdbc3Statement extends org.postgresql.jdbc2.Abstra
|
|||||||
throw org.postgresql.Driver.notImplemented();
|
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