本文整理匯總了Python中pymysql.util.int2byte方法的典型用法代碼示例。如果您正苦於以下問題:Python util.int2byte方法的具體用法?Python util.int2byte怎麽用?Python util.int2byte使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pymysql.util
的用法示例。
在下文中一共展示了util.int2byte方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_datatypes
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def test_datatypes(self):
""" test every data type """
conn = self.connections[0]
c = conn.cursor()
c.execute("create table test_datatypes (b bit, i int, l bigint, f real, s varchar(32), u varchar(32), bb blob, d date, dt datetime, ts timestamp, td time, t time, st datetime)")
try:
# insert values
v = (True, -3, 123456789012, 5.7, "hello'\" world", u"Espa\xc3\xb1ol", "binary\x00data".encode(conn.charset), datetime.date(1988,2,2), datetime.datetime(2014, 5, 15, 7, 45, 57), datetime.timedelta(5,6), datetime.time(16,32), time.localtime())
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", v)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(util.int2byte(1), r[0])
self.assertEqual(v[1:10], r[1:10])
self.assertEqual(datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute)), r[10])
self.assertEqual(datetime.datetime(*v[-1][:6]), r[-1])
c.execute("delete from test_datatypes")
# check nulls
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", [None] * 12)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(tuple([None] * 12), r)
c.execute("delete from test_datatypes")
# check sequences type
for seq_type in (tuple, list, set, frozenset):
c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)")
seq = seq_type([2,6])
c.execute("select l from test_datatypes where i in %s order by i", (seq,))
r = c.fetchall()
self.assertEqual(((4,),(8,)), r)
c.execute("delete from test_datatypes")
finally:
c.execute("drop table test_datatypes")
示例2: test_datatypes
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def test_datatypes(self):
""" test every data type """
conn = self.connections[0]
c = conn.cursor()
c.execute("create table test_datatypes (b bit, i int, l bigint, f real, s varchar(32), u varchar(32), bb blob, d date, dt datetime, ts timestamp, td time, t time, st datetime)")
try:
# insert values
v = (True, -3, 123456789012, 5.7, "hello'\" world", u"Espa\xc3\xb1ol", "binary\x00data".encode(conn.charset), datetime.date(1988,2,2), datetime.datetime(2014, 5, 15, 7, 45, 57), datetime.timedelta(5,6), datetime.time(16,32), time.localtime())
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", v)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(util.int2byte(1), r[0])
self.assertEqual(v[1:10], r[1:10])
self.assertEqual(datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute)), r[10])
self.assertEqual(datetime.datetime(*v[-1][:6]), r[-1])
c.execute("delete from test_datatypes")
# check nulls
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", [None] * 12)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(tuple([None] * 12), r)
c.execute("delete from test_datatypes")
# check sequence type
c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)")
c.execute("select l from test_datatypes where i in %s order by i", ((2,6),))
r = c.fetchall()
self.assertEqual(((4,),(8,)), r)
finally:
c.execute("drop table test_datatypes")
示例3: test_datatypes
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def test_datatypes(self):
""" test every data type """
conn = self.connect()
c = conn.cursor()
c.execute("create table test_datatypes (b bit, i int, l bigint, f real, s varchar(32), u varchar(32), bb blob, d date, dt datetime, ts timestamp, td time, t time, st datetime)")
try:
# insert values
v = (True, -3, 123456789012, 5.7, "hello'\" world", u"Espa\xc3\xb1ol", "binary\x00data".encode(conn.encoding), datetime.date(1988,2,2), datetime.datetime(2014, 5, 15, 7, 45, 57), datetime.timedelta(5,6), datetime.time(16,32), time.localtime())
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", v)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(util.int2byte(1), r[0])
self.assertEqual(v[1:10], r[1:10])
self.assertEqual(datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute)), r[10])
self.assertEqual(datetime.datetime(*v[-1][:6]), r[-1])
c.execute("delete from test_datatypes")
# check nulls
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", [None] * 12)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(tuple([None] * 12), r)
c.execute("delete from test_datatypes")
# check sequences type
for seq_type in (tuple, list, set, frozenset):
c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)")
seq = seq_type([2,6])
c.execute("select l from test_datatypes where i in %s order by i", (seq,))
r = c.fetchall()
self.assertEqual(((4,),(8,)), r)
c.execute("delete from test_datatypes")
finally:
c.execute("drop table test_datatypes")
示例4: _read_table_id
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def _read_table_id(self):
# Table ID is 6 byte
# pad little-endian number
table_id = self.packet.read(6) + int2byte(0) + int2byte(0)
return struct.unpack('<Q', table_id)[0]
示例5: test_datatypes
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def test_datatypes(self):
""" test every data type """
conn = self.connections[0]
c = conn.cursor()
c.execute("create table test_datatypes (b bit, i int, l bigint, f real, s varchar(32), u varchar(32), bb blob, d date, dt datetime, ts timestamp, td time, t time, st datetime)")
try:
# insert values
v = (True, -3, 123456789012, 5.7, "hello'\" world", u"Espa\xc3\xb1ol", "binary\x00data".encode(conn.charset), datetime.date(1988,2,2), datetime.datetime.now(), datetime.timedelta(5,6), datetime.time(16,32), time.localtime())
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", v)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(util.int2byte(1), r[0])
self.assertEqual(v[1:8], r[1:8])
# mysql throws away microseconds so we need to check datetimes
# specially. additionally times are turned into timedeltas.
self.assertEqual(datetime.datetime(*v[8].timetuple()[:6]), r[8])
self.assertEqual(v[9], r[9]) # just timedeltas
self.assertEqual(datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute)), r[10])
self.assertEqual(datetime.datetime(*v[-1][:6]), r[-1])
c.execute("delete from test_datatypes")
# check nulls
c.execute("insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", [None] * 12)
c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = c.fetchone()
self.assertEqual(tuple([None] * 12), r)
c.execute("delete from test_datatypes")
# check sequence type
c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)")
c.execute("select l from test_datatypes where i in %s order by i", ((2,6),))
r = c.fetchall()
self.assertEqual(((4,),(8,)), r)
finally:
c.execute("drop table test_datatypes")
示例6: test_datatypes
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def test_datatypes(connection, cursor, datatype_table):
encoding = connection.charset
if encoding == 'utf8mb4':
encoding = 'utf8'
# insert values
v = (
True, -3, 123456789012, 5.7, "hello'\" world",
u"Espa\xc3\xb1ol",
"binary\x00data".encode(encoding),
datetime.date(1988, 2, 2),
datetime.datetime.now().replace(microsecond=0),
datetime.timedelta(5, 6), datetime.time(16, 32),
time.localtime())
await cursor.execute(
"INSERT INTO test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) "
"values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
v)
await cursor.execute(
"select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
r = await cursor.fetchone()
assert util.int2byte(1) == r[0]
# assert v[1:8] == r[1:8])
assert v[1:9] == r[1:9]
# mysql throws away microseconds so we need to check datetimes
# specially. additionally times are turned into timedeltas.
# self.assertEqual(datetime.datetime(*v[8].timetuple()[:6]), r[8])
# TODO: figure out why this assert fails
# assert [9] == r[9] # just timedeltas
expected = datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute))
assert expected == r[10]
assert datetime.datetime(*v[-1][:6]) == r[-1]
示例7: ensure_closed
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def ensure_closed(self):
"""Send quit command and then close socket connection"""
if self._writer is None:
# connection has been closed
return
send_data = struct.pack('<i', 1) + int2byte(COMMAND.COM_QUIT)
self._writer.write(send_data)
await self._writer.drain()
self.close()
示例8: write_packet
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def write_packet(self, payload):
"""Writes an entire "mysql packet" in its entirety to the network
addings its length and sequence number.
"""
# Internal note: when you build packet manually and calls
# _write_bytes() directly, you should set self._next_seq_id properly.
data = pack_int24(len(payload)) + int2byte(self._next_seq_id) + payload
self._write_bytes(data)
self._next_seq_id = (self._next_seq_id + 1) % 256
示例9: encoded
# 需要導入模塊: from pymysql import util [as 別名]
# 或者: from pymysql.util import int2byte [as 別名]
def encoded(self, server_id, master_id=0):
"""
server_id: the slave server-id
master_id: usually 0. Appears as "master id" in SHOW SLAVE HOSTS
on the master. Unknown what else it impacts.
"""
# 1 [15] COM_REGISTER_SLAVE
# 4 server-id
# 1 slaves hostname length
# string[$len] slaves hostname
# 1 slaves user len
# string[$len] slaves user
# 1 slaves password len
# string[$len] slaves password
# 2 slaves mysql-port
# 4 replication rank
# 4 master-id
lhostname = len(self.hostname)
lusername = len(self.username)
lpassword = len(self.password)
packet_len = (1 + # command
4 + # server-id
1 + # hostname length
lhostname +
1 + # username length
lusername +
1 + # password length
lpassword +
2 + # slave mysql port
4 + # replication rank
4) # master-id
MAX_STRING_LEN = 257 # one byte for length + 256 chars
return (struct.pack('<i', packet_len) +
int2byte(COM_REGISTER_SLAVE) +
struct.pack('<L', server_id) +
struct.pack('<%dp' % min(MAX_STRING_LEN, lhostname + 1),
self.hostname) +
struct.pack('<%dp' % min(MAX_STRING_LEN, lusername + 1),
self.username) +
struct.pack('<%dp' % min(MAX_STRING_LEN, lpassword + 1),
self.password) +
struct.pack('<H', self.port) +
struct.pack('<l', 0) +
struct.pack('<l', master_id))