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 #pragma once
#define DBMS_COLUMNS_ICOLUMN_H
#include <Poco/SharedPtr.h> #include <Poco/SharedPtr.h>
#include <DB/Core/Field.h> #include <DB/Core/Field.h>
namespace DB namespace DB
{ {
using Poco::SharedPtr; using Poco::SharedPtr;
class IColumn;
typedef SharedPtr<IColumn> ColumnPtr;
typedef std::vector<ColumnPtr> Columns;
/** Интерфейс для хранения столбцов значений в оперативке. /** Интерфейс для хранения столбцов значений в оперативке.
*/ */
class IColumn class IColumn
@ -46,6 +51,17 @@ public:
*/ */
virtual void insertDefault() = 0; 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; virtual void clear() = 0;
@ -53,9 +69,4 @@ public:
}; };
typedef SharedPtr<IColumn> ColumnPtr;
typedef std::vector<ColumnPtr> Columns;
} }
#endif