ClickHouse® is a real-time analytics DBMS
Go to file
Robert Schulze 20bb8a248e
Prepare server-side BridgeHelper for catboost integration
Wall of text, sorry, but I also had to document some stuff for myself:

There are three ways to communicate data using HTTP:
- the HTTP verb: for our purposes, PUT and GET,
- the HTTP path: '/ping', '/request' etc.,
- the HTTP URL parameter(s), e.g. 'method=libNew&dictionary_id=1234'

The bridge will use different handlers for communication with the
external dictionary library and for communication with the catboost
library. Handlers are created based on a combination of the HTTP verb
and the HTTP method. More specifically, there will be combinations
- GET + '/extdict_ping'
- PUT + '/extdict_request'
- GET + '/catboost_ping'
- PUT + '/catboost_request'.
For each combination, the bridge expects a certain set of URL
parameters, e.g. for the first combination parameter "dictionary_id" is
expected.

Starting with this commit, the library-bridge creates handlers based on
the first two combinations (the latter two combinations will be added
later). This makes the handler creation mechanism consistent with it's
counterpart in xdbc-bridge.

For that, it was necessary to make both IBridgeHelper methods
"getMainURI()" and "getPingURI()" pure virtual so that derived classes
(LibraryBridgeHelper and XDBCBridgeHelper) must provide custom URLs with
custom paths.

Side note 1: Previously, LibraryBridgeHelper sent HTTP URL parameter
"method=ping" during handshake (PING) but the library-bridge ignored
that parameter. We now omit this parameter, i.e.
LibraryBridgeHelper::PING was removed. Again, this makes things
consistent with xdbc-bridge.

Side note 2: xdbc-bridge is unchanged in this commit. Therefore,
XDBCBridgeHelper now uses the HTTP paths previously in the base class.
For funny reason, XDBCBridgeHelper did not use
IBridgeHelper::getMainURI() - it generates the URLs by itself. I kept it
that way for now but provided an implementation of getMainURI() anyways.
2022-08-04 19:29:51 +00:00
.github More renamings 2022-08-01 07:05:39 +00:00
base Merge pull request #39430 from azat/getauxval-fix 2022-07-25 10:43:09 +02:00
benchmark Remove old file 2022-07-12 20:28:02 +02:00
cmake Performance check build AVX 2022-07-22 11:53:16 +00:00
contrib Revert "Update arrow to fix possible data race" 2022-08-01 22:18:34 +03:00
docker Merge pull request #39759 from ClickHouse/splitted-to-shared-renaming 2022-08-01 22:39:57 +02:00
docs Merge pull request #39794 from melvynator/patch-5 2022-08-01 19:10:15 +02:00
packages Merge pull request #38580 from ClickHouse/artifactory-arm64 2022-07-04 12:31:52 +02:00
programs Prepare server-side BridgeHelper for catboost integration 2022-08-04 19:29:51 +00:00
src Prepare server-side BridgeHelper for catboost integration 2022-08-04 19:29:51 +00:00
tests Typos 2022-08-04 19:27:38 +00:00
utils Fix clang-tidy in utils/examples 2022-07-29 11:36:51 +03:00
website add Dell PowerEdge R740XD results 2022-07-26 20:57:49 +02:00
.clang-format add BeforeLambdaBody to .clang-format 2022-02-11 16:51:45 +01:00
.clang-tidy Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.gitattributes mark test data as binary 2022-01-22 03:19:47 +03:00
.gitignore Add cmake page back to docs && fix /settings/settings in /zh 2022-04-24 16:47:19 -06:00
.gitmodules Merge pull request #39292 from zvonand/zvonand-b58-datatype 2022-07-24 18:09:40 +02:00
.pylintrc Cover deprecated bad-* pylint options with black 2022-06-08 14:18:28 +02:00
.vimrc Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.yamllint Drop truthy.check-keys from yamllint (does not supported on CI) 2021-02-21 06:15:36 +03:00
AUTHORS Update AUTHORS 2021-09-22 11:38:03 +03:00
CHANGELOG.md Update CHANGELOG.md 2022-07-25 12:29:18 -04:00
CMakeLists.txt Minor: Better variable name output 2022-07-31 07:44:25 +00:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md Mention ClickHouse CLA in CONTRIBUTING.md (#32697) 2021-12-14 03:47:19 +03:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
LICENSE Update year 2022-01-27 01:01:27 +03:00
PreLoad.cmake Do not override compiler if it had been already set 2022-07-06 08:51:57 +03:00
README.md Add URL for release webinar (#39796) 2022-08-01 22:09:28 +02:00
SECURITY.md Update SECURITY.md 2022-07-06 22:04:53 +10:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

  • Official website has a quick high-level overview of ClickHouse on the main page.
  • Tutorial shows how to set up and query a small ClickHouse cluster.
  • Documentation provides more in-depth information.
  • YouTube channel has a lot of content about ClickHouse in video format.
  • Slack and Telegram allow chatting with ClickHouse users in real-time.
  • Blog contains various ClickHouse-related articles, as well as announcements and reports about events.
  • Code Browser (Woboq) with syntax highlight and navigation.
  • Code Browser (github.dev) with syntax highlight, powered by github.dev.
  • Contacts can help to get your questions answered if there are any.

Upcoming events

  • v22.8 Release Webinar Original creator, co-founder, and CTO of ClickHouse Alexey Milovidov will walk us through the highlights of the release, provide live demos, and share vision into what is coming in the roadmap.