mirror of https://github.com/apache/cassandra
Upgrade Python driver to 3.28.0
patch by Andrés de la Peña and Jeremiah Jordan; reviewed by Brandon Williams for CASSANDRA-18960 Co-authored-by: Jeremiah Jordan <jeremiah@datastax.com> Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
This commit is contained in:
parent
dca76145c2
commit
f41ecf586c
|
|
@ -1,4 +1,5 @@
|
|||
5.0-alpha2
|
||||
* Upgrade Python driver to 3.28.0 (CASSANDRA-18960)
|
||||
* Add retries to IR messages (CASSANDRA-18962)
|
||||
* Add metrics and logging to repair retries (CASSANDRA-18952)
|
||||
* Remove deprecated code in Cassandra 1.x and 2.x (CASSANDRA-18959)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -149,8 +149,8 @@ class CqlType:
|
|||
def parse(self, typestring, ksmeta):
|
||||
"""
|
||||
Parse the typestring by looking at this pattern: *<*>. If there is no match then the type
|
||||
is either a simple type or a user type, otherwise it must be a composite type
|
||||
for which we need to look-up the sub-types. For user types the sub types can be extracted
|
||||
is either a simple type or a user type, otherwise it must be a composite type or a vector type,
|
||||
for which we need to look up the subtypes. For user types the subtypes can be extracted
|
||||
from the keyspace metadata.
|
||||
"""
|
||||
while True:
|
||||
|
|
@ -167,8 +167,15 @@ class CqlType:
|
|||
typestring = m.group(2)
|
||||
continue
|
||||
|
||||
name = m.group(1) # a composite type, parse sub types
|
||||
return name, self.parse_sub_types(m.group(2), ksmeta), self._get_formatter(name)
|
||||
name = m.group(1) # a composite or vector type, parse subtypes
|
||||
try:
|
||||
# Vector types are parameterized as name<type,size> so add custom handling for that here
|
||||
type_args = m.group(2).split(',')
|
||||
vector_type = CqlType(type_args[0])
|
||||
vector_size = int(type_args[1])
|
||||
return name, [vector_type for _ in range(vector_size)], self._get_formatter(name)
|
||||
except (ValueError, IndexError):
|
||||
return name, self.parse_sub_types(m.group(2), ksmeta), self._get_formatter(name)
|
||||
|
||||
@staticmethod
|
||||
def _get_formatter(name):
|
||||
|
|
|
|||
|
|
@ -935,6 +935,28 @@ class TestCqlshOutput(BaseTestCase):
|
|||
"""),
|
||||
))
|
||||
|
||||
def test_vectors_output(self):
|
||||
self.assertQueriesGiveColoredOutput((
|
||||
("SELECT vectorcol FROM has_all_types;", r"""
|
||||
vectorcol
|
||||
MMMMMMMMM
|
||||
-----------------------
|
||||
|
||||
[1, -2, NaN]
|
||||
BGBBGGBBGGGB
|
||||
[1, 2, 3]
|
||||
BGBBGBBGB
|
||||
[0, 0, 0]
|
||||
BGBBGBBGB
|
||||
null
|
||||
RRRR
|
||||
[1e+08, 1e+08, 1e+08]
|
||||
BGGGGGBBGGGGGBBGGGGGB
|
||||
|
||||
(5 rows)
|
||||
"""),
|
||||
))
|
||||
|
||||
def test_expanded_output_counts_past_page(self):
|
||||
query = "PAGING 5; EXPAND ON; SELECT * FROM twenty_rows_table;"
|
||||
output, result = testcall_cqlsh(prompt=None, env=self.default_env,
|
||||
|
|
|
|||
Loading…
Reference in New Issue