HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyc
�
���ec@s�dZddlZddlZddlmZddlmZddlmZddlmZdd	l	m
Z
d
efd��YZdefd
��YZ
dS(s�Global database feature support policy.

Provides decorators to mark tests requiring specific feature support from the
target database.

External dialect test suites should subclass SuiteRequirements
to provide specific inclusion/exclusions.

i����Ni(tasyncio(t
exclusions(tonly_oni(tutil(t	QueuePooltRequirementscBseZRS((t__name__t
__module__(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRstSuiteRequirementscBs�eZed��Zed��Zed��Zed��Zed��Zed��Zed��Z	ed��Z
ed��Zed	��Zed
��Z
ed��Zed��Zed
��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Z ed��Z!ed��Z"ed ��Z#ed!��Z$ed"��Z%ed#��Z&ed$��Z'ed%��Z(ed&��Z)ed'��Z*ed(��Z+ed)��Z,ed*��Z-ed+��Z.ed,��Z/ed-��Z0ed.��Z1ed/��Z2ed0��Z3ed1��Z4ed2��Z5ed3��Z6ed4��Z7ed5��Z8ed6��Z9ed7��Z:ed8��Z;ed9��Z<ed:��Z=ed;��Z>ed<��Z?ed=��Z@ed>��ZAed?��ZBed@��ZCedA��ZDedB��ZEedC��ZFedD��ZGedE��ZHedF��ZIedG��ZJedH��ZKedI��ZLedJ��ZMedK��ZNedL��ZOedM��ZPedN��ZQedO��ZRedP��ZSedQ��ZTedR��ZUedS��ZVedT��ZWedU��ZXedV��ZYedW��ZZedX��Z[edY��Z\edZ��Z]ed[��Z^ed\��Z_ed]��Z`ed^��Zaed_��Zbed`��Zceda��Zdedb��Zeedc��Zfedd��Zgede��Zhedf��Ziedg��Zjedh��Zkedi��Zledj��Zmedk��Znedl��Zoedm��Zpedn��Zqedo��Zredp��Zsedq��Ztedr��Zueds��Zvdt�Zwedu��Zxedv��Zyedw��Zzedx��Z{edy��Z|edz��Z}ed{��Z~ed|��Zed}��Z�ed~��Z�ed��Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�d��Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�d��Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�d��Z�d��Z�ed���Z�ed���Z�d��Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�ed���Z�RS(�cCs
tj�S(s/target platform can emit basic CreateTable DDL.(Rtopen(tself((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcreate_table!scCs
tj�S(s-target platform can emit basic DropTable DDL.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
drop_table'scCs
tj�S(s>target platform supports IF NOT EXISTS / IF EXISTS for tables.(Rtclosed(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_ddl_if_exists-scCs
tj�S(s?target platform supports IF NOT EXISTS / IF EXISTS for indexes.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_ddl_if_exists3scCs
tj�S(s*Target database must support foreign keys.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytforeign_keys9scCs
tj�S(s�Database / dialect supports a query like::

             SELECT * FROM VALUES ( (c1, c2), (c1, c2), ...)
             AS some_table(col1, col2)

        SQLAlchemy generates this with the :func:`_sql.values` function.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_value_constructor?s
cCs
tj�S(s�Target database passes SQL-92 style statements to cursor.execute()
        when a statement like select() or insert() is run.

        A very small portion of dialect-level tests will ensure that certain
        conditions are present in SQL strings, and these tests use very basic
        SQL that will work on any SQL-like platform in order to assert results.

        It's normally a given for any pep-249 DBAPI that a statement like
        "SELECT id, name FROM table WHERE some_table.id=5" will work.
        However, there are dialects that don't actually produce SQL Strings
        and instead may work with symbolic objects instead, or dialects that
        aren't working with SQL, so for those this requirement can be marked
        as excluded.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytstandard_cursor_sqlKscCs
tj�S(sQtarget database must support ON UPDATE..CASCADE behavior in
        foreign keys.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyton_update_cascade_scCs
tj�S(sWtarget database must *not* support ON UPDATE..CASCADE behavior in
        foreign keys.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytnon_updating_cascadefscCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdeferrable_fkslscstj�fd��S(Ncs�jjp�jjS(N(RtenabledR((R
(sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt<lambda>vs(Rtonly_if(R
((R
sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyton_update_or_deferrable_fkspscCsd�}tj|�S(s"target database is using QueuePoolcSst|jjt�S(N(t
isinstancetdbtpoolR(tconfig((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytgo~s(RR(R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
queue_poolzs	cCs
tj�S(s;Target database must support self-referential foreign keys.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytself_referential_foreign_keys�scCs
tj�S(s=Target database must support the DDL phrases for FOREIGN KEY.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytforeign_key_ddl�scCs
tj�S(s3target database must support names for constraints.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytnamed_constraints�scCs
tj�S(s8target database must apply names to unnamed constraints.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicitly_named_constraints�scCs
tj�S(starget database allows column names that have unusual characters
        in them, such as dots, spaces, slashes, or percent signs.

        The column names are as always in such a case quoted, however the
        DB still needs to support those characters in the name somehow.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunusual_column_name_characters�s	cCs
tj�S(s(Target database must support subqueries.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
subqueries�scCs
tj�S(sRtarget database can render OFFSET, or an equivalent, in a
        SELECT.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytoffset�scCs
tj�S(sWtarget database can render LIMIT and/or OFFSET using a bound
        parameter
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytbound_limit_offset�scCs
tj�S(s�target database can render LIMIT and/or OFFSET with a complete
        SQL expression, such as one that uses the addition operator.
        parameter
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsql_expression_limit_offset�scCs
tj�S(s�Target database must support parenthesized SELECT in UNION
        when LIMIT/OFFSET is specifically present.

        E.g. (SELECT ...) UNION (SELECT ..)

        This is known to fail on SQLite.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt/parens_in_union_contained_select_w_limit_offset�s
cCs
tj�S(slTarget database must support parenthesized SELECT in UNION
        when OFFSET/LIMIT is specifically not present.

        E.g. (SELECT ... LIMIT ..) UNION (SELECT .. OFFSET ..)

        This is known to fail on SQLite.  It also fails on Oracle
        because without LIMIT/OFFSET, there is currently no step that
        creates an additional subquery.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt0parens_in_union_contained_select_wo_limit_offset�scCs
tj�S(s;Target database must support boolean expressions as columns(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytboolean_col_expressions�scCs
tj�S(s5Target database allows boolean columns to store NULL.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytnullable_booleans�scCs
tj�S(s,Target backends that support nulls ordering.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
nullsordering�scCs
tj�S(s�target database/driver supports bound parameters as column
        expressions without being in the context of a typed column.
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytstandalone_binds�scCs
tj�S(s�target database/driver supports bound parameters with NULL in the
        WHERE clause, in situations where it has to be typed.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!standalone_null_binds_whereclause�scCs
tj�S(s5Target database must support INTERSECT or equivalent.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	intersectscCs
tj�S(s?Target database must support EXCEPT or equivalent (i.e. MINUS).(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytexcept_scCs
tj�S(s.Target database must support window functions.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytwindow_functions
scCs
tj�S(sTarget database supports CTEs(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytctesscCs
tj�S(s�target database supports CTES that ride on top of a normal UPDATE
        or DELETE statement which refers to the CTE in a correlated subquery.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytctes_with_update_deletescCs
tj�S(s}target database supports CTES which consist of INSERT, UPDATE
        or DELETE *within* the CTE, e.g. WITH x AS (UPDATE....)(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytctes_on_dmlscCs
tj�S(s~target platform generates new surrogate integer primary key values
        when insert() is executed, excluding the pk column.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytautoincrement_insert%scCs
tj�S(s#target platform will allow cursor.fetchone() to proceed after a
        COMMIT.

        Typically this refers to an INSERT statement with RETURNING which
        is invoked within "autocommit".   If the row can be returned
        after the autocommit, then this rule can be open.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_rows_post_commit,scCs
tj�S(s�target platform supports SQL expressions in GROUP BY

        e.g.

        SELECT x + y AS somelabel FROM table GROUP BY x + y

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytgroup_by_complex_expression9s
cCstjd�d�S(NcSs|jjjS(N(Rtdialecttsupports_sane_rowcount(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRHts&driver doesn't support 'sane' rowcount(Rtskip_if(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
sane_rowcountEscCstjd�d�S(NcSs|jjjS(N(RR9tsupports_sane_multi_rowcount(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyROR;s;driver %(driver)s %(doesnt_support)s 'sane' multi row count(Rtfails_if(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsane_multi_rowcountLscCstjd�d�S(NcSs|jjjS(N(RR9t supports_sane_rowcount_returning(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRVss;driver doesn't support 'sane' rowcount when returning is on(RR?(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsane_rowcount_w_returningSscCstjd�d�S(satarget platform supports INSERT with no values, i.e.
        INSERT DEFAULT VALUES or equivalent.cSs+|jjjp*|jjjp*|jjjS(N(RR9tsupports_empty_inserttsupports_default_valuestsupports_default_metavalue(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRbssempty inserts not supported(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
empty_inserts\scCs|jS(svtarget platform supports INSERT with no values, i.e.
        INSERT DEFAULT VALUES or equivalent, within executemany()(RF(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_inserts_executemanyhscCs
tj�S(s.target platform supports INSERT from a SELECT.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytinsert_from_selectoscCstjd�d�S(sbtarget platform supports RETURNING completely, including
        multiple rows returned.

        cSs
|jjjS(N(RR9tfull_returning(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR}R;s:%(database)s %(does_support)s 'RETURNING of multiple rows'(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRIuscCstjd�d�S(s�target platform supports RETURNING when INSERT is used with
        executemany(), e.g. multiple parameter sets, indicating
        as many rows come back as do parameter sets were passed.

        cSs
|jjjS(N(RR9tinsert_executemany_returning(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;sR%(database)s %(does_support)s 'RETURNING of multiple rows with INSERT executemany'(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRJ�scCstjd�d�S(s�target platform supports RETURNING for at least one row.

        .. seealso::

            :attr:`.Requirements.full_returning`

        cSs
|jjjS(N(RR9timplicit_returning(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;s9%(database)s %(does_support)s 'RETURNING of a single row'(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	returning�s
cCs
tj�S(sZTarget platform supports the syntax
        "(x, y) IN ((x1, y1), (x2, y2), ...)"
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttuple_in�scCs|jS(s%Target platform tuple IN w/ empty set(RM(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttuple_in_w_empty�scCs
tj�S(swtarget platform supports a SELECT statement that has
        the same name repeated more than once in the columns list.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt%duplicate_names_in_cursor_description�scCstjd�d�S(s[Target database must have 'denormalized', i.e.
        UPPERCASE as case insensitive names.cSs|jjjS(N(RR9trequires_name_normalize(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;s,Backend does not require denormalized names.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdenormalized_names�scCstjd�d�S(sTtarget database must support multiple VALUES clauses in an
        INSERT statement.cSs|jjjS(N(RR9tsupports_multivalues_insert(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;s*Backend does not support multirow inserts.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytmultivalues_inserts�scCs
tj�S(svtarget dialect implements the executioncontext.get_lastrowid()
        method without reliance on RETURNING.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplements_get_lastrowid�scCs
tj�S(s<target dialect retrieves cursor.lastrowid, or fetches
        from a database-side function after an insert() construct executes,
        within the get_lastrowid() method.

        Only dialects that "pre-execute", or need RETURNING to get last
        inserted id, would return closed/fail/skip for this.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytemulated_lastrowid�s
cCs
tj�S(s�target dialect retrieves cursor.lastrowid or an equivalent
        after an insert() construct executes, even if the table has a
        Sequence on it.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt&emulated_lastrowid_even_with_sequences�scCs
tj�S(s]target platform includes a 'lastrowid' accessor on the DBAPI
        cursor object.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdbapi_lastrowid�scCs
tj�S(s#Target database must support VIEWs.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytviews�scCs
td��S(sXTarget database must support external schemas, and have one
        named 'test_schema'.cSs
|jjjS(N(RR9tsupports_schemas(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;(R(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytschemas�scCs
tj�S(sJtarget system must support reflection of inter-schema
        foreign keys(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcross_schema_fk_reflection�scCs
tj�S(sTarget supports refleciton of FOREIGN KEY constraints and
        will return the name of the constraint that was used in the
        "CONSTRAINT <name> FOREIGN KEY" DDL.

        MySQL prior to version 8 and MariaDB prior to version 10.5
        don't support this.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt&foreign_key_constraint_name_reflection�s
cCs
tj�S(s�target system has a strong concept of 'default' schema that can
        be referred to implicitly.

        basically, PostgreSQL.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicit_default_schema
scCs
tj�S(s`target dialect implements provisioning module including
        set_default_schema_on_connection(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdefault_schema_name_switchscCstjd�gd�S(s0Target dialect must support server side cursors.cSs
|jjjS(N(RR9tsupports_server_side_cursors(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR R;sno server side cursors support(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytserver_side_cursorss	cCstjd�gd�S(s'Target database must support SEQUENCEs.cSs
|jjjS(N(RR9tsupports_sequences(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR)R;sno sequence support(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	sequences$s	cCstj|j�S(sJthe opposite of "sequences", DB does not support sequences at
        all.(RtNotPredicateRb(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytno_sequences-scCstjd�gd�S(sgTarget database supports sequences, but also optionally
        as a means of generating new PK values.cSs|jjjo|jjjS(N(RR9Ratsequences_optional(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR;ss.no sequence support, or sequences not optional(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRe4s	cCstjd�g�S(starget database / driver supports cursor.lastrowid as a means
        of retrieving the last inserted primary key value.

        note that if the target DB supports sequences also, this is still
        assumed to work.  This is a new use case brought on by MariaDB 10.3.

        cSs
|jjjS(N(RR9tpostfetch_lastrowid(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRKR;(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsupports_lastrowidAs	cCstjd�g�S(s"the opposite of supports_lastrowidcSs|jjjS(N(RR9Rf(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRRR;(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytno_lastrowid_supportNscCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytreflects_pk_namesUscCs
tj�S(s8target database has general support for table reflection(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_reflectionYscCs
tj�S(s�target database supports creation and reflection of tables with no
        columns, or at least tables that seem to have no columns.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytreflect_tables_no_columns^scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomment_reflectionescCs|jS(s�target database must support retrieval of the columns in a view,
        similarly to how a table is inspected.

        This does not include the full CREATE VIEW definition.

        (RX(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytview_column_reflectioniscCs|jS(sStarget database must support inspection of the full CREATE VIEW
        definition.(RX(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytview_reflectionsscCs|jS(N(RZ(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytschema_reflectionyscCs
tj�S(N(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!primary_key_constraint_reflection}scCs
tj�S(N(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!foreign_key_constraint_reflection�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1foreign_key_constraint_option_reflection_ondelete�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_ondelete_restrict�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_ondelete_noaction�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1foreign_key_constraint_option_reflection_onupdate�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_onupdate_restrict�scCs
tj�S(N(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_reflection�scCs|jS(N(Rw(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_reflect_indexes�scCs
tj�S(s8target dialect supports listing of temporary table names(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_names�scCs
tj�S(s9target dialect supports checking a single temp table name(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pythas_temp_table�scCs
tj�S(s)target database supports temporary tables(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemporary_tables�scCs
tj�S(s(target database supports temporary views(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemporary_views�scCs
tj�S(N(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_reflection�scCs
tj�S(N(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_reflects_included_columns�scCs
tj�S(s?target database supports CREATE INDEX with per-column ASC/DESC.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindexes_with_ascdesc�scCs
tj�S(s>target database supports CREATE INDEX against SQL expressions.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindexes_with_expressions�scCs
tj�S(s8target dialect supports reflection of unique constraints(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunique_constraint_reflection�scCs
tj�S(s7target dialect supports reflection of check constraints(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcheck_constraint_reflection�scCs
tj�S(s�target dialect raises IntegrityError when reporting an INSERT
        with a primary key violation.  (hint: it should)

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt$duplicate_key_raises_integrity_error�scCs
tj�S(s3Target database must support VARCHAR with no length(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunbounded_varchar�scCs
tj�S(s�Target database/dialect must support Python unicode objects with
        non-ASCII characters represented, delivered as bound parameters
        as well as in result rows.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunicode_data�scCs
tj�S(sRTarget driver must support some degree of non-ascii symbol
        names.
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunicode_ddl�scCs
tj�S(s?Target driver can create tables with a name like 'some " table'(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsymbol_names_w_double_quote�scCs
tj�S(s�target dialect supports rendering of a date, time, or datetime as a
        literal string, e.g. via the TypeEngine.literal_processor() method.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_literals�scCs
tj�S(sUtarget dialect supports representation of Python
        datetime.datetime() objects.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime�scCs
tj�S(svtarget dialect supports representation of Python
        datetime.datetime() with tzinfo with DateTime(timezone=True).(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_timezonescCs
tj�S(sntarget dialect supports representation of Python
        datetime.time() with tzinfo with Time(timezone=True).(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
time_timezonescCs
tj�S(s�target dialect when given a datetime object will bind it such
        that the database server knows the object is a datetime, and not
        a plain string.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_implicit_boundscCs
tj�S(sftarget dialect supports representation of Python
        datetime.datetime() with microsecond objects.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_microsecondsscCs
tj�S(s�target dialect supports representation of Python
        datetime.datetime() with microsecond objects but only
        if TIMESTAMP is used.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttimestamp_microseconds"scCs|jS(starget dialect when given a datetime object which also includes
        a microseconds portion when using the TIMESTAMP data type
        will bind it such that the database server knows
        the object is a datetime with microseconds, and not a plain string.

        (R�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt%timestamp_microseconds_implicit_bound)scCs
tj�S(sutarget dialect supports representation of Python
        datetime.datetime() objects with historic (pre 1970) values.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_historic3scCs
tj�S(sQtarget dialect supports representation of Python
        datetime.date() objects.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdate:scCs
tj�S(sPtarget dialect accepts a datetime object as the target
        of a date column.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdate_coerces_from_datetimeAscCs
tj�S(sutarget dialect supports representation of Python
        datetime.datetime() objects with historic (pre 1970) values.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
date_historicHscCs
tj�S(sQtarget dialect supports representation of Python
        datetime.time() objects.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttimeOscCs
tj�S(sbtarget dialect supports representation of Python
        datetime.time() with microsecond objects.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttime_microsecondsVscCs
tj�S(sttarget database/driver can allow BLOB/BINARY fields to be compared
        against a bound parameter value.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytbinary_comparisons]scCs
tj�S(s!target backend supports simple binary literals, e.g. an
        expression like::

            SELECT CAST('foo' AS BINARY)

        Where ``BINARY`` is the type emitted from :class:`.LargeBinary`,
        e.g. it could be ``BLOB`` or similar.

        Basically fails on Oracle.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytbinary_literalsescCs
tj�S(s:target dialect supports 'AUTOCOMMIT' as an isolation_level(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
autocommituscCs
tj�S(s�target dialect supports general isolation level settings.

        Note that this requirement, when enabled, also requires that
        the get_isolation_levels() method be implemented.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytisolation_levelzscCsdS(s�Return a structure of supported isolation levels for the current
        testing dialect.

        The structure indicates to the testing suite what the expected
        "default" isolation should be, as well as the other values that
        are accepted.  The dictionary has two keys, "default" and "supported".
        The "supported" key refers to a list of all supported levels and
        it should include AUTOCOMMIT if the dialect supports it.

        If the :meth:`.DefaultRequirements.isolation_level` requirement is
        not open, then this method has no return value.

        E.g.::

            >>> testing.requirements.get_isolation_levels()
            {
                "default": "READ_COMMITTED",
                "supported": [
                    "SERIALIZABLE", "READ UNCOMMITTED",
                    "READ COMMITTED", "REPEATABLE READ",
                    "AUTOCOMMIT"
                ]
            }
        N((R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytget_isolation_levels�R;cCs
tj�S(s.target platform implements a native JSON type.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	json_type�scCs|jS(sNtarget platform supports numeric array indexes
        within a JSON structure(R�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytjson_array_indexes�scCs
tj�S(N(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt(json_index_supplementary_unicode_element�scCs
tj�S(s�Backend has a JSON_EXTRACT or similar function that returns a
        valid JSON string in all cases.

        Used to test a legacy feature and is not needed.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!legacy_unconditional_json_extract�scCs
tj�S(sRtarget backend has general support for moderately high-precision
        numerics.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytprecision_numerics_general�scCs
tj�S(sbtarget backend supports Decimal() objects using E notation
        to represent very small values.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"precision_numerics_enotation_small�scCs
tj�S(sbtarget backend supports Decimal() objects using E notation
        to represent very large values.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"precision_numerics_enotation_large�scCs
tj�S(s�target backend supports values with many digits on both sides,
        such as 319438950232418390.273596, 87673.594069654243

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt*precision_numerics_many_significant_digits�scCs|jS(s}same as precision_numerics_many_significant_digits but within the
        context of a CAST statement (hello MySQL)

        (R�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt/cast_precision_numerics_many_significant_digits�scCs
tj�S(s+target backend will return a selected Decimal as a Decimal, not
        a string.

        e.g.::

            expr = decimal.Decimal("15.7563")

            value = e.scalar(
                select(literal(expr))
            )

            assert value == expr

        See :ticket:`4036`

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicit_decimal_binds�scCs
tj�S(shtarget database can select an aggregate from a subquery that's
        also using an aggregate

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytnested_aggregates�scCs
tj�S(sbtarget database must support ON DELETE CASCADE on a self-referential
        foreign key

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytrecursive_fk_cascade�scCs
tj�S(s�A precision numeric type will return empty significant digits,
        i.e. a value such as 10.000 will come back in Decimal form with
        the .000 maintained.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt-precision_numerics_retains_significant_digitsscCs
tj�S(s@The Float type can persist and load float('inf'), float('-inf').(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytinfinity_floatsscCs
tj�S(s�target backend will return native floating point numbers with at
        least seven decimal places when using the generic Float type.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytprecision_generic_float_typescCs
tj�S(s�target backend will return the exact float value 15.7563
        with only four significant digits from this statement:

        SELECT :param

        where :param is the Python float 15.7563

        i.e. it does not return 15.75629997253418

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytliteral_float_coercionscCs
tj�S(s�target backend can return a floating-point number with four
        significant digits (such as 15.7563) accurately
        (i.e. without FP inaccuracies, such as 15.75629997253418).

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfloats_to_four_decimals$scCs
tj�S(s�target backend doesn't crash when you try to select a NUMERIC
        value that has a value of NULL.

        Added to support Pyodbc bug #351.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_null_from_numeric-scCs
tj�S(sUTarget database must support an unbounded Text() "
        "type such as TEXT or CLOB(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	text_type7scCs
tj�S(sTtarget database can persist/return an empty string with a
        varchar.

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_strings_varchar>scCs
tj�S(sRtarget database can persist/return an empty string with an
        unbounded text.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_strings_textFscCs
tj�S(sUtarget database supports use of an unbounded textual field in a
        WHERE clause.(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"expressions_against_unbounded_textMscCs
tj�S(s;target driver must support the literal statement 'select 1'(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	selectoneTscCs
tj�S(s(Target database must support savepoints.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
savepointsYscCs
tj�S(s4Target database must support two-phase transactions.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyttwo_phase_transactions_scCs
tj�S(s'Target must support UPDATE..FROM syntax(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytupdate_fromescCs
tj�S(s=Target must support DELETE FROM..FROM or DELETE..USING syntax(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdelete_fromjscCs
tj�S(s�Target must support UPDATE (or DELETE) where the same table is
        present in a subquery in the WHERE clause.

        This is an ANSI-standard syntax that apparently MySQL can't handle,
        such as::

            UPDATE documents SET flag=1 WHERE documents.title IN
                (SELECT max(documents.title) AS title
                    FROM documents GROUP BY documents.user_id
                )

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytupdate_where_target_in_subqueryoscCs
tj�S(sOtarget database must use a plain percent '%' as the 'modulus'
        operator.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytmod_operator_as_percent_signscCs
tj�S(starget backend supports weird identifiers with percent signs
        in them, e.g. 'some % column'.

        this is a very weird use case but often has problems because of
        DBAPIs that use python formatting.  It's not a critical use
        case either.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpercent_schema_names�s
cCs
tj�S(s�target database supports ordering by a column from a SELECT
        inside of a UNION

        E.g.  (SELECT id, ...) UNION (SELECT id, ...) ORDER BY id

        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_col_from_union�scCs
tj�S(starget backend supports ORDER BY a column label within an
        expression.

        Basically this::

            select data as foo from test order by foo || 'bar'

        Lots of databases including PostgreSQL don't support this,
        so this is off by default.

        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_label_with_expression�s
cs�fd�}tj|�S(Ncs.y�j|�tSWntk
r)tSXdS(N(tget_order_by_collationtFalsetNotImplementedErrortTrue(R(R
(sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcheck�s


(RR<(R
R�((R
sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_collation�scCs
t��dS(N(R�(R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��scCs
tj�S(sUTarget driver must support non-ASCII characters being passed at
        all.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytunicode_connections�scCs
tj�S(s�Target driver must raise a DBAPI-level exception, such as
        InterfaceError, when the underlying connection has been closed
        and the execute() method is called.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytgraceful_disconnects�scCs
tj�S(sU
        Target must support simultaneous, independent database connections.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytindependent_connections�scCs
tj�S(s9Catchall for a large variety of MySQL on Windows failures(RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytskip_mysql_on_windows�scCstjd��S(sTest environment must allow ad-hoc engine/connection creation.

        DBs that scale poorly for many connections, even when closed, i.e.
        Oracle, may use the "--low-connections" option which flags this
        requirement as not present.

        cSs
|jjS(N(toptionstlow_connections(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytad_hoc_engines�s	cCstj|j��S(N(RR<t_running_on_windows(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
no_windows�scCstjd�dd�S(NcSstj�dkS(NtWindows(tplatformtsystem(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;tdescriptionsrunning on Windows(RtLambdaPredicate(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��s	cCs
tjd�S(Nttiming_intensive(Rtrequires_tag(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��scCs
tjd�S(Ntmemory_intensive(RR�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��scCstjd�d�S(s�Mark tests that use threading and mock at the same time - stability
        issues have been observed with coverage + python 3.3

        cSstjo|jjS(N(Rtpy3kR�thas_coverage(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;s%Stability issues with coverage + py3k(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytthreading_with_mock�scCsd�}tj|�S(NcSs+ytd�Wntk
r"tSXtSdS(Nssqlalchemy-stubs.ext.mypy(t
__import__tImportErrorR�R�(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��s

(RR(R
R�((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsqlalchemy2_stubs�s	cCstjd�d�S(NcSs
tjdkS(Ni(i(tsystversion_info(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s Python version 2.xx is required.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython2	scCstjd�d�S(NcSs
tjdkS(Ni(i(R�R�(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s Python version 3.xx is required.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython3scCs|jS(N(tpython36(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpep520scCs|jS(N(tpython37(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytinsert_order_dictsscCstjd�d�S(NcSs
tjdkS(Nii(ii(R�R�(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR!R;s*Python version 3.6 or greater is required.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�scCstjd�d�S(NcSs
tjdkS(Nii(ii(R�R�(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR(R;s*Python version 3.7 or greater is required.(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�%scCs|jS(N(R�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytdataclasses,scCstjd�d�S(NcSstjS(N(Rtpy38(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR3R;sPython 3.8 or above required(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython380scCstjd�d�S(NcSstjS(N(Rtcpython(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR9R;scPython interpreter needed(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�6scCstjd�d�S(NcSstjS(N(Rtis64bit(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR>R;s64bit required(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�<scCsd�}tj|d�S(NcSs+ytd�Wntk
r"tSXtSdS(Ntpatch(R�R�R�R�(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt	check_libBs

spatch library needed(RR(R
R�((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
patch_library@s	cs)ddlm�tj�fd�d�S(Ni����(tpicklecs%tjr�jdkp$tjdkS(NtcPickleii(ii(RR�RR�R�((R�(sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRQs	s.Needs cPickle+cPython or newer Python 3 pickle(tsqlalchemy.utilR�RR(R
((R�sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytnon_broken_pickleLscCs|jS(s�target platform must remove all cycles unconditionally when
        gc.collect() is called, as well as clean out unreferenced subclasses.

        (R�(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytpredictable_gcWscCstjd�d�S(s�Test should be skipped if coverage is enabled.

        This is to block tests that exercise libraries that seem to be
        sensitive to coverage, such as PostgreSQL notice logging.

        cSs
|jjS(N(R�R�(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRhR;s(Issues observed when coverage is enabled(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytno_coverage_scCstS(N(R�(R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt_has_mysql_on_windowslscCstS(N(R�(R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt_has_mysql_fully_case_sensitiveoscstj�fd��S(Ncs�j�S(N(t_has_sqlite((R
(sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRtR;(RR<(R
((R
sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsqliterscCstjd�d�S(NcSstj�S(N(Rthas_compiled_ext(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRyR;sC extensions not installed(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcextensionsvscCs;ddlm}y|d�tSWntk
r6tSXdS(Ni����(t
create_engines	sqlite://(t
sqlalchemyR�R�R�R�(R
R�((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�|s

cCs
tj�S(s@dialect makes use of await_() to invoke operations on the DBAPI.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
async_dialect�scCs|jS(N(tgreenlet(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�scCsd�}tj|�S(NcSs:tjs
tSyddl}Wntk
r1tSXtSdS(Ni����(t
_test_asynciotENABLE_ASYNCIOR�R�R�R�(RR�((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�s	
(RR(R
R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR��s	cCs
tj�S(sSupports computed columns(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columns�scCs
tj�S(s/Supports computed columns with `persisted=True`(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columns_stored�scCs
tj�S(s0Supports computed columns with `persisted=False`(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columns_virtual�scCs
tj�S(sSIf the default persistence is virtual or stored when `persisted`
        is omitted(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"computed_columns_default_persisted�scCs
tj�S(sTIf persistence information is returned by the reflection of
        computed columns(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"computed_columns_reflect_persisted�scCs
tj�S(s1If a backend supports the DISTINCT ON in a select(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytsupports_distinct_on�scCstjd�d�S(s Supports some form of "x IS [NOT] DISTINCT FROM y" construct.
        Different dialects will implement their own flavour, e.g.,
        sqlite will emit "x IS NOT y" instead of "x IS DISTINCT FROM y".

        .. seealso::

            :meth:`.ColumnOperators.is_distinct_from`

        cSs|jjjS(N(RR9tsupports_is_distinct_from(R((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�R;s4driver doesn't support an IS DISTINCT FROM construct(RR<(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR�scCs
tj�S(sKIf a backend supports GENERATED { ALWAYS | BY DEFAULT }
        AS IDENTITY(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytidentity_columns�scCs
tj�S(s�If a backend supports GENERATED { ALWAYS | BY DEFAULT }
        AS IDENTITY with a standard syntax.
        This is mainly to exclude MSSql.
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytidentity_columns_standard�scCs
tj�S(s+backend supports the regexp_match operator.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytregexp_match�scCs
tj�S(s-backend supports the regexp_replace operator.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytregexp_replace�scCs
tj�S(s(backend supports the fetch first clause.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_first�scCs
tj�S(s5backend supports the fetch first clause with percent.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
fetch_percent�scCs
tj�S(s2backend supports the fetch first clause with ties.(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt
fetch_ties�scCs
tj�S(s1backend supports the fetch first without order by(RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_no_order_by�scCs
tj�S(swbackend supports the offset when using fetch first with percent
        or ties. basically this is "not mssql"
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_offset_with_options�scCs
tj�S(s�backend supports fetch / offset with expression in them, like

        SELECT * FROM some_table
        OFFSET 1 + 1 ROWS FETCH FIRST 1 + 1 ROWS ONLY
        (RR
(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_expressionscCs
tj�S(sIf autoincrement=True on a column does not require an explicit
        sequence. This should be false only for oracle.
        (RR	(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytautoincrement_without_sequence
scCstjd��S(s=If X[Y] can be implemented with ``__class_getitem__``. py3.7+cSstjS(N(Rtpy37(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;(RR(R
((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pytgeneric_classess(�RRtpropertyRRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6R7R8R=R@RBRFRGRHRIRJRLRMRNRORQRSRTRURVRWRXRZR[R\R]R^R`RbRdReRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzR{R|R}R~RR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RR�R�R�R�R�R�R�RRRRRRRRRR	R
RR
(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyR s�
			
	

	
		


			

	
	

	
	
					(t__doc__R�R�R;RR�RRRRRtobjectRR(((sP/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/testing/requirements.pyt<module>s