HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/alt/python38/lib/python3.8/site-packages/pymysql/tests/__pycache__/test_issues.cpython-38.pyc
U

��W O�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
Z
zddlZejZWne
k
rzYnXdddgZGdd�de	j�ZGd	d�de	j�ZGd
d�de	j�ZdS)�N)�cursors)�	text_type)�base�
TestOldIssues�
TestNewIssues�TestGitHubIssuesc@sfeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Ze�
d�dd��ZdS)rc	Cs�|jd}|��}t���t�d�|�d�W5QRX|�d�z�|�dd�|�d�|�d	|��d�|�d
�|�d	|��d�|�d�|�d	|��d�|�d�|�t	|��dt
j
��W5|�d�Xd	S)
z2 undefined methods datetime_or_None, date_or_None r�ignorezdrop table if exists issue3z?create table issue3 (d date, t time, dt datetime, ts timestamp)zdrop table issue3z6insert into issue3 (d, t, dt, ts) values (%s,%s,%s,%s))NNNNzselect d from issue3Nzselect t from issue3zselect dt from issue3zselect ts from issue3)�connections�cursor�warnings�catch_warnings�filterwarnings�execute�assertEqual�fetchone�
assertTrue�
isinstance�datetime��self�conn�c�r�J/opt/alt/python38/lib/python3.8/site-packages/pymysql/tests/test_issues.py�test_issue_3s"







zTestOldIssues.test_issue_3c	Cs�|jd}|��}t���t�d�|�d�W5QRX|�d�z2|�d�|�d�|�t|��dt	j	��W5|�d�XdS)	z! can't retrieve TIMESTAMP fields rrzdrop table if exists issue4z"create table issue4 (ts timestamp)zdrop table issue4z&insert into issue4 (ts) values (now())zselect ts from issue4N)
r	r
rrr
rrrrrrrrr�test_issue_4+s





zTestOldIssues.test_issue_4cCs |jd}|��}|�d�dS)z* query on information_schema.tables fails rz'select * from information_schema.tablesN)r	r
r)rZcon�currrr�test_issue_5:s
zTestOldIssues.test_issue_5cCs@|jd��}d|d<tjf|�}|��}|�d�|��dS)zP exception: TypeError: ord() expected a character, but string of length 0 found rZmysql�dbzselect * from userN)�	databases�copy�pymysql�connectr
r�close)r�kwargsrrrrr�test_issue_6@s
zTestOldIssues.test_issue_6c	Cs�|jd}|��}t���t�d�|�d�W5QRX|�d�z2|�d|�d��|�d�|�d|�d��W5|�d�XdS)	z1 Primary Key and Index error when selecting data rrzdrop table if exists testaCREATE TABLE `test` (`station` int(10) NOT NULL DEFAULT '0', `dh`
datetime NOT NULL DEFAULT '2015-01-01 00:00:00', `echeance` int(1) NOT NULL
DEFAULT '0', `me` double DEFAULT NULL, `mo` double DEFAULT NULL, PRIMARY
KEY (`station`,`dh`,`echeance`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;zdrop table testzSELECT * FROM testz6ALTER TABLE `test` ADD INDEX `idx_station` (`station`)N)r	r
rrr
rrrrrr�test_issue_8Js




zTestOldIssues.test_issue_8cCs.ztt�Wntk
r(|��YnXdS)z' sets DeprecationWarning in Python 2.6 N)�reloadr!�DeprecationWarning�fail)rrrr�test_issue_9\szTestOldIssues.test_issue_9c	Cs�|jd}|��}t���t�d�|�d�W5QRXzL|�d�d}|�dd|f�|�d	�|��d}|�d||k�W5|�d�Xd
S)z" can't handle large result fields rrzdrop table if exists issue13zdrop table issue13zcreate table issue13 (t text)iHz#insert into issue13 (t) values (%s)�xzselect t from issue13N)r	r
rrr
rrr)rrr�size�rrrr�
test_issue_13cs




zTestOldIssues.test_issue_13c	Cs�|jd}|��}t���t�d�|�d�W5QRX|�d�z.|�dd�|�d�|�d	|��d�W5|�d�Xd
S)z< query should be expanded before perform character encoding rrzdrop table if exists issue15z$create table issue15 (t varchar(32))zdrop table issue15z#insert into issue15 (t) values (%s))�äöüzselect t from issue15r/N�r	r
rrr
rrrrrrr�
test_issue_15vs




zTestOldIssues.test_issue_15c	Cs�|jd}|��}t���t�d�|�d�W5QRX|�d�z.|�d�|�dd�|�d	|��d�W5|�d�Xd
S)z% Patch for string and tuple escaping rrzdrop table if exists issue16zFcreate table issue16 (name varchar(32) primary key, email varchar(32))zdrop table issue16z@insert into issue16 (name, email) values ('pete', 'floydophone')z'select email from issue16 where name=%s)ZpeteZfloydophoneNr0rrrr�
test_issue_16�s




zTestOldIssues.test_issue_16zRtest_issue_17() requires a custom, legacy MySQL configuration and will not be run.c	Cs�|jd}|jdd}|jdd}|��}z�t���t�d�|�d�W5QRX|�d�|�d�|�d	|�|��tj	|d
d|d�}|��}|�d
�|�
d|��d�W5|�d�XdS)z#could not connect mysql use passwodr�hostrzdrop table issue17rzdrop table if exists issue17z0create table issue17 (x varchar(32) primary key)z0insert into issue17 (x) values ('hello, world!')zMgrant all privileges on %s.issue17 to 'issue17user'@'%%' identified by '1234'Zissue17userZ1234)r3�user�passwdrzselect x from issue17z
hello, world!N)r	rr
rrrr
�commitr!r"rr)rrr3rrZconn2Zc2rrr�
test_issue_17�s"





zTestOldIssues.test_issue_17N)�__name__�
__module__�__qualname__rrrr%r&r*r.r1r2�	unittest2�skipr7rrrrrs
c@sNeZdZdd�Zdd�Ze�d�dd��Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)rc
Csrztjdddd�|��WnPtjk
rR}z|�d|jd�W5d}~XYntk
rl|��YnXdS)N�	localhosti��root)r3�portr4i�r)r!r"r)�OperationalErrorr�args�	Exception)r�errr�
test_issue_34�s"zTestNewIssues.test_issue_34cCs\tjfddi|jd��}|�|dd�|��}|�d�|�d�|�d|��d�dS)	N�charset�utf8ruheißeu&create table heiße (name varchar(32))u,insert into heiße (name) values ('Pißata')uselect name from heißeuPißata)r!r"r�safe_create_tabler
rrrrrrr�
test_issue_33�s�

zTestNewIssues.test_issue_33z&This test requires manual interventionc
Csl|jd}|��}td�z|�d�|��Wn6tjk
rf}z|�d|jd�W5d}~XYnXdS)Nrz1sudo killall -9 mysqld within the next 10 secondszselect sleep(10)i�)	r	r
�printrr)r!r@rrA)rrrrCrrr�
test_issue_35�s

zTestNewIssues.test_issue_35cCs|jd}|��}|�d�d}|��D]$}|d}|d}|dkr(|}qNq(|�||���|jd�|�z|�d�|��Wntk
r�YnX|�	�|�	�zFt
�d�|jd��}|�d�dd�|��D�}|�||k�W5|jd=XdS)	N�zshow processlistr�zshow tablesg�������?cSsg|]}|d�qS)rr)�.0�rowrrr�
<listcomp>�sz/TestNewIssues.test_issue_36.<locals>.<listcomp>)
r	r
r�fetchallr�	thread_id�killr)rBr#�time�sleep�assertFalse)rrrZkill_idrN�id�infoZidsrrr�
test_issue_36�s4




zTestNewIssues.test_issue_36cCsT|jd}|��}|�d|�d��|�d|���|�d|�d��|�d�dS)NrrKzSELECT @foo)NzSET @foo = 'bar'zset @foo = 'bar')r	r
rrrrrrr�
test_issue_37�s
zTestNewIssues.test_issue_37c	Csp|jd}|��}dd}zDt���t�d�|�d�W5QRX|�d�|�d|f�W5|�d�XdS)	NrAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai�zdrop table issue38rzdrop table if exists issue38z2create table issue38 (id integer, data mediumblob)z"insert into issue38 values (1, %s))r	r
rrrr
)rrrZdatumrrr�
test_issue_38�s



zTestNewIssues.test_issue_38c	Cs�|jd}|��}t���t�d�|�d�W5QRXd}|d�dd�tdd�D��7}z6|�d
�|�d�|�|�|�d|�	�d�W5|�d	�XdS)
Nrrzdrop table if exists issue54zselect * from issue54 where z and css|]}d||fVqdS)z%d=%dNr�rM�irrr�	<genexpr>sz7TestNewIssues.disabled_test_issue_54.<locals>.<genexpr>i��zdrop table issue54z-create table issue54 (id integer primary key)z#insert into issue54 (id) values (7)rL)
r	r
rrr
r�join�rangerr)rrrZbig_sqlrrr�disabled_test_issue_54s





z$TestNewIssues.disabled_test_issue_54N)r8r9r:rDrHr;r<rJrXrYrZr`rrrrr�s		

$c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)rc	Cs�|jd}|��}|�d|���zZt���t�d�|�d�W5QRX|�d�|�d�|�d�|�d|���W5|�d�XdS)	z2 'Connection' object has no attribute 'insert_id' rzdrop table issue66rzdrop table if exists issue66zGcreate table issue66 (id integer primary key auto_increment, x integer)z"insert into issue66 (x) values (1)�N)r	r
r�	insert_idrrrr
rrrr�
test_issue_66s





zTestGitHubIssues.test_issue_66c	Cs�|jd}|�tjj�}t���$t�d�|�d�|�d�W5QRX|�d�|�d�d}d}zb|�d|�|�d|�|�d
�|�	�d}|�
|dd�|�
|dd�|�
|dd�W5|�d	�|�d
�XdS)zI Duplicate field overwrites the previous one in the result of DictCursor rrzdrop table if exists azdrop table if exists bz"CREATE TABLE a (id int, value int)z"CREATE TABLE b (id int, value int))rK�)rK�zdrop table azdrop table bzinsert into a values (%s, %s)zinsert into b values (%s, %s)z+SELECT * FROM a inner join b on a.id = b.idrVrK�valuerdzb.valuereN)r	r
r!r�
DictCursorrrr
rrPr)rrr�a�br-rrr�
test_issue_79's(







zTestGitHubIssues.test_issue_79cCs�|jd}|��}t���t�d�|�d�W5QRX|�d�z,|�d�|�d�|�|��dd�W5t���t�d�|�d�W5QRXXdS)	z6 Leftover trailing OK packet for "CALL my_sp" queries rrzDROP PROCEDURE IF EXISTS `foo`zICREATE PROCEDURE `foo` ()
        BEGIN
            SELECT 1;
        ENDz
CALL foo()zSELECT 1rKNr0)rrrrrr�
test_issue_95Bs







zTestGitHubIssues.test_issue_95cCs�tjfddi|jd��}|�d�|��}|�d�|�|��d�|��|�	�|�d�|�|��d�|��tjfddi|jd��}|��}|�d�|�|��d�|��|�	�|�d�|�d�|�
|��d�|��dS)z6 autocommit is not set after reconnecting with ping() rErFrFzselect @@autocommit;TN)r!r"r�
autocommitr
rrUrr#�pingrrrrr�test_issue_114Vs(





zTestGitHubIssues.test_issue_114cCs�|jd}|��}dD]|}d�dd�t|�D��}d�|�}z*|�|�|�d	�t	|j
�|ksdt�W5t���t�d�|�d�W5QRXXqd
S)z> The number of fields returned by server is read in wrong way r)��i,z, css|]}d�|�VqdS)zc{0} integerN)�formatr[rrrr]tsz2TestGitHubIssues.test_issue_175.<locals>.<genexpr>z#create table test_field_count ({0})rz%drop table if exists test_field_countzselect * from test_field_countN)r	r
r^r_rprrr
r�len�description�AssertionError)rrr�length�columns�sqlrrr�test_issue_175os





zTestGitHubIssues.test_issue_175cCs�tjfddi|jd��}|�|dd�d}d}d}d	d
gdgd
gdggd
d
�g}|��}|�|�||d�d�|�|�||d�d�|�|�||d�d�|�|�|dd
g�d�|�|��d�|�|��d�|�|��d�dS)z" Test iterable as query argument. rErFrZissue321z>create table issue321 (value_1 varchar(1), value_2 varchar(1))z7insert into issue321 (value_1, value_2) values (%s, %s)zIinsert into issue321 (value_1, value_2) values (%(value_1)s, %(value_2)s)z9select * from issue321 where value_1 in %s and value_2=%s)rh�аrir)Zvalue_1Zvalue_2rKra)rhrir�)rhrx)rirx)rrxN)r!r"rrGr
rrr)rrZ
sql_insertZsql_dict_insertZ
sql_select�datarrrr�test_issue_321s0���zTestGitHubIssues.test_issue_321cCs�tjfddi|jd��}|�|dd�d}d}t�d�dg}|��}|j||d	�|�d
�|�|��t	|��|j||d	�|j
||||fd	�|�d
�|��D]}|�|t	|��q�|j
||||fd	�dS)z5 Test mixed unicode/binary arguments in executemany. rErFrZissue364z`create table issue364 (value_1 binary(3), value_2 varchar(3)) engine=InnoDB default charset=utf8z7insert into issue364 (value_1, value_2) values (%s, %s)s�r/)rAzselect * from issue364N)r!r"rrG�Binaryr
rrr�tuple�executemanyrP)rrrvZusql�valuesrrNrrr�test_issue_364�s&�

zTestGitHubIssues.test_issue_364c	CsBtjfddi|jd��}|�|dd�|��}d}|�|d�rf|�tjj��}|�	|�W5QRXn
|�	|�d}|�|d�r�|�tjj��}|�	|�W5QRXn
|�	|�|�
�}|�|d	�d
}|�|d�r�|�tjj��}|�	|�W5QRXn
|�	|�|�
�}|�|d�|�	d�|�
�}|�t
|dt��d
S)z Test binary / geometry types. rErFrZissue363z�CREATE TABLE issue363 ( id INTEGER PRIMARY KEY, geom LINESTRING NOT NULL, SPATIAL KEY geom (geom)) ENGINE=MyISAM default charset=utf8zYINSERT INTO issue363 (id, geom) VALUES(1998, GeomFromText('LINESTRING(1.1 1.1,2.2 2.2)')))�rLrz!SELECT AsText(geom) FROM issue363)zLINESTRING(1.1 1.1,2.2 2.2)z#SELECT AsBinary(geom) FROM issue363)s)�������?�������?������@������@zSELECT geom FROM issue363N)r!r"rrGr
Zmysql_server_isZassertWarns�err�Warningrrrrr�bytes)rrr�query�cmrNrrr�test_issue_363�s>�


�
zTestGitHubIssues.test_issue_363cCs�tjfddi|jd��}t����t�d�tjdtjd�tjtj	fD]�}|�
|�}z�z|�d�|�
�Wn^tjk
r�}z>|�t|j�d�|�|jdd	�|�t|jd
t��W5d}~XYnX|�d�W5|��XqJW5QRXdS)
z Test warning propagation rErFrr�error)�categoryzSELECT CAST('124b' AS SIGNED)rairKNzShould raise Warning)r!r"rrr�simplefilterr�r�Cursor�SSCursorr
r#rrPrrqrArrrr))rrZcursor_classrrCrrr�test_issue_491�s



(zTestGitHubIssues.test_issue_491N)r8r9r:rcrjrkrnrwr{r�r�r�rrrrrs4)rrSr�sysr!rZpymysql._compatrZ
pymysql.testsrr;�impr'�AttributeError�__all__ZPyMySQLTestCaserrrrrrr�<module>s$

i