Commit Graph

38 Commits

Author SHA1 Message Date
Alexey Milovidov
67b6a8966b Attempt to make compositions with COWPtr more convenient 2019-03-25 20:56:18 +03:00
Alexey Milovidov
fb19cf1eec Attempt to make compositions with COWPtr more convenient 2019-03-25 04:43:54 +03:00
Alexey Milovidov
a459b2c298 Fixed insufficient type checking in hasAll, hasAny functions 2019-03-15 02:10:51 +03:00
alexey-milovidov
6db73152d2
Hardening debug build (experimental) (#4632)
* Hardening debug build: more granular memory mappings and ASLR; add memory protection for mark cache and index

* Addition to prev. revision

* Addition to prev. revision

* Addition to prev. revision
2019-03-10 06:16:51 +03:00
Vitaly Baranov
4b6cba9a8e IColumn::getPermutation() and IColumn::permutate() functions, "limit" parameter: change type UInt64 -> size_t. 2019-02-19 14:56:09 +03:00
Vitaly Baranov
833aa9189b IColumn::index() function, "limit" parameter: change type UInt64 -> size_t. 2019-02-19 14:47:41 +03:00
Alexey Milovidov
c603d270f4 Cleanups #4246 2019-02-10 18:17:45 +03:00
Amos Bird
ea84430864 Get rid of useless std::move to get NRVO
http://eel.is/c++draft/class.copy.elision#:constructor,copy,elision

Some quote:

> Speaking of RVO, return std::move(w); prohibits it. It means "use move constructor or fail to compile", whereas return w; means "use RVO, and if you can't, use move constructor, and if you can't, use copy constructor, and if you can't, fail to compile."

There is one exception to this rule:
```cpp
Block FilterBlockInputStream::removeFilterIfNeed(Block && block)
{
    if (block && remove_filter)
        block.erase(static_cast<size_t>(filter_column));

    return std::move(block);
}
```

because references are not eligible for NRVO, which is another rule "always move rvalue references and forward universal references" that takes precedence.
2018-08-27 22:15:48 +08:00
Nikolai Kochetov
9f591b8d02 Merged with master. 2018-06-26 17:41:29 +03:00
Nikolai Kochetov
f56d16769b Added pre and post serialization for IDataType BinaryBulkWithMultipleStreams. Supported dictionary serialization format with single global dictionary (limited wit max_dictionary_size) and additional keys which are stored per granule. Changed IDataType::enumerateStream interface. Added (de)serialization params for binary bulk with multiple stream (de)serialization. Changed IColumn::index interface. 2018-06-26 17:12:21 +03:00
Alexey Milovidov
b9b89a5590 Less dependencies [#CLICKHOUSE-2] 2018-06-05 22:46:49 +03:00
Nikolai Kochetov
937cb2db29 Merged with master. 2018-05-21 14:38:50 +03:00
Alexey Milovidov
fb91bba279 Miscellaneous [#CLICKHOUSE-2] 2018-05-16 03:34:56 +03:00
Nikolai Kochetov
4369613435 added IColumn::select 2018-04-23 19:40:25 +03:00
Nikolai Kochetov
cc2c1f5171 removed createImmutable 2018-03-23 22:24:55 +03:00
Nikolai Kochetov
476d4b339c Immutable construction for columns 2018-03-20 22:45:10 +03:00
Alexey Milovidov
c104566eb8 Fixed performance regression in usage of COWPtr in complex cases [#CLICKHOUSE-3584]. 2018-02-12 23:10:24 +03:00
Alexey Milovidov
3e3042f01a Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 04:21:59 +03:00
Alexey Milovidov
7284a64740 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-16 00:32:25 +03:00
Alexey Milovidov
0b76b61c73 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 22:46:24 +03:00
Alexey Milovidov
6756b37925 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-15 04:34:30 +03:00
Alexey Milovidov
fb38ef9a8e Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 06:56:56 +03:00
Alexey Milovidov
f3bb24a3bf Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-14 04:43:19 +03:00
Alexey Milovidov
819287b697 Better semantic of sharing columns: development [#CLICKHOUSE-2]. 2017-12-13 04:27:53 +03:00
Alexey Milovidov
de75e40528 Clarifications [#CLICKHOUSE-2]. 2017-12-11 00:05:21 +03:00
Alexey Milovidov
abf53189bb More strict checks on compositions of columns [#CLICKHOUSE-2]. 2017-12-09 20:32:18 +03:00
Alexey Milovidov
741a6e0066 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-08 03:50:25 +03:00
Alexey Milovidov
be72c247fe Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 15:09:55 +03:00
Alexey Milovidov
20151285e0 Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 08:53:23 +03:00
Alexey Milovidov
acd78e4891 Better [#CLICKHOUSE-2]. 2017-12-02 00:13:25 +03:00
Nikolai Kochetov
985e449bd3 added IDataType::updateAvgValueSizeHints; renamed PODArray::allocated_size to PODArray::allocated_bytes; renamed renamed IColumn::allocatedSize to IColumn::allocatedBytes; removed IColumn.h from IDataType.h 2017-07-13 19:49:09 +03:00
Alexey Zatelepin
1cd936579d introduce IColumn::gather() [#CLICKHOUSE-3118] 2017-07-09 21:57:06 +03:00
Alexey Milovidov
9c5ddce06d Get rid of .hpp files [#CLICKHOUSE-2]. 2017-06-06 20:18:32 +03:00
Alexey Milovidov
310736cd7e Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
Alexey Milovidov
137ad95929 Changed tabs to spaces in code [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
Alexey Milovidov
8184846ee0 Added support for NULLS FIRST and LAST in ORDER BY (continued) [#CLICKHOUSE-2882]. 2017-03-12 16:16:48 +03:00
Alexey Milovidov
a564fa1872 Added support for NULLS FIRST and LAST in ORDER BY (continued) [#CLICKHOUSE-2882]. 2017-03-12 16:01:19 +03:00
Alexey Milovidov
7532a1d564 Added support for NULLS FIRST and LAST in ORDER BY [#CLICKHOUSE-2882]. 2017-03-12 15:56:59 +03:00