ClickHouse/programs/odbc-bridge
Robert Schulze 1a7727a254
Prefix overridden add_executable() command with "clickhouse_"
A simple HelloWorld program with zero includes except iostream triggers
a build of ca. 2000 source files. The reason is that ClickHouse's
top-level CMakeLists.txt overrides "add_executable()" to link all
binaries against "clickhouse_new_delete". This links against
"clickhouse_common_io", which in turn has lots of 3rd party library
dependencies ... Without linking "clickhouse_new_delete", the number of
compiled files for "HelloWorld" goes down to ca. 70.

As an example, the self-extracting-executable needs none of its current
dependencies but other programs may also benefit.

In order to restore access to the original "add_executable()", the
overriding version is now prefixed. There is precedence for a
"clickhouse_" prefix (as opposed to "ch_"), for example
"clickhouse_split_debug_symbols". In general prefixing makes sense also
because overriding CMake commands relies on undocumented behavior and is
considered not-so-great practice (*).

(*) https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/
2022-07-11 19:36:18 +02:00
..
tests Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
CMakeLists.txt Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
ColumnInfoHandler.cpp Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
ColumnInfoHandler.h Fix w/o ODBC build 2022-01-20 10:02:02 +03:00
getIdentifierQuote.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
getIdentifierQuote.h Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
HandlerFactory.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
HandlerFactory.h Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-11 21:36:08 +00:00
IdentifierQuoteHandler.cpp Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
IdentifierQuoteHandler.h Fix w/o ODBC build 2022-01-20 10:02:02 +03:00
MainHandler.cpp Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
MainHandler.h Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-11 21:36:08 +00:00
odbc-bridge.cpp Move all folders inside /dbms one level up (#9974) 2020-04-02 02:51:21 +03:00
ODBCBlockInputStream.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
ODBCBlockInputStream.h Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
ODBCBlockOutputStream.cpp base should not depend on Common 2022-04-29 10:26:35 +08:00
ODBCBlockOutputStream.h Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
ODBCBridge.cpp Switch to nanodbc 2021-03-22 12:37:05 +00:00
ODBCBridge.h base should not depend on Common 2022-04-29 10:26:35 +08:00
ODBCPooledConnectionFactory.h Better error messafe 2022-06-24 01:05:33 +02:00
PingHandler.cpp Make Poco HTTP Server zero-copy again (#19516) 2021-02-19 15:51:26 +03:00
PingHandler.h Make Poco HTTP Server zero-copy again (#19516) 2021-02-19 15:51:26 +03:00
SchemaAllowedHandler.cpp Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
SchemaAllowedHandler.h Fix w/o ODBC build 2022-01-20 10:02:02 +03:00
validateODBCConnectionString.cpp Rename "common" to "base" 2021-10-02 10:13:14 +03:00
validateODBCConnectionString.h Move all folders inside /dbms one level up (#9974) 2020-04-02 02:51:21 +03:00