Message5019

Author lijihuai
Recipients cgroves, lijihuai, pjenvey
Date 2009-08-12.05:20:36
SpamBayes Score 3.2114058e-05
Marked as misclassified No
Message-id <DreamMail__131932_25085247061@smtp.126.com>
In-reply-to
Content
Philip Jenvey,你好

    just waiting next release ?

    to a javaer, working with jython is happy

lijihuai,lijihuai@126.com
2009-08-12 
----- Original Message ----- 
From: Philip Jenvey 
To: lijihuai 
Sent: 2009-08-12, 11:57:25
Subject: [issue1430] Oracle JDBC Connection close

New submission from Philip Jenvey <pjenvey@users.sourceforge.net>:

I was able to reproduce this. The oracle Connection object implements 3 
DBAccess interfaces that define their own close methods that take 1 
argument. For some reason the descriptor for close gets confused into 
thinking they are the only available close() methods:

DriverManager.getConnection('jdbc:oracle:thin:@192.168.21.128:1521:xe', 
'scott', 'tiger')
>>> c.close()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: close(): expected 1 args; got 0
>>> c
oracle.jdbc.driver.T4CConnection@d27a744
>>> T4CConnection = type(c)
>>> T4CConnection.close.printArgs()
nargs: 3
interface oracle.sql.BfileDBAccess, false, 0, public abstract void 
oracle.sql.BfileDBAccess.close(oracle.sql.BFILE) throws 
java.sql.SQLException
  (oracle.sql.BFILE, )
interface oracle.sql.BlobDBAccess, false, 0, public abstract void 
oracle.sql.BlobDBAccess.close(oracle.sql.BLOB) throws 
java.sql.SQLException
  (oracle.sql.BLOB, )
interface oracle.sql.ClobDBAccess, false, 0, public abstract void 
oracle.sql.ClobDBAccess.close(oracle.sql.CLOB) throws 
java.sql.SQLException
  (oracle.sql.CLOB, )
>>> T4CConnection.__bases__
(<type 'oracle.sql.BfileDBAccess'>, <type 'oracle.sql.BlobDBAccess'>, 
<type 'oracle.sql.ClobDBAccess'>, <type 
'oracle.jdbc.driver.PhysicalConnection'>)
>>> T4CConnection.__mro__ 
(<type 'oracle.jdbc.driver.T4CConnection'>, <type 
'oracle.sql.BfileDBAccess'>, <type 'oracle.sql.BlobDBAccess'>, <type 
'oracle.sql.ClobDBAccess'>, <type 
'oracle.jdbc.driver.PhysicalConnection'>, <type 
'oracle.jdbc.driver.OracleConnection'>, <type 
'oracle.jdbc.internal.OracleConnection'>, <type 
'oracle.jdbc.internal.ClientDataSupport'>, <type 
'oracle.jdbc.OracleConnectionWrapper'>, <type 
'oracle.jdbc.OracleConnection'>, <type 'java.sql.Connection'>, <type 
'java.sql.Wrapper'>, <type 'java.lang.Object'>, <type 'object'>)
>>> for t in T4CConnection.__mro__: 
.... if hasattr(t, 'close'): % t 
.... print '---- %s ----' % t 
.... print t.close.printArgs()
.... 
---- <type 'oracle.jdbc.driver.T4CConnection'> ----
nargs: 3
interface oracle.sql.BfileDBAccess, false, 0, public abstract void 
oracle.sql.BfileDBAccess.close(oracle.sql.BFILE) throws 
java.sql.SQLException
  (oracle.sql.BFILE, )
interface oracle.sql.BlobDBAccess, false, 0, public abstract void 
oracle.sql.BlobDBAccess.close(oracle.sql.BLOB) throws 
java.sql.SQLException
  (oracle.sql.BLOB, )
interface oracle.sql.ClobDBAccess, false, 0, public abstract void 
oracle.sql.ClobDBAccess.close(oracle.sql.CLOB) throws 
java.sql.SQLException
  (oracle.sql.CLOB, )
None
---- <type 'oracle.sql.BfileDBAccess'> ----
nargs: 1
interface oracle.sql.BfileDBAccess, false, 0, public abstract void 
oracle.sql.BfileDBAccess.close(oracle.sql.BFILE) throws 
java.sql.SQLException
  (oracle.sql.BFILE, )
None
---- <type 'oracle.sql.BlobDBAccess'> ----
nargs: 1
interface oracle.sql.BlobDBAccess, false, 0, public abstract void 
oracle.sql.BlobDBAccess.close(oracle.sql.BLOB) throws 
java.sql.SQLException
  (oracle.sql.BLOB, )
None
---- <type 'oracle.sql.ClobDBAccess'> ----
nargs: 1
interface oracle.sql.ClobDBAccess, false, 0, public abstract void 
oracle.sql.ClobDBAccess.close(oracle.sql.CLOB) throws 
java.sql.SQLException
  (oracle.sql.CLOB, )
None
---- <type 'oracle.jdbc.driver.PhysicalConnection'> ----
nargs: 3
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close() throws java.sql.SQLException
  ()
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close(int) throws 
java.sql.SQLException
  (int, )
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close(java.util.Properties) throws 
java.sql.SQLException
  (java.util.Properties, )
None
---- <type 'oracle.jdbc.driver.OracleConnection'> ----
nargs: 3
interface java.sql.Connection, false, 0, public abstract void 
java.sql.Connection.close() throws java.sql.SQLException
  ()
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(int) throws java.sql.SQLException
  (int, )
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(java.util.Properties) throws 
java.sql.SQLException
  (java.util.Properties, )
None
---- <type 'oracle.jdbc.internal.OracleConnection'> ----
nargs: 3
interface java.sql.Connection, false, 0, public abstract void 
java.sql.Connection.close() throws java.sql.SQLException
  ()
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(int) throws java.sql.SQLException
  (int, )
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(java.util.Properties) throws 
java.sql.SQLException
  (java.util.Properties, )
None
---- <type 'oracle.jdbc.OracleConnectionWrapper'> ----
nargs: 3
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close() throws java.sql.SQLException
  ()
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close(int) throws 
java.sql.SQLException
  (int, )
class oracle.jdbc.OracleConnectionWrapper, false, 0, public void 
oracle.jdbc.OracleConnectionWrapper.close(java.util.Properties) throws 
java.sql.SQLException
  (java.util.Properties, )
None
---- <type 'oracle.jdbc.OracleConnection'> ----
nargs: 3
interface java.sql.Connection, false, 0, public abstract void 
java.sql.Connection.close() throws java.sql.SQLException
  ()
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(int) throws java.sql.SQLException
  (int, )
interface oracle.jdbc.OracleConnection, false, 0, public abstract void 
oracle.jdbc.OracleConnection.close(java.util.Properties) throws 
java.sql.SQLException
  (java.util.Properties, )
None
---- <type 'java.sql.Connection'> ----
nargs: 1
interface java.sql.Connection, false, 0, public abstract void 
java.sql.Connection.close() throws java.sql.SQLException
  ()
None

----------
nosy: +cgroves, pjenvey
priority: -> high

_______________________________________
Jython tracker <report@bugs.jython.org>
<http://bugs.jython.org/issue1430>
_______________________________________
Files
File name Uploaded
unnamed lijihuai, 2009-08-12.05:20:35
History
Date User Action Args
2009-08-12 05:20:36lijihuaisetrecipients: + lijihuai, cgroves, pjenvey
2009-08-12 05:20:36lijihuailinkissue1430 messages
2009-08-12 05:20:36lijihuaicreate