From 56c67c0910950dad405c6d07fecdd69b1103cddd Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Mon, 22 Aug 2011 08:43:52 +0000 Subject: [PATCH] dbms: development [#CONV-2944]. --- dbms/include/DB/Columns/IColumn.h | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/dbms/include/DB/Columns/IColumn.h b/dbms/include/DB/Columns/IColumn.h index b620042a14e..50921236654 100644 --- a/dbms/include/DB/Columns/IColumn.h +++ b/dbms/include/DB/Columns/IColumn.h @@ -1,15 +1,20 @@ -#ifndef DBMS_COLUMNS_ICOLUMN_H -#define DBMS_COLUMNS_ICOLUMN_H +#pragma once #include #include + namespace DB { using Poco::SharedPtr; +class IColumn; +typedef SharedPtr ColumnPtr; +typedef std::vector Columns; + + /** Интерфейс для хранения столбцов значений в оперативке. */ class IColumn @@ -46,6 +51,17 @@ public: */ virtual void insertDefault() = 0; + /** Соединить столбец с одним или несколькими другими. + * Используется при склейке маленьких блоков. + */ + //virtual void merge(const Columns & columns) = 0; + + /** Оставить только значения, соответствующие фильтру. + * Используется для операции WHERE / HAVING. + */ + typedef std::vector Filter; + //virtual void filter(const Filter & filter) = 0; + /** Очистить */ virtual void clear() = 0; @@ -53,9 +69,4 @@ public: }; -typedef SharedPtr ColumnPtr; -typedef std::vector Columns; - } - -#endif