[ 
https://issues.apache.org/jira/browse/DERBY-6968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16195790#comment-16195790
 ] 

Bryan Pendleton commented on DERBY-6968:
----------------------------------------

Our results aren't ordered at all? Or they are only partially ordered?

The spec says: "They are ordered by SCOPE."

https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getBestRowIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String,%20int,%20boolean)

So if we aren't ordering our results by the SCOPE column, that certainly seems 
incorrect.

Regarding your two suggestions, my instinct is to prefer improving the engine 
implementation over improving the test. I can't immediately think of a downside 
to making our implementation of getBestRowIdentifier deliver a tighter ordering 
than it currently does.

That said, I've never used getBestRowIdentifier, and the JDBC spec itself 
certainly doesn't provide much intuition about why I would want to, nor did I 
find any useful examples in a few minutes of idle searching. What the heck is 
this method used for, and why?


> Instability in DatabaseMetaDataTest.testGetBestRowIdentifier
> ------------------------------------------------------------
>
>                 Key: DERBY-6968
>                 URL: https://issues.apache.org/jira/browse/DERBY-6968
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Test
>    Affects Versions: 10.14.1.0
>            Reporter: Rick Hillegas
>         Attachments: 10.14.1.testResults.0-failures
>
>
> Ingo reports instabilities in his platform tests of the 10.14.1.0 release 
> candidate. He sees intermittent failures in 
> DatabaseMetaDataTest.testGetBestRowIdentifier and then subsequent failures 
> due to poor test case isolation in that test. The test case fails because 
> DatabaseMetaData.getBestRowIdentifier() sometimes returns rows in a different 
> order than the test expects.
> The JDBC contract for that method does not specify an order for the returned 
> rows. ORDER BY clauses appear on some but not all the catalog queries in 
> metadata.properties which define the Derby result.
> I see two ways to address this issue:
> 1) The test could be fixed so that it hand-sorts the returned rows in order 
> to guarantee deterministic results.
> 2) ORDER BY clauses could be added to all the implicated metadata queries.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to