You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Myrna van Lunteren (JIRA)" <ji...@apache.org> on 2007/11/07 00:24:50 UTC

[jira] Created: (DERBY-3181) isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.

isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
----------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: DERBY-3181
                 URL: https://issues.apache.org/jira/browse/DERBY-3181
             Project: Derby
          Issue Type: Bug
    Affects Versions: 10.4.0.0
            Reporter: Myrna van Lunteren
            Priority: Trivial
         Attachments: repro.java

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++) 
            { 
                 System.out.print("getColumnName: " + rsmd.getColumnName(i+1) + ", isNullable: "); 
                 System.out.println(rsmd.isNullable(i+1)); 
            } 
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.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3181) isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-3181:
----------------------------------

    Issue & fix info: [Newcomer, Repro attached]
             Urgency: Normal

Triaged for 10.5.2. Set urgency to normal

> isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3181
>                 URL: https://issues.apache.org/jira/browse/DERBY-3181
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.4.1.3
>            Reporter: Myrna van Lunteren
>            Priority: Trivial
>         Attachments: repro.java
>
>
> 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++) 
>             { 
>                  System.out.print("getColumnName: " + rsmd.getColumnName(i+1) + ", isNullable: "); 
>                  System.out.println(rsmd.isNullable(i+1)); 
>             } 
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3181) isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.

Posted by "Myrna van Lunteren (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Myrna van Lunteren updated DERBY-3181:
--------------------------------------

    Attachment: repro.java

> isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3181
>                 URL: https://issues.apache.org/jira/browse/DERBY-3181
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.4.0.0
>            Reporter: Myrna van Lunteren
>            Priority: Trivial
>         Attachments: repro.java
>
>
> 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++) 
>             { 
>                  System.out.print("getColumnName: " + rsmd.getColumnName(i+1) + ", isNullable: "); 
>                  System.out.println(rsmd.isNullable(i+1)); 
>             } 
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3181) isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-3181:
----------------------------------

    Component/s: JDBC

> isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3181
>                 URL: https://issues.apache.org/jira/browse/DERBY-3181
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.4.0.0
>            Reporter: Myrna van Lunteren
>            Priority: Trivial
>         Attachments: repro.java
>
>
> 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++) 
>             { 
>                  System.out.print("getColumnName: " + rsmd.getColumnName(i+1) + ", isNullable: "); 
>                  System.out.println(rsmd.isNullable(i+1)); 
>             } 
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.