dbms: development [#CONV-2944].

This commit is contained in:
Alexey Milovidov 2011-08-22 08:43:52 +00:00
parent dbf88adcb1
commit 56c67c0910

View File

@ -1,15 +1,20 @@
#ifndef DBMS_COLUMNS_ICOLUMN_H
#define DBMS_COLUMNS_ICOLUMN_H
#pragma once
#include <Poco/SharedPtr.h>
#include <DB/Core/Field.h>
namespace DB
{
using Poco::SharedPtr;
class IColumn;
typedef SharedPtr<IColumn> ColumnPtr;
typedef std::vector<ColumnPtr> Columns;
/** Интерфейс для хранения столбцов значений в оперативке.
*/
class IColumn
@ -46,6 +51,17 @@ public:
*/
virtual void insertDefault() = 0;
/** Соединить столбец с одним или несколькими другими.
* Используется при склейке маленьких блоков.
*/
//virtual void merge(const Columns & columns) = 0;
/** Оставить только значения, соответствующие фильтру.
* Используется для операции WHERE / HAVING.
*/
typedef std::vector<UInt8> Filter;
//virtual void filter(const Filter & filter) = 0;
/** Очистить */
virtual void clear() = 0;
@ -53,9 +69,4 @@ public:
};
typedef SharedPtr<IColumn> ColumnPtr;
typedef std::vector<ColumnPtr> Columns;
}
#endif