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 "David Van Couvering (JIRA)" <de...@db.apache.org> on 2006/02/13 22:34:42 UTC
[jira] Created: (DERBY-970) Add new metadata methods to network
client driver
Add new metadata methods to network client driver
-------------------------------------------------
Key: DERBY-970
URL: http://issues.apache.org/jira/browse/DERBY-970
Project: Derby
Type: Sub-task
Reporter: David Van Couvering
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Derby Info: [Patch Available]
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat, derby-970-part3-v2.diff, derby-970-part3-v2.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370521 ]
Dyre Tjeldvoll commented on DERBY-970:
--------------------------------------
I have looked at the -part2-v1.diff patch, and I think it looks good. Is it intentional that the "test case" methods. E.g. testAutoCommitFailure(...) just have an ordianary comment, and not proper javadoc? Do we even generate javadoc in in derbyTesting? Anyway, if nobody objects, I think you should go ahead and commit this.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12375329 ]
Dyre Tjeldvoll commented on DERBY-970:
--------------------------------------
I have looked at the part3-v2 patch and I think it looks good. Even better than the first which was also good ... :) IMHO, it is ready to be committed.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat, derby-970-part3-v2.diff, derby-970-part3-v2.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369863 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
> Kathey Marsden commented on DERBY-970:
> --------------------------------------
>
> Sorry I didn't look at this earlier I have a few questions as I try
to come up to speed on the issues.
Thanks for your comments and suggestions! See my answers below.
>
> 1) Could you clarify the issue with JDK 1.6?
> From what I understand, the issue is:
> We just don't have access to the JDK 1.6 interfaces because in our
> build we don't build with JDK 1.6. Is that correct?
That's correct. For instance, most of the client driver is compiled
with 1.4. Code that doesn't run in 1.3 is wrapped in an if, like this:
if (JVMInfo.JDK_ID >= JVMInfo.J2SE_14) {
// call a method that's not in java 1.3
}
We could do this with 1.6 code too, but since the 1.6 compiler only
can be used to compile optional (that is, JDBC 4) modules, the body of
the if statement needs to be written using reflection.
> If that is the
> case, can our SystemProcedure just call our internal implementation?
Yes, that is basically what alternative a would do. Since the JDBC 4.0
database metadata methods are implemented in EmbedDatabaseMetaData40,
we need to use reflection to check whether there is an internal
implementation of the metadata call.
Alternatively, we could move the metadata methods from the 4.0 class
to the base class (or add a dummy method throwing not implemented in
the base class). In that case we could avoid the reflection.
Currently, the system procedures do this to get result sets
rs[0] = getDMD().getXXX(x,y,z);
We would need to cast the return value from getDMD() to
EmbedDatabaseMetaData and change the code like this
rs[0] = ((EmbedDatabaseMetaData) getDMD()).getXXX(x,y,z);
I was considering this approach earlier, but rejected it because
a) I didn't like casting from the java.sql interface to some
internal implementation, and
b) It wouldn't work if the method signatures contained new language
constructs
Looking at it again, at least b) doesn't seem to be an issue since
none of the metadata methods added by JDBC 4 use new language
constructs in their signatures.
If SystemProcedure.getDMD() is guaranteed to return an
EmbedDatabaseMetaData object, a) isn't an issue either. I'll check if
that's the case. If it is, I think I like that solution better than
the factory.
> 2) With your plan will metadata.properties remain as is and we keep
> the stored prepared statements?
Yes.
> 3)Could you epxplain how thie factory solution would work a little
> more?
Methods that need 1.6 to compile are moved out into another class, say
SysProcHelper40. We would also need a base class, say SysProcHelper,
which is possible to compile under 1.4. For the new getSchemas()
method, we would have something like this:
class SysProcHelper {
ResultSet getSchemas(DatabaseMetaData dmd, String arg1, String arg2)
throws SQLException {
// throw not implemented
}
}
class SysProcHelper40 extends SysProcHelper {
ResultSet getSchemas(DatabaseMetaData dmd, String arg1, String arg2)
throws SQLException {
return dmd.getSchemas(arg1, arg2);
}
}
In SystemProcedures, we would need to add a variable of type
SysProcHelper, which is initialized (using reflection) to a
SysProcHelper or SysProcHelper40 instance depending on JVM.
Then we would implement the system procedure like this:
rs[0] = sysProcHelper.getSchemas(getDMD(), arg1, arg2);
This way, we would get code that compiles without 1.6, returns the
correct result set when running under 1.6 (with JDBC 4 compiled in),
and throws not implemented when JDBC 4 isn't enabled.
> And a couple of tangental questions:
> 4)
> Do you understand how metadata.properties changes are handled with
> regard to soft upgrade, downgrade, upgrade, etc currentlyy?
Not at all! :)
I guess adding a new query wouldn't cause problems, since that will
just add a new SPS the first time it is used and not affect other
queries.
Modifying existing queries, which has to be done for
DatabaseMetaData.getProcedures() and getProcedureColumns(), is
probably worse. Dropping the SPS or using a new name for the modified
query are the two options I can think of.
> I have
> had on my list for a long time to research what is happenning in
> Derby with this as it was the source of intractable upgrade issues
> in the past and the mechanism that I knew of to handle it (dropping
> the SPS's whenever the version changed) is no longer in Derby. I
> just haven't been able to get to researching it yet.
Why was the dropping of SPSs removed?
Frankly, I don't see the value in storing SPSs for metadata calls. Is
it for performance? If yes, how many applications exist that would
suffer noticeably from more expensive metadata calls? And if such
applications exist, wouldn't it be better to have prepared statements
whose lifetime didn't exceed the lifetime of the JVM process? Then the
queries would be prepared at most once per process, and we wouldn't
have the upgrade problem. I'm probably missing something.
> 5) Is there a general problem with incompatiblity of compiled Stored
> Prepared Statements in databases that may have been created with
> different JVM versions?
I don't think so. Incompatibilities only occur if the SQL text of the
stored prepared statements change when changing JVM, and that is not
the case.
If the SQL text has to change depending on JVM, I think you could
avoid the problem by giving the queries/SPSs different names.
> On the earlier suggestions:
> Either c or d would be a fatal blow to client/server compatibility,
> so they have all the appeal of euthanasia for client/server compat.
Oh, then we *certainly* should try to avoid that!
By the way, how strict is that rule? It seems like the client driver
already has the queries for these metadata methods hard coded:
- getSuperTypes()
- getSuperTables()
- getAttributes()
All of these have a corresponding entry in metadata.properties, and
SPSs which are only used by the embedded driver. However, all of these
methods return empty result sets.
I was hoping that I could follow the same pattern for
getClientInfoProperties() (which also returns an empty result set).
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Rick Hillegas (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Rick Hillegas closed DERBY-970:
-------------------------------
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat, derby-970-part3-v2.diff, derby-970-part3-v2.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Daniel John Debrunner (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369895 ]
Daniel John Debrunner commented on DERBY-970:
---------------------------------------------
David Van Couvering wrote:
> but are we as a community willing to commit to using JDK 1.6
Not sure what exactly you mean here, require 1.6 to build Derby instead of 1.4?
You have to remember you cannot regress the ability of someone to build Derby currently,
questions that arise in my mind are:
- when will 1.6 be available on mac os,
- am I forced to use Sun's JDK to build if no others exist, I happily build & test using IBM's vms today.
- if Sun is the only JDK 1.6 vm out there, are it's licence terms acceptable to most folks, today since
the build is 1.4 based, folks have choice.
- if someone only cares about 1.4/1.5 today, are we forcing them to download 1.6?
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371984 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Thanks Dyre, but I have promised that I won't commit the patch yet.
To your question about checkJdbcVersionX(): I think all new JDBC 4
metadata calls that require support by the server should call
checkJdbcVersionX(). I don't see any value in calling it for methods
that return constants (like autoCommitFailureClosesAllResultSets()) or
empty result sets (like getClientInfoProperties()).
I think getFunctions() and getFunctionParameters(), which I have seen
you working on, should call this method.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "David Van Couvering (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370240 ]
David Van Couvering commented on DERBY-970:
-------------------------------------------
To Dyre's question: I don't know if there is a consensus, but at least *I* support adding new queries instead of modifying old ones. Just seems safer in terms of maintaining backward compatibility and upgradability... But I think this may be more of an issue for the network client than the engine, no?
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: derby-970-part2-v1.diff
derby-970-part2-v1.stat
Uploaded patch derby-970-part2-v1.diff. The patch is partial and
implements the non-controversial methods only (at least, I believe
they are non-controversial).
This patch implements the following new JDBC 4 DatabaseMetaData
methods in the client driver:
- getRowIdLifetime() - returns RowIdLifetime.ROWID_UNSUPPORTED
- supportsStoredFunctionsUsingCallSyntax() - returns true
- autoCommitFailureClosesAllResultSets() - returns false
- providesQueryObjectGenerator() - returns false
Canon for jdbc4/TestDbMetaData.java is updated to reflect that the
methods are implemented on the client.
New test cases added to TestDbMetaData:
- try to execute a stored procedure using the escape syntax, and see
if the success/failure corresponds to the value returned by
supportsStoredFunctionsUsingCallSyntax()
- open a holdable result set in auto-commit mode and, on the same
connection, execute a query which causes SQLException. Check
whether the result set is open or closed, and see if the state
corresponds to the value returned by
autoCommitFailureClosesAllResultSets()
Both derbyall and the jdbc4 suite ran successfully. Please
review. Thanks.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371834 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Thanks for your comments, Kathey. I have no problems with waiting for those issues to be completed.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: derby-970-part3-v1.diff
derby-970-part3-v1.stat
Attaching patch derby-970-part3-v1.diff which implements the new JDBC
4 methods getSchemas(String, String) and getClientInfoProperties() on
the client driver.
Description of changes on the embedded side:
1) Moved getSchemas(String, String) from EmbedDatabaseMetaData40 to
EmbedDatabaseMetaData so that a server running JVM < 1.6 does not
fail.
2) Extended SystemProcedures.SQLTABLES() (aka SYSIMB.SQLTABLES) to
support getSchemas(String, String). It already has support for
the zero-parameter getSchemas() by passing an option string
"GETSCHEMAS=1". The new getSchemas() is invoked by passing
"GETSCHEMAS=2".
Description of changes on the client side:
3) New SQLSTATE and error message for the case when a JDBC method is
not supported by the server (i.e., when running a new client
against an old server). Message text: "JDBC method {0} is not
supported by the server. Please upgrade the server."
4) DatabaseMetaData.getClientInfoProperties() returns an empty
result set with the correct column names. The query is hard-coded
so that an empty result set is returned regardless of server
version. (Same pattern is used as in the existing methods
getSuperTypes(), getSuperTables() and getAttributes().)
5) DatabaseMetaData.getSchemas(String, String) is implemented as a
call to SYSIBM.SQLTABLES with the GETSCHEMAS=2 option. Since
GETSCHEMAS=2 is not supported by older servers, the JDBC version
of the server is checked. If the server does not support JDBC 4,
an exception is thrown (without this check, the result of a call
to getTables() would have been returned).
Description of test changes:
6) In TestDbMetaData, removed try/catch blocks which were added to
make the test continue to run when the methods were not
implemented. (The test is still not enabled in DerbyNetClient
because getFunctions() and getFunctionParameters() are not
implemented yet.)
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370657 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Thanks for looking at the part2 patch, Dyre! I changed two comments in
the test file to javadoc and committed revision 386290.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Description:
Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
- supportsStoredFunctionsUsingCallSyntax()
- autoCommitFailureClosesAllResultSets()
- getClientInfoProperties()
- providesQueryObjectGenerator()
- getSchemas()
- getRowIdLifetime()
was:
Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
- supportsStoredFunctionsUsingCallSyntax()
- autoCommitFailureClosesAllResultSets()
- getClientInfoProperties()
- providesQueryObjectGenerator()
- getSchemas()
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: derby-970-part3-v2.diff
derby-970-part3-v2.stat
Uploading a new version of the part3 patch. Tests for getSchemas() and
getClientInfoProperties() have been added to jdbcapi/metadata.java,
and metadata.out and Upgrade_10_1_10_2.out have been updated for all
frameworks/jdks.
The only implementation change from the previous patch is that the
embedded implementation of getClientInfoProperties() is moved from
EmbedDatabaseMetaData40 to EmbedDatabaseMetaData so that it can be
tested in the metadata test on JVM<1.6.
Derbyall and the upgrade test ran cleanly on Sun JVM 1.5, Solaris 10
x86. The jdbc40 suite ran cleanly on JVM 1.6 beta2-b79. The metadata
test ran cleanly on all combinations of Sun JVM 1.6/1.4/1.3 and
embedded/DerbyNet/DerbyNetClient.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat, derby-970-part3-v2.diff, derby-970-part3-v2.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: check_server_version-v2.diff
check_server_version-v2.stat
Modified the check_server_version patch slightly. Added the new message id to splitmessages.java so that the message is copied into the client.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Attachment: derby-970-part1-v1.diff
derby-970-part1-v1.stat
Attaching patch derby-970-part1-v1.diff. This patch makes the JDBC4
database metadata test (jdbc4/TestDbMetaData.java) also test the
client driver. Currently, none of the new metadata calls are
implemented on the client, some of them even throw
AbstractMethodError. The canon is updated accordingly.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370031 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Checked in patch which enables test on client driver in revision
385157. No actual code changes are committed yet.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Component: JDBC
Fix Version: 10.2.0.0
Other Info: [Patch available]
Patch available. Please review!
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
"Dyre Tjeldvoll (JIRA)" <de...@db.apache.org> writes:
> [ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
>
> Dyre Tjeldvoll updated DERBY-970:
> ---------------------------------
>
> Attachment: check_server_version.diff
> check_server_version.stat
> check_server_version_report.txt
>
> I'm attaching a new patch (check_server_version) for the part of
> this patch that checks the server version. Derbyall passes, but
> there is no test case for this method (it is protected), but it will
> be used by the rest of 970, 924, 925.
Thanks, Dyre! I'll run some tests and commit the patch.
--
Knut Anders
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Dyre Tjeldvoll updated DERBY-970:
---------------------------------
Attachment: check_server_version.diff
check_server_version.stat
check_server_version_report.txt
I'm attaching a new patch (check_server_version) for the part of this patch that checks the server version.
Derbyall passes, but there is no test case for this method (it is protected), but it will be used by the rest of 970, 924, 925.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370184 ]
Dyre Tjeldvoll commented on DERBY-970:
--------------------------------------
So is the consensus NOT to change any queries in metadata.properties, then? And add new versions of those queries that need to change for JDBC 4.0?
I need new queries for getProcedures (1093) and getProcedureColumns (1094). If I am going to change the existing queries I need to create new masters for metadata.java and odbc_metadata.java. But with new queries I need to discard changes to those masters, and just update the jdbc4 master.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen resolved DERBY-970:
--------------------------------------
Resolution: Fixed
Thanks for the review, Dyre!
Committed revision 395561.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat, derby-970-part3-v2.diff, derby-970-part3-v2.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370324 ]
Dyre Tjeldvoll commented on DERBY-970:
--------------------------------------
Thanks for answering my question, David :) My only problem now is that 3 committers have expressed 3 different views on this :)
David: Make new queries, it is safer!
Dan: You should just update the old ones!
Kathey: Don't touch anything in metadata.properties!
So, I'm kinda stuck...
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "David Van Couvering (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369894 ]
David Van Couvering commented on DERBY-970:
-------------------------------------------
I'll weigh in on a couple of things:
- A lot of the complexity in your solution seems to be dependent on the fact that we can't require JDK 1.6 to build Derby. I think that requirement needs to continue to exist until JDK 1.6 goes GA, but are we as a community willing to commit to using JDK 1.6 (assuming we can find a build approach that works) once it's GA, so we don't have these kinds of issues come up over and over?
- I think it makes sense to give new revisions of old metadata stored procs new names
- I think it makes a lot of sense to move the new metadata calls into the old metadata class so you don' t have to pick your class at runtime through reflection
- I also agree I don't see the obvious value making metadata calls stored procedures rather than just prepared statements.
David
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370219 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
Knut Asked:
>By the way, how strict is that rule (That metadata queries be handled on the server side and not the client)?
The functional requirement is pretty simple. On upgrade of the server or client software, the supported public API's, such as JDBC, that worked in the old version should still work after they plop down the new jar file. There should be no additional intervention required on the part of the user or application developer to get what was working to work once again. For example they cannot be required to upgrade the software on the other end of the wire or make application changes to get things to work.
The implementation of this is complex and can get quite messy.
For the metadata queries that means that any query executed by a client needs to work with server versions past and future. Putting an empty ResultSet query in the client might be likely always to work just fine because it uses SQL Syntax that has the same requirement.
Many of the metadata queries, however, use internal interfaces and unsupported syntax and refer to system table columns that may have been recently added, so maintaining these on the client would be very difficult.
For example adding the 10.2 metadata.properties to the 10.2 client and having queries executed that way would break 10.2 client with 10.1 client right away . To fix with 10.1 we would have to add the 10.1 metadata.properties to the 10.2 client. We would also need to preserve the internal interfaces on the servers of the future so the old clients would continue to work.
It seems easier for these to keep the queries tied to the server and then only the stored procedure names have to stay the same.
Good references regarding the maintenance of all of this on the Wiki from more architecturally inclined minds:
http://wiki.apache.org/db-derby/ForwardCompatibility
http://wiki.apache.org/db-derby/SharedComponentVersioningGuidelines#head-021f7965c44f0b0bcb993d3f54922e1b41d53921
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369251 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Most of the JDBC 4 DatabaseMetaData methods that return a ResultSet
are implemented in the embedded driver. I can think of many ways to
implement them in the client driver, but I don't like any of them very
much.
The current pattern for implementing such methods is:
1) write a query and put it in metadata.properties
2) implement method in EmbedDatabaseMetaData executing query in
metadata.properties
3) create system procedure in SystemProcedures, calling the method
through the java.sql.DatabaseMetaData interface
4) implement method in the client driver, calling the system
procedure
Since JDK 1.6 compilation is optional, step 3 is not possible without
using reflection. There are (at least) two ways that step can be
performed with reflection:
a) find and invoke the correct JDBC 4 DatabaseMetaData method with
reflection
b) have some kind of JDBC 4 SystemProcedure factory which can load a
class compiled under JDK 1.6
Then there is the possibility to break the current pattern and let the
client execute the query directly instead of going through the system
procedure. Two options:
c) hard code the query in the client driver (already used for some
metadata methods returning an empty ResultSet, in which case it
is OK?)
d) let client access metadata.properties (by letting ant copy the
file)
My objections to these approaches are:
Approach a will result in messy and hard to read code where all sorts
of exceptions need to be caught and handled.
Approach b needs at least two additional java files (interface and
implementation) which seems like too much complexity for something
this simple.
Approach c duplicates code (that is, SQL code).
Approach d can cause compatibility problems if the name of a system
table/schema changes in a subsequent Derby version.
Also, approaches c and d won't create and store an SPS (stored
prepared statement). Is performance a big issue for metadata calls?
I would appreciate getting some advice on which of these ugly
solutions to choose. Of course, if someone has a solution that is not
ugly, I would appreciate that too!
Thanks!
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370361 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
Dyre said I said
>Kathey: Don't touch anything in metadata.properties!
I don't think I said that. What I was trying to say was:
1) Don't break anything that works now when you change metadata.properties.
2) Make sure upgrade/softupgrade and downgrade are tested when you change metdata.properties
3) Keep metadata.properties on the server.
4) Be careful in there. DERBY-1107 creates a mine field which in the past has created bugs which were impossible to fix without solution of the time travel problem.
As for implementation:
I think adding additional columns to existing queries is fine and perhaps preferable where possible because it avoids duplication of queries and should not impact existing applications.
I think changing the results returned for existing columns is probably *not* OK.
I think adding new queries is fine too if needed.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370231 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
Note: My previous comment had an error. I said:
>For example adding the 10.2 metadata.properties to the 10.2 client and having queries executed that way would break 10.2 client with 10.1 client right away .
But should have said:
>For example adding the 10.2 metadata.properties to the 10.2 client and having queries executed that way would break 10.2 client with 10.1 server right away.
I could not see how to delete and repost my comment to make the correction as I have done in the past..
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369672 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
Sorry I didn't look at this earlier I have a few questions as I try to come up to speed on the issues.
1) Could you clarify the issue with JDK 1.6?
>From what I understand, the issue is:
We just don't have access to the JDK 1.6 interfaces because in our build we don't build with JDK 1.6. Is that correct? If that is the case, can our SystemProcedure just call our internal implementation?
2) With your plan will metadata.properties remain as is and we keep the stored prepared statements?
3)Could you epxplain how thie factory solution would work a little more?
And a couple of tangental questions:
4)
Do you understand how metadata.properties changes are handled with regard to soft upgrade, downgrade, upgrade, etc currentlyy? I have had on my list for a long time to research what is happenning in Derby with this as it was the source of intractable upgrade issues in the past and the mechanism that I knew of to handle it (dropping the SPS's whenever the version changed) is no longer in Derby. I just haven't been able to get to researching it yet.
5) Is there a general problem with incompatiblity of compiled Stored Prepared Statements in databases that may have been created with different JVM versions?
On the earlier suggestions:
Either c or d would be a fatal blow to client/server compatibility, so they have all the appeal of euthanasia for client/server compat.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Derby Info: (was: [Patch Available])
The part 3 patch has conflicts with the current trunk. Removing "patch available" until a new patch is uploaded.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371737 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
Thanks Knut for the clarification. Metadata seems such a delicate area right now and as you say the tests are behind the feature devopment. I get a little wary of all the changes happening in this area, given the testing situation and the outstanding bugs. I think maybe we should hold off on metadata checkins until DERBY-514 is complete and DERBY-1120 and DERBY-1124 are resolved. Also a clear strategy on DERBY-1107 would be good as well, but not required. I know these are not your issues but I think it would be a good cautionary measure to get these core testing issues and bugs resolved with metadata resolved before checkin in more metadata enhancements.
Thoughts?
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12373988 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Committed check_server_version-v2.diff in revision 393164.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: check_server_version-v2.diff, check_server_version-v2.stat, check_server_version.diff, check_server_version.stat, check_server_version_report.txt, derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen updated DERBY-970:
-------------------------------------
Description:
Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
- supportsStoredFunctionsUsingCallSyntax()
- autoCommitFailureClosesAllResultSets()
- getClientInfoProperties()
- providesQueryObjectGenerator()
- getSchemas()
Environment:
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by Dy...@Sun.COM.
"David Van Couvering (JIRA)" <de...@db.apache.org> writes:
> [ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370402 ]
>
> David Van Couvering commented on DERBY-970:
> -------------------------------------------
>
> So, I think Kathey's answer is the right compromise between mine and Dan's. I agree if we *can* reuse existing queries without affecting upgrade and compatibility, let's do so. I think we need to make sure as part of our tests that upgrade works and we don't have any compatibility errors when running metadata tests. I would think running an old client against a new database would be a good thing, as well as upgrading an old database and making sure the new metadata queries work correctly.
As far as I could tell, she did not suggest a particular solution?
Anyway, I would like to continue this part of the discussion (which
queries to put in metadata.properties and how to refer to them) to
DERBY-1093, and/or DERBY-1094, since this is really separate from the
client/server version compatibility issue.
--
dt
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "David Van Couvering (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12370402 ]
David Van Couvering commented on DERBY-970:
-------------------------------------------
So, I think Kathey's answer is the right compromise between mine and Dan's. I agree if we *can* reuse existing queries without affecting upgrade and compatibility, let's do so. I think we need to make sure as part of our tests that upgrade works and we don't have any compatibility errors when running metadata tests. I would think running an old client against a new database would be a good thing, as well as upgrading an old database and making sure the new metadata queries work correctly.
David
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371723 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Kathey wrote:
> 1) What is the soft upgrde impact of this change if any?
There should be no soft upgrade impact of this change.
getClientInfoProperties() contains a query that always returns an
empty result set, so you can upgrade and downgrade as much as you
want, both softly and hard, and still see the same result.
getSchemas() uses an existing system procedure (SQLTABLES) which is
available in soft upgrade mode. The system procedure is slightly
modified, but it's interface is unchanged, so I can't see how it
should be affected by soft upgrade.
And since both the methods are new in JDBC 4, old clients won't notice
any change.
> DERBY-1075 was checked in last night so you could probably go ahead
> and add soft upgrade tests for this.
It doesn't seem like the upgrade test is quite ready, yet. At least, I
get a *huge* diff when I try to run it. I'm also not sure it's easy to
add tests for new JDBC 4 methods (that is, without heavy use of
reflection).
> 2) Did you run the derbynetmats suite (JCC) with your change?
Yes. No failures.
> 3) I was thinking to add coverage for specific client/server version
> code paths, it would be good to add tests to:
> java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/JDBCDriverTest
> and run with the original client release and then run with:
> . original 10.1 client / trunk server
> original 10.1 server/ trunk client
Again, I don't think it's trivial to add tests for new JDBC 4 methods
to that test. I also don't thinks these methods are very interesting
to have in a compatibility test. getClientInfoProperties() just
returns an empty result set, getSchemas() is supposed to fail with an
old server, and old clients don't even have the methods, so there
isn't much compatibility to test.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Dyre Tjeldvoll (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371977 ]
Dyre Tjeldvoll commented on DERBY-970:
--------------------------------------
I have looked at the part3 patch, and I think it looks good. +1 to commit. Should all new jdbc4 *X methods now call checkJdbcVersionX() as you have done in getSchemasX()?
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Assigned: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Knut Anders Hatlen reassigned DERBY-970:
----------------------------------------
Assign To: Knut Anders Hatlen
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=all ]
Andrew McIntyre updated DERBY-970:
----------------------------------
Other Info: (was: [Patch available])
Derby Info: [Patch Available]
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Kathey Marsden (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12371584 ]
Kathey Marsden commented on DERBY-970:
--------------------------------------
I have not reviewed the patch yet but have a few questions/comments.
1) What is the soft upgrde impact of this change if any?
DERBY-1075 was checked in last night so you could probably go ahead and add soft upgrade tests for this.
2) Did you run the derbynetmats suite (JCC) with your change?
3) I was thinking to add coverage for specific client/server version code paths, it would be good to add tests to:
java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/JDBCDriverTest and run with the original client release and then run with:
. original 10.1 client / trunk server
original 10.1 server/ trunk client
Thanks
Kathey
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Components: JDBC
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
> Fix For: 10.2.0.0
> Attachments: derby-970-part1-v1.diff, derby-970-part1-v1.stat, derby-970-part2-v1.diff, derby-970-part2-v1.stat, derby-970-part3-v1.diff, derby-970-part3-v1.stat
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
> - getRowIdLifetime()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DERBY-970) Add new metadata methods to network
client driver
Posted by "Knut Anders Hatlen (JIRA)" <de...@db.apache.org>.
[ http://issues.apache.org/jira/browse/DERBY-970?page=comments#action_12369646 ]
Knut Anders Hatlen commented on DERBY-970:
------------------------------------------
Since no one seems to have strong opinions on this, I will go ahead
using the factory approach. I think that will be the cleanest one, and
it can be reused in DERBY-924 and DERBY-925.
> Add new metadata methods to network client driver
> -------------------------------------------------
>
> Key: DERBY-970
> URL: http://issues.apache.org/jira/browse/DERBY-970
> Project: Derby
> Type: Sub-task
> Reporter: David Van Couvering
> Assignee: Knut Anders Hatlen
>
> Implement new JDBC 4.0 DatabaseMetaData methods in the client driver:
> - supportsStoredFunctionsUsingCallSyntax()
> - autoCommitFailureClosesAllResultSets()
> - getClientInfoProperties()
> - providesQueryObjectGenerator()
> - getSchemas()
--
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
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira