/**
* Gets column type data
* @param \Cassandra\Type $type
* @return array
*/
protected function _getColumnTypeData(BaseType $type)
{
switch ($type->name()) {
case 'int':
return [CColumn::TYPE_INTEGER, CColumn::BIND_PARAM_INT, true];
case 'varchar':
return [CColumn::TYPE_VARCHAR, CColumn::BIND_PARAM_STR, false];
case 'text':
return [CColumn::TYPE_TEXT, CColumn::BIND_PARAM_STR, false];
case 'timestamp':
return [CColumn::TYPE_TIMESTAMP, CColumn::BIND_PARAM_INT, true];
case 'boolean':
return [CColumn::TYPE_BOOLEAN, CColumn::BIND_PARAM_BOOL, false];
case 'decimal':
return [CColumn::TYPE_DECIMAL, CColumn::BIND_PARAM_DECIMAL, true];
case 'double':
return [CColumn::TYPE_DOUBLE, CColumn::BIND_PARAM_DECIMAL, true];
case 'uuid':
return [CColumn::TYPE_UUID, CColumn::BIND_PARAM_UUID, false];
case 'timeuuid':
return [CColumn::TYPE_TIMEUUID, CColumn::BIND_PARAM_UUID, false];
case 'ascii':
return [CColumn::TYPE_ASCII, CColumn::BIND_PARAM_STR, false];
case 'bigint':
return [CColumn::TYPE_BIGINTEGER, CColumn::BIND_PARAM_INT, true];
case 'blob':
return [CColumn::TYPE_BLOB, CColumn::BIND_PARAM_BLOB, false];
case 'counter':
return [CColumn::TYPE_COUNTER, CColumn::BIND_PARAM_INT, true];
case 'float':
return [CColumn::TYPE_FLOAT, CColumn::BIND_PARAM_DECIMAL, true];
case 'inet':
return [CColumn::TYPE_INET, CColumn::BIND_PARAM_STR, false];
case 'list':
return [CColumn::TYPE_LIST, CColumn::BIND_PARAM_ARRAY, false];
case 'map':
return [CColumn::TYPE_MAP, CColumn::BIND_PARAM_ARRAY, false];
case 'set':
return [CColumn::TYPE_SET, CColumn::BIND_PARAM_ARRAY, false];
case 'varint':
return [CColumn::TYPE_VARINT, CColumn::BIND_PARAM_STR, false];
default:
throw new CException('Unsupported data type ' . $type->name());
}
}