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:
>>>
c =
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>
_______________________________________