Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/sqlite3/test/__pycache__/regression.cpython-33.pyo

�
��f1c@soddlZddlZddlZGdd�dej�Zdd�Zdd�Zedkrke�ndS(	iNcBsL|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5S(6uRegressionTestscCstjd�|_dS(Nu:memory:(usqliteuconnectucon(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyusetUpsuRegressionTests.setUpcCs|jj�dS(N(uconuclose(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyutearDown suRegressionTests.tearDowncCs |jj�}|jd�dS(Nupragma user_version(uconucursoruexecute(uselfucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckPragmaUserVersion#su&RegressionTests.CheckPragmaUserVersionc
CsTtjddtj�}z |jj�}|jd�Wd|j�|j�XdS(Nu:memory:udetect_typesupragma schema_version(usqliteuconnectuPARSE_COLNAMESuconucursoruexecuteuclose(uselfuconucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckPragmaSchemaVersion(s
u(RegressionTests.CheckPragmaSchemaVersioncs�tjddd���fdd�td�D�}|djd�x;td�D]-}|djd	d
d�td�D��qRWx-td�D]}||jd|d�q�W�j�dS(
Nu:memory:ucached_statementsicsg|]}�j��qS((ucursor(u.0ux(ucon(u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu
<listcomp>7s	u7RegressionTests.CheckStatementReset.<locals>.<listcomp>iucreate table test(x)i
uinsert into test(x) values (?)cSsg|]}|f�qS(((u.0ux((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu
<listcomp>:s	u uselect x from test(usqliteuconnecturangeuexecuteuexecutemanyurollback(uselfucursorsui((uconu</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckStatementReset2s+u#RegressionTests.CheckStatementResetcCsc|jj�}|jd�|j|jddd�|jd�|j|jddd�dS(Nu select 1 as "foo bar [datetime]"iufoo baruselect 1 as "foo baz"ufoo baz(uconucursoruexecuteuassertEqualudescription(uselfucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckColumnNameWithSpacesAs


u)RegressionTests.CheckColumnNameWithSpacescCsjtjd�}g}xDtd�D]6}|j�}|j|�|jdt|��q"W|j�dS(Nu:memory:iiuselect 1 x union select (usqliteuconnecturangeucursoruappenduexecuteustruclose(uselfuconucursorsuiucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu#CheckStatementFinalizationOnCloseDbIs
u3RegressionTests.CheckStatementFinalizationOnCloseDbcCs�tjdkrdStjd�}|jd�|jd�y|jd�Wntjk
rdYnX|jd�y|j�Wn"tjk
r�|jd�YnXdS(	Niiu:memory:u3create table foo(x, unique(x) on conflict rollback)uinsert into foo(x) values (1)uinsert into foo(x) values (2)u1pysqlite knew nothing about the implicit ROLLBACK(iii(usqliteusqlite_version_infouconnectuexecuteu
DatabaseErrorucommituOperationalErrorufail(uselfucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckOnConflictRollbackWs


u'RegressionTests.CheckOnConflictRollbackcCs4|jjd�|jjd�|jjd�dS(um
        pysqlite would crash with older SQLite versions unless
        a workaround is implemented.
        ucreate table foo(bar)udrop table fooN(uconuexecute(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu-CheckWorkaroundForBuggySqliteTransferBindingsgsu=RegressionTests.CheckWorkaroundForBuggySqliteTransferBindingscCs|jjd�dS(u
        pysqlite used to segfault with SQLite versions 3.5.x. These return NULL
        for "no-operation" statements
        uN(uconuexecute(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckEmptyStatementpsu#RegressionTests.CheckEmptyStatementcCs�d}tjddtj�}|jd�|jdtjj�f�|j|�|jd�|jd�|jd�|j|�d	S(
u�
        pysqlite until 2.4.1 did not rebuild the row_cast_map when recompiling
        a statement. This test exhibits the problem.
        uselect * from foou:memory:udetect_typesucreate table foo(bar timestamp)uinsert into foo(bar) values (?)udrop table fooucreate table foo(bar integer)uinsert into foo(bar) values (5)N(usqliteuconnectuPARSE_DECLTYPESuexecuteudatetimeunow(uselfuSELECTucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckTypeMapUsagews




u!RegressionTests.CheckTypeMapUsagecCs�d}y5|jjdttdg��f�j�d}WnMtjk
r�}z*|jd}|j	d�sxd}nWYdd}~XnX|r�|j
|�ndS(Nu"select 'xxx' || ? || 'yyy' colnamei�u@should have raised an OperationalError with detailed descriptioniu9Could not decode to UTF-8 column 'colname' with text 'xxxu7OperationalError did not have expected description text(uNoneuconuexecuteubytesu	bytearrayufetchoneusqliteuOperationalErroruargsu
startswithufail(uselfufailureueumsg((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckErrorMsgDecodeError�s

u(RegressionTests.CheckErrorMsgDecodeErrorcCs|jttjid�dS(u!
        See issue 3312.
        N(uassertRaisesu	TypeErrorusqliteuregister_adapteruNone(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckRegisterAdapter�su$RegressionTests.CheckRegisterAdaptercCs#tjd�}t|dd�dS(u!
        See issue 3312.
        u:memory:uisolation_leveluéN(usqliteuconnectusetattr(uselfucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckSetIsolationLevel�su&RegressionTests.CheckSetIsolationLevelcCs�Gdd�dtj�}tjd�}||�}y$|jd�j�|jd�Wn)tjk
roYn|jd�YnXdS(ud
        Verifies that cursor methods check whether base class __init__ was
        called.
        cBs |EeZdZdd�ZdS(u?RegressionTests.CheckCursorConstructorCallCheck.<locals>.CursorcSsdS(N((uselfucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu__init__�suHRegressionTests.CheckCursorConstructorCallCheck.<locals>.Cursor.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCursor�suCursoru:memory:u
select 4+5u#should have raised ProgrammingErrorN(usqliteuCursoruconnectuexecuteufetchallufailuProgrammingError(uselfuCursoruconucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckCursorConstructorCallCheck�su/RegressionTests.CheckCursorConstructorCallCheckcCs6Gdd�dt�}|jjd|d�f�dS(ua
        The Python 3.0 port of the module didn't cope with values of subclasses of str.
        cBs|EeZdZdS(u/RegressionTests.CheckStrSubclass.<locals>.MyStrN(u__name__u
__module__u__qualname__(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuMyStr�suMyStruselect ?uabcN(ustruconuexecute(uselfuMyStr((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckStrSubclass�su RegressionTests.CheckStrSubclasscCsrGdd�dtj�}|d�}y|j�}|jd�Wn)tjk
rYYn|jd�YnXdS(uh
        Verifies that connection methods check whether base class __init__ was
        called.
        cBs |EeZdZdd�ZdS(uGRegressionTests.CheckConnectionConstructorCallCheck.<locals>.ConnectioncSsdS(N((uselfuname((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu__init__�suPRegressionTests.CheckConnectionConstructorCallCheck.<locals>.Connection.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu
Connection�su
Connectionu:memory:u#should have raised ProgrammingErrorN(usqliteu
ConnectionucursorufailuProgrammingError(uselfu
Connectionuconucur((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu#CheckConnectionConstructorCallCheck�su3RegressionTests.CheckConnectionConstructorCallCheckcs�G�fdd�dtj�}Gdd�dtj��|d�}|j�}|jd�|jddddg�|jd�|j�y|j�|jd�Wn)tj	k
r�Yn|jd�YnXd
S(u�
        Verifies that subclassed cursor classes are correctly registered with
        the connection object, too.  (fetch-across-rollback problem)
        cs&|EeZdZ�fdd�ZdS(u;RegressionTests.CheckCursorRegistration.<locals>.Connectioncs
�|�S(N((uself(uCursor(u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyucursor�suBRegressionTests.CheckCursorRegistration.<locals>.Connection.cursorN(u__name__u
__module__u__qualname__ucursor(u
__locals__(uCursor(u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu
Connection�su
ConnectioncBs |EeZdZdd�ZdS(u7RegressionTests.CheckCursorRegistration.<locals>.CursorcSstjj||�dS(N(usqliteuCursoru__init__(uselfucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu__init__�su@RegressionTests.CheckCursorRegistration.<locals>.Cursor.__init__N(u__name__u
__module__u__qualname__u__init__(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCursor�suCursoru:memory:ucreate table foo(x)uinsert into foo(x) values (?)iiiuselect x from foou!should have raised InterfaceErrorN(i(i(i(
usqliteu
ConnectionuCursorucursoruexecuteuexecutemanyurollbackufetchallufailuInterfaceError(uselfu
Connectionuconucur((uCursoru</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckCursorRegistration�s



u'RegressionTests.CheckCursorRegistrationcCstjddd�}dS(u�
        Verifies that creating a connection in autocommit mode works.
        2.5.3 introduced a regression so that these could no longer
        be created.
        u:memory:uisolation_levelN(usqliteuconnectuNone(uselfucon((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckAutoCommit�suRegressionTests.CheckAutoCommitcCsF|jj�}|jd�|jd�|jd�|j�}dS(u�
        Verifies that running a PRAGMA statement that does an autocommit does
        work. This did not work in 2.5.3/2.5.4.
        ucreate table foo(bar)uinsert into foo(bar) values (5)upragma page_sizeN(uconucursoruexecuteufetchone(uselfucururow((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckPragmaAutocommit�s



u%RegressionTests.CheckPragmaAutocommitcCs�Gdd�d�}|�}|jt|jj|�|jt|jj|�|jt|jj|�|jt|jj|�dS(u�
        See http://bugs.python.org/issue7478

        It was possible to successfully register callbacks that could not be
        hashed. Return codes of PyDict_SetItem were not checked properly.
        cBs,|EeZdZdd�Zdd�ZdS(u1RegressionTests.CheckSetDict.<locals>.NotHashablec_sdS(N((uselfuargsukw((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu__call__su:RegressionTests.CheckSetDict.<locals>.NotHashable.__call__cSs
t��dS(N(u	TypeError(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu__hash__su:RegressionTests.CheckSetDict.<locals>.NotHashable.__hash__N(u__name__u
__module__u__qualname__u__call__u__hash__(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuNotHashablesuNotHashableN(uassertRaisesu	TypeErroruconucreate_functionucreate_aggregateuset_authorizeruset_progress_handler(uselfuNotHashableuvar((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckSetDict�s	uRegressionTests.CheckSetDictcCs|jtj|jd�dS(u}
        Call a connection with a non-string SQL request: check error handling
        of the statement constructor.
        iN(uassertRaisesusqliteuWarningucon(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckConnectionCallsu#RegressionTests.CheckConnectionCallcCs/dd�}|jtj|jjd|�dS(NcSsdS(Ni((uaub((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyucollation_cbsu4RegressionTests.CheckCollation.<locals>.collation_cbu�(uassertRaisesusqliteuProgrammingErroruconucreate_collation(uselfucollation_cb((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckCollationsuRegressionTests.CheckCollationcs�tjd�}|j���jd��jd��fdd�}|jtj��%�jddd�|�D��Wd	QXd	S(
u�
        http://bugs.python.org/issue10811

        Recursively using a cursor, such as when reusing it from a generator led to segfaults.
        Now we catch recursive cursor usage and raise a ProgrammingError.
        u:memory:ucreate table a (bar)ucreate table b (baz)c3s�jdd�dVdS(Nuinsert into a (bar) values (?)i(i(uexecute((ucur(u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyufoo+su4RegressionTests.CheckRecursiveCursorUse.<locals>.foouinsert into b (baz) values (?)css|]}|fVqdS(N((u.0ui((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu	<genexpr>1su:RegressionTests.CheckRecursiveCursorUse.<locals>.<genexpr>N(usqliteuconnectucursoruexecuteuassertRaisesuProgrammingErroruexecutemany(uselfuconufoo((ucuru</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckRecursiveCursorUses

	u'RegressionTests.CheckRecursiveCursorUsecCs�tjddtj�}|j�}|jd�|jd�|jd�|jd�dd�|j�D�}|j|tjd	d
d
ddd
d�tjd	d
d
ddd
d�g�dS(u�
        http://bugs.python.org/issue14720

        The microsecond parsing of convert_timestamp() should pad with zeros,
        since the microsecond string "456" actually represents "456000".
        u:memory:udetect_typesuCREATE TABLE t (x TIMESTAMP)u4INSERT INTO t (x) VALUES ('2012-04-04 15:06:00.456')u:INSERT INTO t (x) VALUES ('2012-04-04 15:06:00.123456789')uSELECT * FROM tcSsg|]}|d�qS(i((u.0ux((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu
<listcomp>Fs	uKRegressionTests.CheckConvertTimestampMicrosecondPadding.<locals>.<listcomp>i�iiiii@�i@�N(usqliteuconnectuPARSE_DECLTYPESucursoruexecuteufetchalluassertEqualudatetime(uselfuconucuruvalues((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu'CheckConvertTimestampMicrosecondPadding3s



	u7RegressionTests.CheckConvertTimestampMicrosecondPaddingcCs |jttjddd�dS(Nu:memory:uisolation_leveli{(uassertRaisesu	TypeErrorusqliteuconnect(uself((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuCheckInvalidIsolationLevelTypeMs	u.RegressionTests.CheckInvalidIsolationLevelTypeN(u__name__u
__module__u__qualname__usetUputearDownuCheckPragmaUserVersionuCheckPragmaSchemaVersionuCheckStatementResetuCheckColumnNameWithSpacesu#CheckStatementFinalizationOnCloseDbuCheckOnConflictRollbacku-CheckWorkaroundForBuggySqliteTransferBindingsuCheckEmptyStatementuCheckTypeMapUsageuCheckErrorMsgDecodeErroruCheckRegisterAdapteruCheckSetIsolationLeveluCheckCursorConstructorCallCheckuCheckStrSubclassu#CheckConnectionConstructorCallCheckuCheckCursorRegistrationuCheckAutoCommituCheckPragmaAutocommituCheckSetDictuCheckConnectionCalluCheckCollationuCheckRecursiveCursorUseu'CheckConvertTimestampMicrosecondPaddinguCheckInvalidIsolationLevelType(u
__locals__((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyuRegressionTestss4
	uRegressionTestscCs"tjtd�}tj|f�S(NuCheck(uunittestu	makeSuiteuRegressionTestsu	TestSuite(uregression_suite((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyusuiteSsusuitecCs tj�}|jt��dS(N(uunittestuTextTestRunnerurunusuite(urunner((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyutestWsutestu__main__(	udatetimeuunittestusqlite3usqliteuTestCaseuRegressionTestsusuiteutestu__name__(((u</opt/alt/python33/lib64/python3.3/sqlite3/test/regression.pyu<module>s�8