Package com.ziclix.python.sql
Class PyConnection
- java.lang.Object
-
- org.python.core.PyObject
-
- com.ziclix.python.sql.PyConnection
-
- All Implemented Interfaces:
java.io.Serializable
,ClassDictInit
,ContextManager
,Traverseproc
public class PyConnection extends PyObject implements ClassDictInit, ContextManager, Traverseproc
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
gcMonitorGlobal, TYPE
-
-
Constructor Summary
Constructors Constructor Description PyConnection(java.sql.Connection connection)
Create a PyConnection with the open connection.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PyObject
__enter__()
PyObject
__enter__(ThreadState ts)
boolean
__exit__(PyObject type, PyObject value, PyObject traceback)
boolean
__exit__(ThreadState ts, PyException exception)
PyObject
__findattr_ex__(java.lang.String name)
Finds the attribute.void
__setattr__(java.lang.String name, PyObject value)
Sets the attribute.static void
classDictInit(PyObject dict)
Method classDictInitvoid
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.boolean
refersDirectlyTo(PyObject ob)
Optional operation.void
rollback()
This method is optional since not all databases provide transaction support.java.lang.String
toString()
Produces a string representation of the object.int
traverse(Visitproc visit, java.lang.Object arg)
Traverses all directly containedPyObject
s.-
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__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __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__, __trunc__, __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, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
-
-
-
-
Method Detail
-
toString
public java.lang.String toString()
Produces a string representation of the object.
-
classDictInit
public static void classDictInit(PyObject dict)
Method classDictInit- Parameters:
dict
-
-
__setattr__
public void __setattr__(java.lang.String name, PyObject value)
Sets the attribute.- Overrides:
__setattr__
in classPyObject
- Parameters:
name
-value
-- See Also:
PyObject.__setattr__(PyString, PyObject)
-
__findattr_ex__
public PyObject __findattr_ex__(java.lang.String name)
Finds the attribute.- Overrides:
__findattr_ex__
in classPyObject
- 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 resultrsType
- the type of the underlying ResultSetrsConcur
- the concurrency of the underlying ResultSet- Returns:
- a new cursor using this connection
-
__enter__
public PyObject __enter__(ThreadState ts)
- Specified by:
__enter__
in interfaceContextManager
-
__enter__
public PyObject __enter__()
-
__exit__
public boolean __exit__(ThreadState ts, PyException exception)
- Specified by:
__exit__
in interfaceContextManager
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as its second parameter. IfVisitproc.visit(PyObject, Object)
returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)
must not be called with anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
-
-