diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2012-09-25 16:20:19 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2012-09-25 16:20:19 +0400 |
commit | 73dfd5782bf2ec845dc5490de22d9ef8ea9f7326 (patch) | |
tree | e8d32c58478bcfe449b1527e3fd9f47471af891d /storage | |
parent | 366638718c0f5ca328f023f1fea4cc4731595953 (diff) | |
download | mariadb-git-73dfd5782bf2ec845dc5490de22d9ef8ea9f7326.tar.gz |
Cassandra SE: more datatypes support
- Support mapping Cassandra's timestamp to INT64
- Support mapping Cassadnra's decimal to VARBINARY.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/cassandra/ha_cassandra.cc | 5 |
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; |