/** * 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()); } }