com.ziclix.python.sql
Class PyConnection

java.lang.Object
  extended by org.python.core.PyObject
      extended by com.ziclix.python.sql.PyConnection
All Implemented Interfaces:
Serializable, ClassDictInit, ContextManager

public class PyConnection
extends PyObject
implements ClassDictInit, ContextManager

A connection to the database.

Author:
brian zimmer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
 
Fields inherited from class org.python.core.PyObject
TYPE
 
Constructor Summary
PyConnection(Connection connection)
          Create a PyConnection with the open connection.
 
Method Summary
 PyObject __enter__()
           
 PyObject __enter__(ThreadState ts)
           
 boolean __exit__(PyObject type, PyObject value, PyObject traceback)
           
 boolean __exit__(ThreadState ts, PyException exception)
           
 PyObject __findattr_ex__(String name)
          Finds the attribute.
 void __setattr__(String name, PyObject value)
          Sets the attribute.
static void classDictInit(PyObject dict)
          Method classDictInit
 void close()
          Close the connection now (rather than whenever __del__ is called).
 void commit()
          Commit any pending transaction to the database.
 PyCursor cursor()
          Return a new Cursor Object using the connection.
 PyCursor cursor(boolean dynamicFetch)
          Return a new Cursor Object using the connection.
 PyCursor cursor(boolean dynamicFetch, PyObject rsType, PyObject rsConcur)
          Return a new Cursor Object using the connection.
 PyObject nativesql(PyObject nativeSQL)
          Converts the given SQL statement into the system's native SQL grammar.
 void rollback()
          This method is optional since not all databases provide transaction support.
 String toString()
          Produces a string representation of the object.
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, setDict, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PyConnection

public PyConnection(Connection connection)
             throws SQLException
Create a PyConnection with the open connection.

Parameters:
connection -
Throws:
SQLException
Method Detail

toString

public String toString()
Produces a string representation of the object.

Overrides:
toString in class PyObject
Returns:
string representation of the object.

classDictInit

public static void classDictInit(PyObject dict)
Method classDictInit

Parameters:
dict -

__setattr__

public void __setattr__(String name,
                        PyObject value)
Sets the attribute.

Overrides:
__setattr__ in class PyObject
Parameters:
name -
value -
See Also:
PyObject.__setattr__(PyString, PyObject)

__findattr_ex__

public PyObject __findattr_ex__(String name)
Finds the attribute.

Overrides:
__findattr_ex__ in class PyObject
Parameters:
name - the name of the attribute of interest
Returns:
the value for the attribute of the specified name

close

public void close()
Close the connection now (rather than whenever __del__ is called). The connection will be unusable from this point forward; an Error (or subclass) exception will be raised if any operation is attempted with the connection. The same applies to all cursor objects trying to use the connection.


commit

public void commit()
Commit any pending transaction to the database. Note that if the database supports an auto-commit feature, this must be initially off. An interface method may be provided to turn it back on.

Database modules that do not support transactions should implement this method with void functionality.


rollback

public void rollback()
This method is optional since not all databases provide transaction support.

In case a database does provide transactions this method causes the database to roll back to the start of any pending transaction. Closing a connection without committing the changes first will cause an implicit rollback to be performed.


nativesql

public PyObject nativesql(PyObject nativeSQL)
Converts the given SQL statement into the system's native SQL grammar. A driver may convert the JDBC sql grammar into its system's native SQL grammar prior to sending it; this method returns the native form of the statement that the driver would have sent.

Parameters:
nativeSQL -
Returns:
the native form of this statement

cursor

public PyCursor cursor()
Return a new Cursor Object using the connection. If the database does not provide a direct cursor concept, the module will have to emulate cursors using other means to the extent needed by this specification.

Returns:
a new cursor using this connection

cursor

public PyCursor cursor(boolean dynamicFetch)
Return a new Cursor Object using the connection. If the database does not provide a direct cursor concept, the module will have to emulate cursors using other means to the extent needed by this specification.

Parameters:
dynamicFetch - if true, dynamically iterate the result
Returns:
a new cursor using this connection

cursor

public PyCursor cursor(boolean dynamicFetch,
                       PyObject rsType,
                       PyObject rsConcur)
Return a new Cursor Object using the connection. If the database does not provide a direct cursor concept, the module will have to emulate cursors using other means to the extent needed by this specification.

Parameters:
dynamicFetch - if true, dynamically iterate the result
rsType - the type of the underlying ResultSet
rsConcur - the concurrency of the underlying ResultSet
Returns:
a new cursor using this connection

__enter__

public PyObject __enter__(ThreadState ts)
Specified by:
__enter__ in interface ContextManager

__enter__

public PyObject __enter__()

__exit__

public boolean __exit__(ThreadState ts,
                        PyException exception)
Specified by:
__exit__ in interface ContextManager

__exit__

public boolean __exit__(PyObject type,
                        PyObject value,
                        PyObject traceback)


Jython homepage