Add explicit support for varchar
Fixes PYTHON-40
This commit is contained in:
@@ -510,6 +510,10 @@ class UTF8Type(_CassandraType):
|
||||
return ustr.encode('utf8')
|
||||
|
||||
|
||||
class VarcharType(UTF8Type):
|
||||
typename = 'varchar'
|
||||
|
||||
|
||||
class _ParameterizedType(_CassandraType):
|
||||
def __init__(self, val):
|
||||
if not self.subtypes:
|
||||
|
||||
@@ -124,7 +124,8 @@ class TypeTests(unittest.TestCase):
|
||||
p timestamp,
|
||||
q uuid,
|
||||
r timeuuid,
|
||||
s varint,
|
||||
s varchar,
|
||||
t varint,
|
||||
PRIMARY KEY (a, b)
|
||||
)
|
||||
""")
|
||||
@@ -151,6 +152,7 @@ class TypeTests(unittest.TestCase):
|
||||
mydatetime, # timestamp
|
||||
v4_uuid, # uuid
|
||||
v1_uuid, # timeuuid
|
||||
u"sometext\u1234", # varchar
|
||||
123456789123456789123456789 # varint
|
||||
]
|
||||
|
||||
@@ -172,12 +174,13 @@ class TypeTests(unittest.TestCase):
|
||||
mydatetime, # timestamp
|
||||
v4_uuid, # uuid
|
||||
v1_uuid, # timeuuid
|
||||
u"sometext\u1234", # varchar
|
||||
123456789123456789123456789 # varint
|
||||
)
|
||||
|
||||
s.execute("""
|
||||
INSERT INTO mytable (a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
INSERT INTO mytable (a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
""", params)
|
||||
|
||||
results = s.execute("SELECT * FROM mytable")
|
||||
@@ -187,8 +190,8 @@ class TypeTests(unittest.TestCase):
|
||||
|
||||
# try the same thing with a prepared statement
|
||||
prepared = s.prepare("""
|
||||
INSERT INTO mytable (a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
INSERT INTO mytable (a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
""")
|
||||
|
||||
s.execute(prepared.bind(params))
|
||||
@@ -200,7 +203,7 @@ class TypeTests(unittest.TestCase):
|
||||
|
||||
# query with prepared statement
|
||||
prepared = s.prepare("""
|
||||
SELECT a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s FROM mytable
|
||||
SELECT a, b, c, d, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t FROM mytable
|
||||
""")
|
||||
results = s.execute(prepared.bind(()))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user