#ColumnStore Server (version 1.0) This is the server part of MariaDB ColumnStore 1.0.1 MariaDB ColumnStore 1.0.1 is the development version of MariaDB ColumnStore. It is built by porting InfiniDB 4.6.2 on MariaDB 10.1.14 and adding entirely new features not found anywhere else.
###Alpha release notice MariaDB ColumnStore 1.0.1 is an Alpha release. This is the first MariaDB ColumnStore release, not all features planned for the MariaDB ColumnStore 1.0 series are included in this release.
A few things to notice:
- Do not use alpha releases on production systems.
- The building of the ColumnStore engine 1.0.1 needs a special build environment. We're working on making it available for everyone to build.
Additional features and product enhancements will be pushed in future releases.
##The structure of this repository is:
- Branch "master" - this is the latest released version of the source code. Each major release is tagged.
- Branch "development" - this is the mainline development branch. All code in this branch should have unit tests.
- Branch "mcol-xxx" - these are specific bug and feature branches. These are merged into development which is merged to master.
MariaDB columnstore server and the storage/execution engine are in separate repositories, but the engine repository is integrated into the server repository using a git "sub repository". The server currently uses CMake but the engine is still based on autotools.
##Building the master branch The current (1.0.1) master branch does not build properly. This has been rectified in the development branch and once version 1.0.2 is released, building the master branch will work correctly.
##Building development branch
Currently building has only been certified on CentOS 7.0. Building on other platforms will be supported in a later release.
Currently ancillary ColumnStore adminstrative scripts and tools used a fixed path into /usr/local/mariadb/columnstore. This is the only supported CMake/Autotools "prefix" supported at this time, and the proper prefixes are defaulted for the product.
To build the current development branch
- git checkout https://github.com/mariadb-corporation/mariadb-columnstore-server.git
- cd mariadb-columnstore-server
- git checkout development # switch to development code
- git submodule update --init # pull in engine code
- cmake . # note that out-of-tree builds are currently not supported. This will be resolved in a later release
- make -jN # N is the number of concurrent build processes and should likely be the number of cores available
- sudo make install
- cd mariadb-columnstore-engine
- ./configure
- make -jN # same as above with respect to concurrent processes
- sudo make install
To develop a new branch/feature/pull request
- fork the server
- fork the engine
- git checkout develop #branch in server
- git submodule update --init
- git branch new-branch-name (this can be in engine or server code)
- git checkout new-branch-name
- edit source files
- git commit -m 'meaningful checkin comment'
- git push -u origin new-branch-name
- issue pull request for merge from new-branch-name into develop
- MariaDB ColumnStore team will evaluate the changes and may request further development or changes before merge