data types TEXT, CHAR, VARCHAR, FLOAT and DOUBLE are not yet supported by vectorized path
This patch introduces an example for Google benchmarking suite to measure a perf diff
b/w legacy scan/filtering code and the templated version
On AMD64 machines, the fpu is 80 bits. The unused bits must be masked for memcmp to work properly. For other archetectures, we don't want to mask those bits.
* Adds CompressInterfaceLZ4 which uses LZ4 API for compress/uncompress.
* Adds CMake machinery to search LZ4 on running host.
* All methods which use static data and do not modify any internal data - become `static`,
so we can use them without creation of the specific object. This is possible, because
the header specification has not been modified. We still use 2 sections in header, first
one with file meta data, the second one with pointers for compressed chunks.
* Methods `compress`, `uncompress`, `maxCompressedSize`, `getUncompressedSize` - become
pure virtual, so we can override them for the other compression algos.
* Adds method `getChunkMagicNumber`, so we can verify chunk magic number
for each compression algo.
* Renames "s/IDBCompressInterface/CompressInterface/g" according to requirement.
* Use const uint8_t* instead of uint64_t.
* Turn off 'testExtentCrWOPreallocBin' test body since this test
turned off after MCOL-641 when CalpontSystemCatalog::BINARY type was removed.
* Move shared_components_tests to tests directory.
Binary NULL magic now consists of a series of BINARYEMPTYROW-s + BINARYNULL
in the end.
ByteStream now has hexbyte alias.
Added ColumnCommand::getEmptyRowValue to support 16 byte EMPTY values.
in particular, don't install anything and don't add any
targets if the main columnstore plugin target doesn't exist
(it happens if the plugin was disabled for any reason)
Systems with ccache will have gcc/g++ automatically wrapped by ccache
and there is no need inject 'ccache' into the build command like this.
No other part of the MariaDB Server nor in general other software have
any USE_CCACHE practice. To all of them ccache works transparently, and
extra code like this is unnecessay and just plain confusing.
This commit does not yet close MCOL-4117, but is a step forward in making
the code base compatible with using ccache in build systems in general.
1. reduce the number of cmake warnings
2. remove unused OLD policies
3. only warn about missing prerequisites once
4. start cmake output from columnstore version