diff options
| author | AlexSm <[email protected]> | 2024-01-04 15:09:05 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-01-04 15:09:05 +0100 |
| commit | dab291146f6cd7d35684e3a1150e5bb1c412982c (patch) | |
| tree | 36ef35f6cacb6432845a4a33f940c95871036b32 /contrib/clickhouse/src/Functions/toJSONString.cpp | |
| parent | 63660ad5e7512029fd0218e7a636580695a24e1f (diff) | |
Library import 5, delete go dependencies (#832)
* Library import 5, delete go dependencies
* Fix yt client
Diffstat (limited to 'contrib/clickhouse/src/Functions/toJSONString.cpp')
| -rw-r--r-- | contrib/clickhouse/src/Functions/toJSONString.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/contrib/clickhouse/src/Functions/toJSONString.cpp b/contrib/clickhouse/src/Functions/toJSONString.cpp deleted file mode 100644 index de82d7cb50a..00000000000 --- a/contrib/clickhouse/src/Functions/toJSONString.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include <Columns/ColumnString.h> -#include <DataTypes/DataTypeString.h> -#include <Functions/FunctionFactory.h> -#include <Functions/IFunction.h> -#include <Formats/FormatFactory.h> -#include <IO/WriteBufferFromVector.h> -#include <IO/WriteHelpers.h> - -namespace DB -{ -namespace -{ - class FunctionToJSONString : public IFunction - { - public: - static constexpr auto name = "toJSONString"; - static FunctionPtr create(ContextPtr context) { return std::make_shared<FunctionToJSONString>(context); } - - explicit FunctionToJSONString(ContextPtr context) : format_settings(getFormatSettings(context)) {} - - String getName() const override { return name; } - - size_t getNumberOfArguments() const override { return 1; } - - DataTypePtr getReturnTypeImpl(const ColumnsWithTypeAndName &) const override { return std::make_shared<DataTypeString>(); } - - bool useDefaultImplementationForConstants() const override { return true; } - - bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & /*arguments*/) const override { return true; } - - ColumnPtr - executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & /*result_type*/, size_t input_rows_count) const override - { - auto res = ColumnString::create(); - ColumnString::Chars & data_to = res->getChars(); - ColumnString::Offsets & offsets_to = res->getOffsets(); - offsets_to.resize(input_rows_count); - - auto serializer = arguments[0].type->getDefaultSerialization(); - WriteBufferFromVector<ColumnString::Chars> json(data_to); - for (size_t i = 0; i < input_rows_count; ++i) - { - serializer->serializeTextJSON(*arguments[0].column, i, json, format_settings); - writeChar(0, json); - offsets_to[i] = json.count(); - } - - json.finalize(); - return res; - } - - private: - /// Affects only subset of part of settings related to json. - const FormatSettings format_settings; - }; -} - -REGISTER_FUNCTION(ToJSONString) -{ - factory.registerFunction<FunctionToJSONString>(); -} - -} |
