Hi Team,
We are migrating from Oracle 12c to Aurora Postgres 13 and running into implicit casting issues.
Oracle is able to implicitly cast the bind value of prepared statements executed from the application to appropriate type - String -> Number, String -> Date, Number -> String etc. when there is a mismatch b/w java data type and the column Datatype.
For example: If the Datatype of a Column is defined as Number and the application sends the bind value as a String (with single quotes in the query) - Oracle DB is able to implicitly cast to Number and execute the query and return the results.
The same is not true with Postgres and we are getting below exception
org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint = character varying
Hint: No operator matches the given name and argument types. You might need to add explicit type casts..
We found a Postgres Driver property - stringtype=unspecified which appears to solve this problem and have the following questions.
Could you please let us know the following?
Q1) Will configuring this stringtype property introduce overhead on Postgres leading to Performance issues
Q2)Does setting this attribute have any other implications on the data in the DB.
Q3)Is there any plan to deprecate / stop supporting this attribute in future Aurora Postgres releases.