db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Satheesh Bandaram <sathe...@Sourcery.Org>
Subject Re: [PATCH] (DERBY-169) DatabaseMetaData calls related to changes made by others return incorrect values in Network Server mode.
Date Fri, 11 Mar 2005 00:03:31 GMT
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
This patch is committed.<br>
<br>
Sending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
java\engine\org\apache\derby\impl\sql\catalog\metadata_net.properties<br>
Sending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\metadataJdbc20.out<br>
Sending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\metadataJdbc20.out<br>
Sending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
java\testing\org\apache\derbyTesting\functionTests\master\metadataJdbc20.out<br>
Sending&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
java\testing\org\apache\derbyTesting\functionTests\tests\jdbcapi\metadataJdbc20.java<br>
Transmitting file data .....<br>
Committed revision 157015.<br>
<br>
Satheesh<br>
<br>
Mamta Satoor wrote:
<blockquote cite="midd9619e4a0503090855480fa515@mail.gmail.com"
 type="cite">
  <pre wrap="">On Wed, 9 Mar 2005 08:41:52 +0100 (CET), Mamta A. Satoor (JIRA)
<a class="moz-txt-link-rfc2396E" href="mailto:derby-dev@db.apache.org">&lt;derby-dev@db.apache.org&gt;</a>
wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">DatabaseMetaData calls related to changes made by others return incorrect
values in Network Server mode.
--------------------------------------------------------------------------------------------------------

        Key: DERBY-169
        URL: <a class="moz-txt-link-freetext" href="http://issues.apache.org/jira/browse/DERBY-169">http://issues.apache.org/jira/browse/DERBY-169</a>
    Project: Derby
       Type: Bug
 Components: Network Server
   Versions: 10.0.2.1
   Reporter: Mamta A. Satoor
Assigned to: Mamta A. Satoor

I am working on getting updatable resultsets to work under Network Server mode. While running
the test lang/updatableResultSet.java in Network Server mode, I came across following issue.
DatabaseMetaData among other methods has 3 methods, othersUpdatesAreVisible, othersDeletesAreVisible
and othersInsertsAreVisible. These 3 methods currently return true for TYPE_SCROLL_INSENSITIVE
and TYPE_SCROLL_SENSITIVE when running in Network Server mode. They should be returning false
for TYPE_SCROLL_INSENSITIVE and TYPE_SCROLL_SENSITIVE. The reason for that is
Derby does not yet implement scroll sensitive ResultSets and hence the 3 metadata calls mentioned
above should return false. Also, scroll insensitive ResultSets by their definition do not
see changes made by others and hence the 3 metadata calls should return false.

The fix for this is very easy and requires changes in apache\derby\impl\sql\catalog\metadata_net.properties.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
  <a class="moz-txt-link-freetext" href="http://issues.apache.org/jira/secure/Administrators.jspa">http://issues.apache.org/jira/secure/Administrators.jspa</a>
-
If you want more information on JIRA, or have a bug to report see:
  <a class="moz-txt-link-freetext" href="http://www.atlassian.com/software/jira">http://www.atlassian.com/software/jira</a>


    </pre>
  </blockquote>
  <pre wrap=""><!---->

Here is a very simple fix for the bug with the tests, I have run the
test suites and the fix hasn't caused any failures.

svn stat output
M      java\engine\org\apache\derby\impl\sql\catalog\metadata_net.properties
M      java\testing\org\apache\derbyTesting\functionTests\tests\jdbcapi\metadataJdbc20.java
M      java\testing\org\apache\derbyTesting\functionTests\master\DerbyNet\metadataJdbc20.out
M      java\testing\org\apache\derbyTesting\functionTests\master\metadataJdbc20.out
M      java\testing\org\apache\derbyTesting\functionTests\master\DerbyNetClient\metadataJdbc20.out

Thanks,
Mamta
  </pre>
  <pre wrap="">
<hr size="4" width="90%">
Index: java/engine/org/apache/derby/impl/sql/catalog/metadata_net.properties
===================================================================
--- java/engine/org/apache/derby/impl/sql/catalog/metadata_net.properties	(revision 156618)
+++ java/engine/org/apache/derby/impl/sql/catalog/metadata_net.properties	(working copy)
@@ -298,9 +298,9 @@
 	'',\
 	'',\
 	'',\
-	'1003,1004,1005',\
-	'1003,1004,1005',\
-	'1003,1004,1005',\
+	'1003',\
+	'1003',\
+	'1003',\
 	'',\
 	'',\
 	'',\
Index: java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20.java
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20.java	(revision
156618)
+++ java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20.java	(working
copy)
@@ -88,6 +88,21 @@
  			userNamedTypes[1] = java.sql.Types.STRUCT;
  			dumpRS(met.getUDTs("a", null, null, userNamedTypes));
 
+			System.out.println("Test the metadata calls related to visibility of changes made by others
for different resultset types");
+			System.out.println("Since Derby materializes a forward only ResultSet incrementally, it
is possible to see changes");
+			System.out.println("made by others and hence following 3 metadata calls will return true
for forward only ResultSets.");
+			System.out.println("othersUpdatesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? " + met.othersUpdatesAreVisible(ResultSet.TYPE_FORWARD_ONLY));
+			System.out.println("othersDeletesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? " + met.othersDeletesAreVisible(ResultSet.TYPE_FORWARD_ONLY));
+			System.out.println("othersInsertsAreVisible(ResultSet.TYPE_FORWARD_ONLY)? " + met.othersInsertsAreVisible(ResultSet.TYPE_FORWARD_ONLY));
+			System.out.println("Scroll insensitive ResultSet by their definition do not see changes
made by others and hence following metadata calls return false");
+			System.out.println("othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? " + met.othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE));
+			System.out.println("othersDeletesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? " + met.othersDeletesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE));
+			System.out.println("othersInsertsAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? " + met.othersInsertsAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE));
+			System.out.println("Derby does not yet implement scroll sensitive resultsets and hence
following metadata calls return false");
+			System.out.println("othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? " + met.othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE));
+			System.out.println("othersDeletesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? " + met.othersDeletesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE));
+			System.out.println("othersInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? " + met.othersInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE));
+
 			s.close();
 
 			con.close();
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out
(revision 156618)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out
(working copy)
@@ -11,4 +11,18 @@
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
 getUDTs() with user-named types in ('JAVA_OBJECT', 'STRUCT') :
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+Test the metadata calls related to visibility of changes made by others for different resultset
types
+Since Derby materializes a forward only ResultSet incrementally, it is possible to see changes
+made by others and hence following 3 metadata calls will return true for forward only ResultSets.
+othersUpdatesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersDeletesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersInsertsAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+Scroll insensitive ResultSet by their definition do not see changes made by others and hence
following metadata calls return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+Derby does not yet implement scroll sensitive resultsets and hence following metadata calls
return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
 Test metadataJdbc20 finished
Index: java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out	(revision
156618)
+++ java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out	(working
copy)
@@ -11,4 +11,18 @@
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
 getUDTs() with user-named types in ('JAVA_OBJECT', 'STRUCT') :
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+Test the metadata calls related to visibility of changes made by others for different resultset
types
+Since Derby materializes a forward only ResultSet incrementally, it is possible to see changes
+made by others and hence following 3 metadata calls will return true for forward only ResultSets.
+othersUpdatesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersDeletesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersInsertsAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+Scroll insensitive ResultSet by their definition do not see changes made by others and hence
following metadata calls return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+Derby does not yet implement scroll sensitive resultsets and hence following metadata calls
return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
 Test metadataJdbc20 finished
Index: java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadataJdbc20.out
===================================================================
--- java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadataJdbc20.out
(revision 156618)
+++ java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/metadataJdbc20.out
(working copy)
@@ -11,4 +11,18 @@
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
 getUDTs() with user-named types in ('JAVA_OBJECT', 'STRUCT') :
 TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+Test the metadata calls related to visibility of changes made by others for different resultset
types
+Since Derby materializes a forward only ResultSet incrementally, it is possible to see changes
+made by others and hence following 3 metadata calls will return true for forward only ResultSets.
+othersUpdatesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersDeletesAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+othersInsertsAreVisible(ResultSet.TYPE_FORWARD_ONLY)? true
+Scroll insensitive ResultSet by their definition do not see changes made by others and hence
following metadata calls return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_INSENSITIVE)? false
+Derby does not yet implement scroll sensitive resultsets and hence following metadata calls
return false
+othersUpdatesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersDeletesAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
+othersInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)? false
 Test metadataJdbc20 finished
  </pre>
</blockquote>
</body>
</html>


Mime
View raw message