Details
-
Bug
-
Status: Resolved
-
Trivial
-
Resolution: Fixed
-
10.4.1.3
-
Normal
-
Newcomer, Repro attached
Description
With code like the following:
DatabaseMetaData dmd = conn.getMetaData();
ResultSet rs = dmd.getBestRowIdentifier(null,"APP","a",3,true);
ResultSetMetaData rsmd = rs.getMetaData();
int actualCols = rsmd.getColumnCount();
for (int i = 0; i < actualCols; i++)
The printed values for isNullable returned are opposite of what they are when the getBestRowIdentifier call looks like this:
ResultSet rs = dmd.getBestRowIdentifier(null,"APP","a",1,true);
In the latter case, the values are:
getColumnName: SCOPE, isNullable: 0
getColumnName: COLUMN_NAME, isNullable: 1
getColumnName: DATA_TYPE, isNullable: 0
getColumnName: TYPE_NAME, isNullable: 1
getColumnName: COLUMN_SIZE, isNullable: 0
getColumnName: BUFFER_LENGTH, isNullable: 0
getColumnName: DECIMAL_DIGITS, isNullable: 0
getColumnName: PSEUDO_COLUMN, isNullable: 0
In the first case, the values are:
getColumnName: SCOPE, isNullable: 1
getColumnName: COLUMN_NAME, isNullable: 0
getColumnName: DATA_TYPE, isNullable: 1
getColumnName: TYPE_NAME, isNullable: 1
getColumnName: COLUMN_SIZE, isNullable: 1
getColumnName: BUFFER_LENGTH, isNullable: 1
getColumnName: DECIMAL_DIGITS, isNullable: 1
getColumnName: PSEUDO_COLUMN, isNullable: 1
The isNullable value should be stable.
It's probably worthwhile verifying what the value should be in the first place.
Attachments
Attachments
Issue Links
- is depended upon by
-
DERBY-6870 Google Summer of Code 2016: Derby bug fixing
- Resolved