PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
 ec@sdZddlZddlZddlmZddlmZddlmZddlmZdd l m Z d e fd YZ d e fd YZ dS(sGlobal 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. iNi(tasyncio(t exclusions(tonly_oni(tutil(t QueuePoolt RequirementscBseZRS((t__name__t __module__(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRstSuiteRequirementscBs eZedZedZedZedZedZedZedZ edZ edZ ed Z ed Z ed Zed Zed ZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZ edZ!edZ"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/Z2ed0Z3ed1Z4ed2Z5ed3Z6ed4Z7ed5Z8ed6Z9ed7Z:ed8Z;ed9Z<ed:Z=ed;Z>ed<Z?ed=Z@ed>ZAed?ZBed@ZCedAZDedBZEedCZFedDZGedEZHedFZIedGZJedHZKedIZLedJZMedKZNedLZOedMZPedNZQedOZRedPZSedQZTedRZUedSZVedTZWedUZXedVZYedWZZedXZ[edYZ\edZZ]ed[Z^ed\Z_ed]Z`ed^Zaed_Zbed`ZcedaZdedbZeedcZfeddZgedeZhedfZiedgZjedhZkediZledjZmedkZnedlZoedmZpednZqedoZredpZsedqZtedrZuedsZvdtZweduZxedvZyedwZzedxZ{edyZ|edzZ}ed{Z~ed|Zed}Zed~ZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZdZedZedZedZedZedZedZdZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZdZdZedZedZdZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZedZRS(cCs tjS(s/target platform can emit basic CreateTable DDL.(Rtopen(tself((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt create_table!scCs tjS(s-target platform can emit basic DropTable DDL.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt drop_table'scCs tjS(s>target platform supports IF NOT EXISTS / IF EXISTS for tables.(Rtclosed(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_ddl_if_exists-scCs tjS(s?target platform supports IF NOT EXISTS / IF EXISTS for indexes.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_ddl_if_exists3scCs tjS(s*Target database must support foreign keys.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt foreign_keys9scCs tjS(sDatabase / 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_value_constructor?s cCs tjS(sTarget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytstandard_cursor_sqlKscCs tjS(sQtarget database must support ON UPDATE..CASCADE behavior in foreign keys.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyton_update_cascade_scCs tjS(sWtarget database must *not* support ON UPDATE..CASCADE behavior in foreign keys.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytnon_updating_cascadefscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdeferrable_fkslscstjfdS(NcsjjpjjS(N(RtenabledR((R (sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytvs (Rtonly_if(R ((R sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyton_update_or_deferrable_fkspscCsd}tj|S(s"target database is using QueuePoolcSst|jjtS(N(t isinstancetdbtpoolR(tconfig((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytgo~s(RR(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt queue_poolzs cCs tjS(s;Target database must support self-referential foreign keys.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytself_referential_foreign_keysscCs tjS(s=Target database must support the DDL phrases for FOREIGN KEY.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytforeign_key_ddlscCs tjS(s3target database must support names for constraints.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytnamed_constraintsscCs tjS(s8target database must apply names to unnamed constraints.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicitly_named_constraintsscCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytunusual_column_name_characterss cCs tjS(s(Target database must support subqueries.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt subqueriesscCs tjS(sRtarget database can render OFFSET, or an equivalent, in a SELECT. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytoffsetscCs tjS(sWtarget database can render LIMIT and/or OFFSET using a bound parameter (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytbound_limit_offsetscCs tjS(starget database can render LIMIT and/or OFFSET with a complete SQL expression, such as one that uses the addition operator. parameter (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsql_expression_limit_offsetscCs tjS(sTarget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt/parens_in_union_contained_select_w_limit_offsets cCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt0parens_in_union_contained_select_wo_limit_offsets cCs tjS(s;Target database must support boolean expressions as columns(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytboolean_col_expressionsscCs tjS(s5Target database allows boolean columns to store NULL.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytnullable_booleansscCs tjS(s,Target backends that support nulls ordering.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt nullsorderingscCs tjS(starget database/driver supports bound parameters as column expressions without being in the context of a typed column. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytstandalone_bindsscCs tjS(starget database/driver supports bound parameters with NULL in the WHERE clause, in situations where it has to be typed. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!standalone_null_binds_whereclausescCs tjS(s5Target database must support INTERSECT or equivalent.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt intersectscCs tjS(s?Target database must support EXCEPT or equivalent (i.e. MINUS).(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytexcept_scCs tjS(s.Target database must support window functions.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytwindow_functions scCs tjS(sTarget database supports CTEs(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytctesscCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytctes_with_update_deletescCs tjS(s}target database supports CTES which consist of INSERT, UPDATE or DELETE *within* the CTE, e.g. WITH x AS (UPDATE....)(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt ctes_on_dmlscCs tjS(s~target platform generates new surrogate integer primary key values when insert() is executed, excluding the pk column.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytautoincrement_insert%scCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_rows_post_commit,s cCs tjS(starget platform supports SQL expressions in GROUP BY e.g. SELECT x + y AS somelabel FROM table GROUP BY x + y (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytgroup_by_complex_expression9s cCstjddS(NcSs|jjj S(N(Rtdialecttsupports_sane_rowcount(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRHts&driver doesn't support 'sane' rowcount(Rtskip_if(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt sane_rowcountEscCstjddS(NcSs|jjj S(N(RR9tsupports_sane_multi_rowcount(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyROR;s;driver %(driver)s %(doesnt_support)s 'sane' multi row count(Rtfails_if(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsane_multi_rowcountLscCstjddS(NcSs|jjj S(N(RR9t supports_sane_rowcount_returning(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRVss;driver doesn't support 'sane' rowcount when returning is on(RR?(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsane_rowcount_w_returningSscCstjddS(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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRbssempty inserts not supported(RR(R ((sR/opt/alt/python27/lib64/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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_inserts_executemanyhscCs tjS(s.target platform supports INSERT from a SELECT.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytinsert_from_selectoscCstjddS(sbtarget platform supports RETURNING completely, including multiple rows returned. cSs |jjjS(N(RR9tfull_returning(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR}R;s:%(database)s %(does_support)s 'RETURNING of multiple rows'(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRIuscCstjddS(starget 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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;sR%(database)s %(does_support)s 'RETURNING of multiple rows with INSERT executemany'(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRJscCstjddS(starget platform supports RETURNING for at least one row. .. seealso:: :attr:`.Requirements.full_returning` cSs |jjjS(N(RR9timplicit_returning(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s9%(database)s %(does_support)s 'RETURNING of a single row'(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt returnings cCs tjS(sZTarget platform supports the syntax "(x, y) IN ((x1, y1), (x2, y2), ...)" (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttuple_inscCs|jS(s%Target platform tuple IN w/ empty set(RM(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttuple_in_w_emptyscCs tjS(swtarget platform supports a SELECT statement that has the same name repeated more than once in the columns list.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt%duplicate_names_in_cursor_descriptionscCstjddS(s[Target database must have 'denormalized', i.e. UPPERCASE as case insensitive names.cSs|jjj S(N(RR9trequires_name_normalize(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s,Backend does not require denormalized names.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdenormalized_namesscCstjddS(sTtarget database must support multiple VALUES clauses in an INSERT statement.cSs|jjj S(N(RR9tsupports_multivalues_insert(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s*Backend does not support multirow inserts.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytmultivalues_insertsscCs tjS(svtarget dialect implements the executioncontext.get_lastrowid() method without reliance on RETURNING. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplements_get_lastrowidscCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytemulated_lastrowids cCs tjS(starget dialect retrieves cursor.lastrowid or an equivalent after an insert() construct executes, even if the table has a Sequence on it. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt&emulated_lastrowid_even_with_sequencesscCs tjS(s]target platform includes a 'lastrowid' accessor on the DBAPI cursor object. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdbapi_lastrowidscCs tjS(s#Target database must support VIEWs.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytviewsscCs tdS(sXTarget database must support external schemas, and have one named 'test_schema'.cSs |jjjS(N(RR9tsupports_schemas(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;(R(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytschemasscCs tjS(sJtarget system must support reflection of inter-schema foreign keys(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcross_schema_fk_reflectionscCs tjS(sTarget supports refleciton of FOREIGN KEY constraints and will return the name of the constraint that was used in the "CONSTRAINT FOREIGN KEY" DDL. MySQL prior to version 8 and MariaDB prior to version 10.5 don't support this. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt&foreign_key_constraint_name_reflections cCs tjS(starget system has a strong concept of 'default' schema that can be referred to implicitly. basically, PostgreSQL. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicit_default_schema scCs tjS(s`target dialect implements provisioning module including set_default_schema_on_connection(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdefault_schema_name_switchscCstjdgdS(s0Target dialect must support server side cursors.cSs |jjjS(N(RR9tsupports_server_side_cursors(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR R;sno server side cursors support(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytserver_side_cursorss cCstjdgdS(s'Target database must support SEQUENCEs.cSs |jjjS(N(RR9tsupports_sequences(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR)R;sno sequence support(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt sequences$s cCstj|jS(sJthe opposite of "sequences", DB does not support sequences at all.(Rt NotPredicateRb(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt no_sequences-scCstjdgdS(sgTarget database supports sequences, but also optionally as a means of generating new PK values.cSs|jjjo|jjjS(N(RR9Ratsequences_optional(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR;ss.no sequence support, or sequences not optional(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRe4s cCstjdgS(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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRKR;(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsupports_lastrowidAs cCstjdgS(s"the opposite of supports_lastrowidcSs|jjj S(N(RR9Rf(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRRR;(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytno_lastrowid_supportNscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytreflects_pk_namesUscCs tjS(s8target database has general support for table reflection(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttable_reflectionYscCs tjS(starget database supports creation and reflection of tables with no columns, or at least tables that seem to have no columns.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytreflect_tables_no_columns^scCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomment_reflectionescCs|jS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytview_column_reflectioniscCs|jS(sStarget database must support inspection of the full CREATE VIEW definition.(RX(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytview_reflectionsscCs|jS(N(RZ(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytschema_reflectionyscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!primary_key_constraint_reflection}scCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!foreign_key_constraint_reflectionscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1foreign_key_constraint_option_reflection_ondeletescCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_ondelete_restrictscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_ondelete_noactionscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1foreign_key_constraint_option_reflection_onupdatescCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt1fk_constraint_option_reflection_onupdate_restrictscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_reflectionscCs|jS(N(Rw(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_reflect_indexesscCs tjS(s8target dialect supports listing of temporary table names(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemp_table_namesscCs tjS(s9target dialect supports checking a single temp table name(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pythas_temp_tablescCs tjS(s)target database supports temporary tables(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemporary_tablesscCs tjS(s(target database supports temporary views(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttemporary_viewsscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_reflectionscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindex_reflects_included_columnsscCs tjS(s?target database supports CREATE INDEX with per-column ASC/DESC.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindexes_with_ascdescscCs tjS(s>target database supports CREATE INDEX against SQL expressions.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindexes_with_expressionsscCs tjS(s8target dialect supports reflection of unique constraints(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytunique_constraint_reflectionscCs tjS(s7target dialect supports reflection of check constraints(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcheck_constraint_reflectionscCs tjS(starget dialect raises IntegrityError when reporting an INSERT with a primary key violation. (hint: it should) (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt$duplicate_key_raises_integrity_errorscCs tjS(s3Target database must support VARCHAR with no length(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytunbounded_varcharscCs tjS(sTarget database/dialect must support Python unicode objects with non-ASCII characters represented, delivered as bound parameters as well as in result rows. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt unicode_datascCs tjS(sRTarget driver must support some degree of non-ascii symbol names. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt unicode_ddlscCs tjS(s?Target driver can create tables with a name like 'some " table'(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsymbol_names_w_double_quotescCs tjS(starget dialect supports rendering of a date, time, or datetime as a literal string, e.g. via the TypeEngine.literal_processor() method. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_literalsscCs tjS(sUtarget dialect supports representation of Python datetime.datetime() objects.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetimescCs tjS(svtarget dialect supports representation of Python datetime.datetime() with tzinfo with DateTime(timezone=True).(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_timezonescCs tjS(sntarget dialect supports representation of Python datetime.time() with tzinfo with Time(timezone=True).(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt time_timezone scCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_implicit_boundscCs tjS(sftarget dialect supports representation of Python datetime.datetime() with microsecond objects.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_microsecondsscCs tjS(starget dialect supports representation of Python datetime.datetime() with microsecond objects but only if TIMESTAMP is used.(RR (R ((sR/opt/alt/python27/lib64/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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt%timestamp_microseconds_implicit_bound)scCs tjS(sutarget dialect supports representation of Python datetime.datetime() objects with historic (pre 1970) values.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdatetime_historic3scCs tjS(sQtarget dialect supports representation of Python datetime.date() objects.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdate:scCs tjS(sPtarget dialect accepts a datetime object as the target of a date column.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytdate_coerces_from_datetimeAscCs tjS(sutarget dialect supports representation of Python datetime.datetime() objects with historic (pre 1970) values.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt date_historicHscCs tjS(sQtarget dialect supports representation of Python datetime.time() objects.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttimeOscCs tjS(sbtarget dialect supports representation of Python datetime.time() with microsecond objects.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttime_microsecondsVscCs tjS(sttarget database/driver can allow BLOB/BINARY fields to be compared against a bound parameter value. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytbinary_comparisons]scCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytbinary_literalsescCs tjS(s:target dialect supports 'AUTOCOMMIT' as an isolation_level(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt autocommituscCs tjS(starget dialect supports general isolation level settings. Note that this requirement, when enabled, also requires that the get_isolation_levels() method be implemented. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytisolation_levelzscCsdS(sReturn 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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytget_isolation_levelsR;cCs tjS(s.target platform implements a native JSON type.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt json_typescCs|jS(sNtarget platform supports numeric array indexes within a JSON structure(R(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytjson_array_indexesscCs tjS(N(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt(json_index_supplementary_unicode_elementscCs tjS(sBackend 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt!legacy_unconditional_json_extractscCs tjS(sRtarget backend has general support for moderately high-precision numerics.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytprecision_numerics_generalscCs tjS(sbtarget backend supports Decimal() objects using E notation to represent very small values.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"precision_numerics_enotation_smallscCs tjS(sbtarget backend supports Decimal() objects using E notation to represent very large values.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"precision_numerics_enotation_largescCs tjS(starget backend supports values with many digits on both sides, such as 319438950232418390.273596, 87673.594069654243 (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt*precision_numerics_many_significant_digitsscCs|jS(s}same as precision_numerics_many_significant_digits but within the context of a CAST statement (hello MySQL) (R(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt/cast_precision_numerics_many_significant_digitsscCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytimplicit_decimal_bindsscCs tjS(shtarget database can select an aggregate from a subquery that's also using an aggregate (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytnested_aggregatesscCs tjS(sbtarget database must support ON DELETE CASCADE on a self-referential foreign key (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytrecursive_fk_cascadescCs tjS(sA 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt-precision_numerics_retains_significant_digitsscCs tjS(s@The Float type can persist and load float('inf'), float('-inf').(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytinfinity_floatsscCs tjS(starget backend will return native floating point numbers with at least seven decimal places when using the generic Float type. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytprecision_generic_float_typescCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytliteral_float_coercions cCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfloats_to_four_decimals$scCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_null_from_numeric-scCs tjS(sUTarget database must support an unbounded Text() " "type such as TEXT or CLOB(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt text_type7scCs tjS(sTtarget database can persist/return an empty string with a varchar. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_strings_varchar>scCs tjS(sRtarget database can persist/return an empty string with an unbounded text.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytempty_strings_textFscCs tjS(sUtarget database supports use of an unbounded textual field in a WHERE clause.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"expressions_against_unbounded_textMscCs tjS(s;target driver must support the literal statement 'select 1'(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt selectoneTscCs tjS(s(Target database must support savepoints.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt savepointsYscCs tjS(s4Target database must support two-phase transactions.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyttwo_phase_transactions_scCs tjS(s'Target must support UPDATE..FROM syntax(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt update_fromescCs tjS(s=Target must support DELETE FROM..FROM or DELETE..USING syntax(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt delete_fromjscCs tjS(sTarget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytupdate_where_target_in_subqueryoscCs tjS(sOtarget database must use a plain percent '%' as the 'modulus' operator.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytmod_operator_as_percent_signscCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpercent_schema_namess cCs tjS(starget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_col_from_unionscCs tjS(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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_label_with_expressions csfd}tj|S(Ncs.yj|tSWntk r)tSXdS(N(tget_order_by_collationtFalsetNotImplementedErrortTrue(R(R (sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytchecks   (RR<(R R((R sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytorder_by_collationscCs tdS(N(R(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRscCs tjS(sUTarget driver must support non-ASCII characters being passed at all. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytunicode_connectionsscCs tjS(sTarget 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 ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytgraceful_disconnectsscCs tjS(sU Target must support simultaneous, independent database connections. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytindependent_connectionsscCs tjS(s9Catchall for a large variety of MySQL on Windows failures(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytskip_mysql_on_windowsscCstjdS(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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytad_hoc_enginess cCstj|jS(N(RR<t_running_on_windows(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt no_windowsscCstjdddS(NcSstjdkS(NtWindows(tplatformtsystem(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;t descriptionsrunning on Windows(RtLambdaPredicate(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRs cCs tjdS(Nttiming_intensive(Rt requires_tag(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRscCs tjdS(Ntmemory_intensive(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRscCstjddS(sMark tests that use threading and mock at the same time - stability issues have been observed with coverage + python 3.3 cSstjo|jjS(N(Rtpy3kRt has_coverage(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s%Stability issues with coverage + py3k(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytthreading_with_mockscCsd}tj|S(NcSs+ytdWntk r"tSXtSdS(Nssqlalchemy-stubs.ext.mypy(t __import__t ImportErrorRR(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRs  (RR(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsqlalchemy2_stubss cCstjddS(NcSs tjdkS(Ni(i(tsyst version_info(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR R;s Python version 2.xx is required.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython2 scCstjddS(NcSs tjdkS(Ni(i(RR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s Python version 3.xx is required.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython3scCs|jS(N(tpython36(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpep520scCs|jS(N(tpython37(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytinsert_order_dictsscCstjddS(NcSs tjdkS(Nii(ii(RR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR!R;s*Python version 3.6 or greater is required.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRscCstjddS(NcSs tjdkS(Nii(ii(RR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR(R;s*Python version 3.7 or greater is required.(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR%scCs|jS(N(R(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt dataclasses,scCstjddS(NcSstjS(N(Rtpy38(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR3R;sPython 3.8 or above required(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpython380scCstjddS(NcSstjS(N(Rtcpython(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR9R;scPython interpreter needed(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR6scCstjddS(NcSstjS(N(Rtis64bit(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR>R;s64bit required(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR<scCsd}tj|dS(NcSs+ytdWntk r"tSXtSdS(Ntpatch(RRRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt check_libBs  spatch library needed(RR(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt patch_library@s cs)ddlmtjfddS(Ni(tpicklecs%tjrjdkp$tjdkS(NtcPickleii(ii(RRRRR((R(sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRQs s.Needs cPickle+cPython or newer Python 3 pickle(tsqlalchemy.utilRRR(R ((RsR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytnon_broken_pickleLs cCs|jS(starget platform must remove all cycles unconditionally when gc.collect() is called, as well as clean out unreferenced subclasses. (R(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytpredictable_gcWscCstjddS(sTest 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(RR(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRhR;s(Issues observed when coverage is enabled(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt no_coverage_scCstS(N(R(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt_has_mysql_on_windowslscCstS(N(R(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt_has_mysql_fully_case_sensitiveoscstjfdS(Ncs j S(N(t _has_sqlite((R (sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRtR;(RR<(R ((R sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsqliterscCstjddS(NcSs tj S(N(Rthas_compiled_ext(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRyR;sC extensions not installed(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt cextensionsvscCs;ddlm}y|dtSWntk r6tSXdS(Ni(t create_engines sqlite://(t sqlalchemyRRRR(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR|s   cCs tjS(s@dialect makes use of await_() to invoke operations on the DBAPI.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt async_dialectscCs|jS(N(tgreenlet(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRscCsd}tj|S(NcSs:tjs tSyddl}Wntk r1tSXtSdS(Ni(t _test_asynciotENABLE_ASYNCIORRRR(RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRs  (RR(R R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRs cCs tjS(sSupports computed columns(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columnsscCs tjS(s/Supports computed columns with `persisted=True`(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columns_storedscCs tjS(s0Supports computed columns with `persisted=False`(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytcomputed_columns_virtualscCs tjS(sSIf the default persistence is virtual or stored when `persisted` is omitted(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"computed_columns_default_persistedscCs tjS(sTIf persistence information is returned by the reflection of computed columns(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt"computed_columns_reflect_persistedscCs tjS(s1If a backend supports the DISTINCT ON in a select(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytsupports_distinct_onscCstjddS(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((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;s4driver doesn't support an IS DISTINCT FROM construct(RR<(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRs cCs tjS(sKIf a backend supports GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytidentity_columnsscCs tjS(sIf a backend supports GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY with a standard syntax. This is mainly to exclude MSSql. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytidentity_columns_standardscCs tjS(s+backend supports the regexp_match operator.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt regexp_matchscCs tjS(s-backend supports the regexp_replace operator.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytregexp_replacescCs tjS(s(backend supports the fetch first clause.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt fetch_firstscCs tjS(s5backend supports the fetch first clause with percent.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt fetch_percentscCs tjS(s2backend supports the fetch first clause with ties.(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyt fetch_tiesscCs tjS(s1backend supports the fetch first without order by(RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_no_order_byscCs tjS(swbackend supports the offset when using fetch first with percent or ties. basically this is "not mssql" (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_offset_with_optionsscCs tjS(sbackend supports fetch / offset with expression in them, like SELECT * FROM some_table OFFSET 1 + 1 ROWS FETCH FIRST 1 + 1 ROWS ONLY (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytfetch_expressionscCs tjS(sIf autoincrement=True on a column does not require an explicit sequence. This should be false only for oracle. (RR (R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytautoincrement_without_sequence scCstjdS(s=If X[Y] can be implemented with ``__class_getitem__``. py3.7+cSstjS(N(Rtpy37(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyRR;(RR(R ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pytgeneric_classess(RRtpropertyR R 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~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R R R (((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyR s                                            (t__doc__RRR;RRRRRRRtobjectRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/requirements.pyts