summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
Diffstat (limited to 'storage')
-rw-r--r--storage/cassandra/ha_cassandra.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/cassandra/ha_cassandra.cc b/storage/cassandra/ha_cassandra.cc
index 6dc774266e4..18a4a8c2728 100644
--- a/storage/cassandra/ha_cassandra.cc
+++ b/storage/cassandra/ha_cassandra.cc
@@ -850,6 +850,7 @@ const char * const validator_boolean= "org.apache.cassandra.db.marshal.BooleanTy
/* VARINTs are stored as big-endian big numbers. */
const char * const validator_varint= "org.apache.cassandra.db.marshal.IntegerType";
+const char * const validator_decimal= "org.apache.cassandra.db.marshal.DecimalType";
ColumnDataConverter *map_field_to_validator(Field *field, const char *validator_name)
@@ -869,6 +870,7 @@ ColumnDataConverter *map_field_to_validator(Field *field, const char *validator_
{
bool is_counter= false;
if (!strcmp(validator_name, validator_bigint) ||
+ !strcmp(validator_name, validator_timestamp) ||
(is_counter= !strcmp(validator_name, validator_counter)))
res= new BigintDataConverter(!is_counter);
break;
@@ -913,7 +915,8 @@ ColumnDataConverter *map_field_to_validator(Field *field, const char *validator_
*/
if (field->type() == MYSQL_TYPE_VARCHAR &&
field->binary() &&
- !strcmp(validator_name, validator_varint))
+ (!strcmp(validator_name, validator_varint) ||
+ !strcmp(validator_name, validator_decimal)))
{
res= new StringCopyConverter(field->field_length);
break;