Daniel John Debrunner wrote: >I'm new to the client/server code and I'm trying to understand how >holability is passed around. That led me to this method: > >org.apache.derby.impl.drda.DRDAStatement > >parsePkgidToFindHoldability > >I see that this method sets the holdabilty of the statement based upon >the package id. What I don't understand is the case when the package >identifier is not dynamic. In this case the holdability is set to >HOLD_CURSORS_OVER_COMMIT. Is that just to match the engine's defaul >holdability, or is there some other special rule for non-dynamic package > identifier? > > > I think it was just to match the engine default because the client holdability in these cases was not known to the server.
I believe that static identifiers are not used with client. A long time ago with JCC stored procedures including the builtin ones for metadata would be called with the package SYSTAT, but that is not the case for client or any version of JCC supported with Derby. An explanation of the names for the dynamic place holders is in the DB2 doc: http://publib.boulder.ibm.com/infocenter/db2luw/v8//topic/com.ibm.db2.udb.doc/ad/r0007866.htm?resultof=%22%43%4c%49%22%20%22%63%6c%69%22%20%22%70%61%63%6b%61%67%65%73%22%20%22%70%61%63%6b%61%67%22%20 What I don't know about is ODBC. I seem to recall there is a special attribute associated with holdabilty for JCC. Also I don't know if ODBC uses SYSTAT for Metadata calls. Kathey
