Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
‹EYc@s?dZddlmZmZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZddlZdd	lmZd
ejfd„ƒYZdefd
„ƒYZdefd„ƒYZdefd„ƒYZde
fd„ƒYZdefd„ƒYZde	fd„ƒYZeZdS(s
.. dialect:: postgresql+pg8000
    :name: pg8000
    :dbapi: pg8000
    :connectstring: postgresql+pg8000://user:password@host:port/dbname[?key=value&key=value...]
    :url: https://pythonhosted.org/pg8000/


.. _pg8000_unicode:

Unicode
-------

pg8000 will encode / decode string values between it and the server using the
PostgreSQL ``client_encoding`` parameter; by default this is the value in
the ``postgresql.conf`` file, which often defaults to ``SQL_ASCII``.
Typically, this can be changed to ``utf-8``, as a more useful default::

    #client_encoding = sql_ascii # actually, defaults to database
                                 # encoding
    client_encoding = utf8

The ``client_encoding`` can be overriden for a session by executing the SQL:

SET CLIENT_ENCODING TO 'utf8';

SQLAlchemy will execute this SQL on all new connections based on the value
passed to :func:`.create_engine` using the ``client_encoding`` parameter::

    engine = create_engine(
        "postgresql+pg8000://user:pass@host/dbname", client_encoding='utf8')


.. _pg8000_isolation_level:

pg8000 Transaction Isolation Level
-------------------------------------

The pg8000 dialect offers the same isolation level settings as that
of the :ref:`psycopg2 <psycopg2_isolation_level>` dialect:

* ``READ COMMITTED``
* ``READ UNCOMMITTED``
* ``REPEATABLE READ``
* ``SERIALIZABLE``
* ``AUTOCOMMIT``

.. versionadded:: 0.9.5 support for AUTOCOMMIT isolation level when using
   pg8000.

.. seealso::

    :ref:`postgresql_isolation_level`

    :ref:`psycopg2_isolation_level`


i(tutiltexciÿÿÿÿN(t
processors(ttypesi(t	PGDialectt
PGCompilertPGIdentifierPreparertPGExecutionContextt_DECIMAL_TYPESt_FLOAT_TYPESt
_INT_TYPES(tJSONt
_PGNumericcBseZd„ZRS(cCs£|jr]|tkr+tjtj|jƒS|tksC|tkrGdSt
jd|ƒ‚nB|tkrmdS|tks…|tkrŒtjSt
jd|ƒ‚dS(NsUnknown PG numeric type: %d(
t	asdecimalR	Rtto_decimal_processor_factorytdecimaltDecimalt_effective_decimal_return_scaleRR
tNoneRtInvalidRequestErrortto_float(tselftdialecttcoltype((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytresult_processorOs	(t__name__t
__module__R(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRNst_PGNumericNoBindcBseZd„ZRS(cCsdS(N(R(RR((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytbind_processorfs(RRR(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRest_PGJSONcBseZd„ZRS(cCs0|jdkrdStt|ƒj||ƒSdS(Nii
(ii
i(t_dbapi_versionRtsuperRR(RRR((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRls(RRR(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRjstPGExecutionContext_pg8000cBseZRS((RR(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR sstPGCompiler_pg8000cBseZd„Zd„ZRS(cKs*|j|j|d|j|j|S(Ns %% (tprocesstlefttright(Rtbinarytoperatortkw((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytvisit_mod_binaryxscCs,d|krtjdƒn|jddƒS(Ns%%s^The SQLAlchemy postgresql dialect now automatically escapes '%' in text() expressions to '%%'.t%(Rtwarntreplace(Rttext((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytpost_process_text|s(RRR(R-(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR!ws	tPGIdentifierPreparer_pg8000cBseZd„ZRS(cCs(|j|j|jƒ}|jddƒS(NR)s%%(R+tescape_quotetescape_to_quote(Rtvalue((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt_escape_identifier…s(RRR2(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR.„stPGDialect_pg8000cBs
eZdZeZeZdZeZeZ	e
ZeZ
dZejejieej6eej6ee6ƒZdd„Zd„Zejd„ƒZed„ƒZ d„Z!d„Z"d	„Z#d
„Z$d„Z%d„Z&ee'd
„Z(ee'd„Z)d„Z*d„Z+RS(tpg8000tformattuse_encodingcKstj||||_dS(N(Rt__init__tclient_encoding(RR8tkwargs((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR7¡scCs,|jdk|_tt|ƒj|ƒdS(Nii	i(ii	i(Rtsupports_sane_multi_rowcountRR3t
initialize(Rt
connection((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR;¥scCsX|jrPt|jdƒrPtgtjd|jjƒD]}t|ƒ^q7ƒSdSdS(Nt__version__s(\d+)(?:[-\.]?|$)ic(icicic(tdbapithasattrttupletretfindallR=tint(Rtx((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR©s
	)cCs
tdƒS(NR4(t
__import__(tcls((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR>³scCsO|jddƒ}d|kr5t|dƒ|d<n|j|jƒg|fS(Ntusernametusertport(ttranslate_connect_argsRCtupdatetquery(Rturltopts((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytcreate_connect_args·s
cCsdt|ƒkS(Nsconnection is closed(tstr(RteR<tcursor((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt
is_disconnect¾scCsÃ|jddƒ}t|dƒr-|j}n|dkrEt|_nz||jkr”t|_|jƒ}|jd|ƒ|jdƒ|j	ƒn+t
jd||jdj
|jƒfƒ‚dS(	Nt_t R<t
AUTOCOMMITs=SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL %stCOMMITsZInvalid value '%s' for isolation_level. Valid isolation levels for %s are %s or AUTOCOMMITs, (R+R?R<tTruet
autocommitt_isolation_lookuptFalseRRtexecutetcloseRt
ArgumentErrortnametjoin(RR<tlevelRR((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytset_isolation_levelÁs 	

cCsWt|dƒr|j}n|jƒ}|jd|dƒ|jdƒ|jƒdS(NR<sSET CLIENT_ENCODING TO 't'RW(R?R<RRR\R](RR<R8RR((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytset_client_encodingÙs
cCs|jjd|dfƒdS(Nit(R<t	tpc_begin(RR<txid((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytdo_begin_twophaseãscCs|jjƒdS(N(R<ttpc_prepare(RR<Rg((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytdo_prepare_twophaseæscCs|jjd|dfƒdS(NiRe(R<ttpc_rollback(RR<Rgtis_preparedtrecover((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytdo_rollback_twophaseéscCs|jjd|dfƒdS(NiRe(R<t
tpc_commit(RR<RgRlRm((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytdo_commit_twophaseíscCs$g|jjƒD]}|d^qS(Ni(R<ttpc_recover(RR<trow((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pytdo_recover_twophaseñscsg‰ˆjdk	r4‡fd†}ˆj|ƒnˆjdk	rb‡fd†}ˆj|ƒntˆƒdkr‡‡fd†}|SdSdS(Ncsˆj|ˆjƒdS(N(RdR8(tconn(R(sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt
on_connect÷scsˆj|ˆjƒdS(N(Rbtisolation_level(Rt(R(sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRuüsicsxˆD]}||ƒqWdS(N((Rttfn(tfns(sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRus
(R8RtappendRvtlen(RRu((RxRsZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyRuôsN(,RRtdriverRXtsupports_unicode_statementstsupports_unicode_bindstdefault_paramstyleR:R texecution_ctx_clsR!tstatement_compilerR.tpreparertdescription_encodingRtupdate_copyRtcolspecsRtsqltypestNumericRtFloatRRRR7R;tmemoized_propertyRtclassmethodR>RORSRbRdRhRjR[RnRpRsRu(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyR3Šs:


	
				
			(t__doc__ReRRRRRR…tbaseRRRRRR	R
RAt#sqlalchemy.dialects.postgresql.jsonRR†RRRR R!R.R3R(((sZ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/pg8000.pyt<module>Bs4	
~