Derby should throw a truncation error or warning when CASTing a
parameter/constant to char or char for bit datatypes and the data is too large
for the datatype.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: DERBY-129
URL: http://issues.apache.org/jira/browse/DERBY-129
Project: Derby
Type: Bug
Components: JDBC
Versions: 10.0.2.1
Reporter: Mamta A. Satoor
Derby doesn't throw a truncation exception/warning when data is too large
during casting of constants or parameters to character string or bit string
data types.
Following is ij example for constants which is too big for the datatype it is
getting cast to
ij> values (cast ('hello' as char(3)));
1
----
hel
1 row selected
ij> values (cast (X'0102' as char(1) for bit data));
1
----
01
1 row selected
Following code snippet is when using parameters through a JDBC program
s.executeUpdate("create table ct (c CLOB(100K))");
//the following Formatters just loads cData with 32700 'c' characters
String cData =
org.apache.derbyTesting.functionTests.util.Formatters.repeatChar("c",32700);
//notice that ? in the preared statement below is bound to length 32672
pSt = con.prepareStatement("insert into ct values (cast (? as
varchar(32672)))");
pSt.setString(1, cData);
//Derby doesn't throw an exception at ps.execute time for 32700 characters
into 32672 parameter. It silently
truncates it to 32672
pSt.execute();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira