override cql_parameterized_type for generating DCT CQL
PYTHON-579
This commit is contained in:
@@ -989,12 +989,9 @@ class DynamicCompositeType(_ParameterizedType):
|
|||||||
typename = "org.apache.cassandra.db.marshal.DynamicCompositeType"
|
typename = "org.apache.cassandra.db.marshal.DynamicCompositeType"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def cass_parameterized_type_with(cls, subtypes, full=False, **kwargs):
|
def cql_parameterized_type(cls):
|
||||||
if not full: # short-circuit for unparsed type
|
sublist = ', '.join('%s=>%s' % (alias, typ.cass_parameterized_type(full=True)) for alias, typ in zip(cls.fieldnames, cls.subtypes))
|
||||||
return super(DynamicCompositeType, cls).cass_parameterized_type_with(subtypes)
|
return "'%s(%s)'" % (cls.typename, sublist)
|
||||||
# DCT is always formatted "full", and will always have subtypes (otherwise it is normalized to CompositeType by the server)
|
|
||||||
sublist = ', '.join('%s=>%s' % (alias, typ.cass_parameterized_type(full=True)) for alias, typ in zip(cls.fieldnames, subtypes))
|
|
||||||
return '%s(%s)' % (cls.typename, sublist)
|
|
||||||
|
|
||||||
|
|
||||||
class ColumnToCollectionType(_ParameterizedType):
|
class ColumnToCollectionType(_ParameterizedType):
|
||||||
|
|||||||
Reference in New Issue
Block a user