2018-08-07 17:57:44 +00:00
|
|
|
#include "ODBCBridge.h"
|
|
|
|
|
2024-07-11 22:00:47 +00:00
|
|
|
#include <iostream>
|
|
|
|
|
2018-08-07 17:57:44 +00:00
|
|
|
int mainEntryClickHouseODBCBridge(int argc, char ** argv)
|
|
|
|
{
|
|
|
|
DB::ODBCBridge app;
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return app.run(argc, argv);
|
|
|
|
}
|
|
|
|
catch (...)
|
|
|
|
{
|
|
|
|
std::cerr << DB::getCurrentExceptionMessage(true) << "\n";
|
|
|
|
auto code = DB::getCurrentExceptionCode();
|
2024-11-07 20:28:06 +00:00
|
|
|
return static_cast<UInt8>(code) ? code : 1;
|
2018-08-07 17:57:44 +00:00
|
|
|
}
|
|
|
|
}
|
2022-08-03 11:19:13 +00:00
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
|
|
|
std::string ODBCBridge::bridgeName() const
|
|
|
|
{
|
|
|
|
return "ODBCBridge";
|
|
|
|
}
|
|
|
|
|
|
|
|
ODBCBridge::HandlerFactoryPtr ODBCBridge::getHandlerFactoryPtr(ContextPtr context) const
|
|
|
|
{
|
2024-03-22 20:24:53 +00:00
|
|
|
return std::make_shared<ODBCBridgeHandlerFactory>("ODBCRequestHandlerFactory-factory", context);
|
2022-08-03 11:19:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|