[ 
https://issues.apache.org/jira/browse/TORQUE-330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Fox updated TORQUE-330:
------------------------------
          Description: 
When executing a SQL statement with some prepared statement replacement types 
(short, double ...) on the current trunk version, postgresql fails with an 
error, e.g. ERROR: operator does not exist: smallint = character varying

This error is caught by the test 
org.apache.torque.generated.peer.RetrieveByPkTest.testRetrieveByNonExistingPkMultiplePKs()
 in the test project.

The reason is that in 
org.apache.torque.util.BasePeerImpl.setPreparedStatementReplacements(PreparedStatement,
 List<Object>, int) in the runtime, not all of these arguments are considered, 
and for unknown arguments, java.sql.PreparedStatement.setString(int, String) is 
used.

The setPreparedStatementReplacements method should be changed such that also 
the specific setters for short, byte, float and double are used.

  was:
When executing a SQL statement with some prepared statement replacement types 
(short, double ...), postgresql fails with an error, e.g. ERROR: operator does 
not exist: smallint = character varying

This error is caught by the test 
org.apache.torque.generated.peer.RetrieveByPkTest.testRetrieveByNonExistingPkMultiplePKs()
 in the test project.

The reason is that in 
org.apache.torque.util.BasePeerImpl.setPreparedStatementReplacements(PreparedStatement,
 List<Object>, int) in the runtime, not all of these arguments are considered, 
and for unknown arguments, java.sql.PreparedStatement.setString(int, String) is 
used.

The setPreparedStatementReplacements method should be changed such that also 
the specific setters for short, byte, float and double are used.

    Affects Version/s:     (was: 4.0)

> Postgresql fails for some prepared statement replacement types (short, double 
> ...)
> ----------------------------------------------------------------------------------
>
>                 Key: TORQUE-330
>                 URL: https://issues.apache.org/jira/browse/TORQUE-330
>             Project: Torque
>          Issue Type: Bug
>          Components: Runtime
>         Environment: postgresql
>            Reporter: Thomas Fox
>            Assignee: Thomas Fox
>             Fix For: 4.1
>
>
> When executing a SQL statement with some prepared statement replacement types 
> (short, double ...) on the current trunk version, postgresql fails with an 
> error, e.g. ERROR: operator does not exist: smallint = character varying
> This error is caught by the test 
> org.apache.torque.generated.peer.RetrieveByPkTest.testRetrieveByNonExistingPkMultiplePKs()
>  in the test project.
> The reason is that in 
> org.apache.torque.util.BasePeerImpl.setPreparedStatementReplacements(PreparedStatement,
>  List<Object>, int) in the runtime, not all of these arguments are 
> considered, and for unknown arguments, 
> java.sql.PreparedStatement.setString(int, String) is used.
> The setPreparedStatementReplacements method should be changed such that also 
> the specific setters for short, byte, float and double are used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to