[feature](jsonb) rename JSONB type name and function name to JSON (#19774)

To be more compatible with MySQL, rename JSONB type name and function name to JSON.

The old JSONB type name and jsonb_xx function can still be used for backward compatibility.

There is a function jsonb_extract remained since json_extract is used by json string function and more work need to change it. It will be changed further.
This commit is contained in:
Kang
2023-05-18 16:16:52 +08:00
committed by GitHub
parent a2c9ed7be8
commit 294599ee45
29 changed files with 10090 additions and 438 deletions

View File

@ -82,7 +82,8 @@ private:
bool has_const_default_value = false;
public:
static constexpr auto name = "jsonb_parse";
static constexpr auto name = "json_parse";
static constexpr auto alias = "jsonb_parse";
static FunctionPtr create() { return std::make_shared<FunctionJsonbParseBase>(); }
String get_name() const override {
@ -328,6 +329,7 @@ template <typename Impl>
class FunctionJsonbExtract : public IFunction {
public:
static constexpr auto name = Impl::name;
static constexpr auto alias = Impl::alias;
static FunctionPtr create() { return std::make_shared<FunctionJsonbExtract>(); }
String get_name() const override { return name; }
size_t get_number_of_arguments() const override { return 2; }
@ -760,39 +762,48 @@ struct JsonbTypeType {
};
struct JsonbExists : public JsonbExtractImpl<JsonbTypeExists> {
static constexpr auto name = "jsonb_exists_path";
static constexpr auto name = "json_exists_path";
static constexpr auto alias = "jsonb_exists_path";
};
struct JsonbExtractIsnull : public JsonbExtractImpl<JsonbTypeNull> {
static constexpr auto name = "jsonb_extract_isnull";
static constexpr auto name = "json_extract_isnull";
static constexpr auto alias = "jsonb_extract_isnull";
};
struct JsonbExtractBool : public JsonbExtractImpl<JsonbTypeBool> {
static constexpr auto name = "jsonb_extract_bool";
static constexpr auto name = "json_extract_bool";
static constexpr auto alias = "jsonb_extract_bool";
};
struct JsonbExtractInt : public JsonbExtractImpl<JsonbTypeInt> {
static constexpr auto name = "jsonb_extract_int";
static constexpr auto name = "json_extract_int";
static constexpr auto alias = "jsonb_extract_int";
};
struct JsonbExtractBigInt : public JsonbExtractImpl<JsonbTypeInt64> {
static constexpr auto name = "jsonb_extract_bigint";
static constexpr auto name = "json_extract_bigint";
static constexpr auto alias = "jsonb_extract_bigint";
};
struct JsonbExtractDouble : public JsonbExtractImpl<JsonbTypeDouble> {
static constexpr auto name = "jsonb_extract_double";
static constexpr auto name = "json_extract_double";
static constexpr auto alias = "jsonb_extract_double";
};
struct JsonbExtractString : public JsonbExtractStringImpl<JsonbTypeString> {
static constexpr auto name = "jsonb_extract_string";
static constexpr auto name = "json_extract_string";
static constexpr auto alias = "jsonb_extract_string";
};
struct JsonbExtractJsonb : public JsonbExtractStringImpl<JsonbTypeJson> {
static constexpr auto name = "jsonb_extract";
static constexpr auto alias = "jsonb_extract";
};
struct JsonbType : public JsonbExtractStringImpl<JsonbTypeType> {
static constexpr auto name = "jsonb_type";
static constexpr auto name = "json_type";
static constexpr auto alias = "jsonb_type";
};
using FunctionJsonbExists = FunctionJsonbExtract<JsonbExists>;
@ -807,35 +818,59 @@ using FunctionJsonbExtractString = FunctionJsonbExtract<JsonbExtractString>;
using FunctionJsonbExtractJsonb = FunctionJsonbExtract<JsonbExtractJsonb>;
void register_function_jsonb(SimpleFunctionFactory& factory) {
factory.register_function<FunctionJsonbParse>("jsonb_parse");
factory.register_function<FunctionJsonbParseErrorNull>("jsonb_parse_error_to_null");
factory.register_function<FunctionJsonbParseErrorValue>("jsonb_parse_error_to_value");
factory.register_function<FunctionJsonbParseErrorInvalid>("jsonb_parse_error_to_invalid");
factory.register_function<FunctionJsonbParse>(FunctionJsonbParse::name);
factory.register_alias(FunctionJsonbParse::name, FunctionJsonbParse::alias);
factory.register_function<FunctionJsonbParseErrorNull>("json_parse_error_to_null");
factory.register_alias("json_parse_error_to_null", "jsonb_parse_error_to_null");
factory.register_function<FunctionJsonbParseErrorValue>("json_parse_error_to_value");
factory.register_alias("json_parse_error_to_value", "jsonb_parse_error_to_value");
factory.register_function<FunctionJsonbParseErrorInvalid>("json_parse_error_to_invalid");
factory.register_alias("json_parse_error_to_invalid", "jsonb_parse_error_to_invalid");
factory.register_function<FunctionJsonbParseNullable>("jsonb_parse_nullable");
factory.register_function<FunctionJsonbParseNullable>("json_parse_nullable");
factory.register_alias("json_parse_nullable", "jsonb_parse_nullable");
factory.register_function<FunctionJsonbParseNullableErrorNull>(
"jsonb_parse_nullable_error_to_null");
"json_parse_nullable_error_to_null");
factory.register_alias("json_parse_nullable_error_to_null",
"jsonb_parse_nullable_error_to_null");
factory.register_function<FunctionJsonbParseNullableErrorValue>(
"jsonb_parse_nullable_error_to_value");
"json_parse_nullable_error_to_value");
factory.register_alias("json_parse_nullable_error_to_value",
"jsonb_parse_nullable_error_to_value");
factory.register_function<FunctionJsonbParseNullableErrorInvalid>(
"jsonb_parse_nullable_error_to_invalid");
"json_parse_nullable_error_to_invalid");
factory.register_alias("json_parse_nullable_error_to_invalid",
"json_parse_nullable_error_to_invalid");
factory.register_function<FunctionJsonbParseNotnull>("jsonb_parse_notnull");
factory.register_function<FunctionJsonbParseNotnull>("json_parse_notnull");
factory.register_alias("json_parse_notnull", "jsonb_parse_notnull");
factory.register_function<FunctionJsonbParseNotnullErrorValue>(
"jsonb_parse_notnull_error_to_value");
"json_parse_notnull_error_to_value");
factory.register_alias("json_parse_notnull", "jsonb_parse_notnull");
factory.register_function<FunctionJsonbParseNotnullErrorInvalid>(
"jsonb_parse_notnull_error_to_invalid");
"json_parse_notnull_error_to_invalid");
factory.register_alias("json_parse_notnull_error_to_invalid",
"jsonb_parse_notnull_error_to_invalid");
factory.register_function<FunctionJsonbExists>();
factory.register_alias(FunctionJsonbExists::name, FunctionJsonbExists::alias);
factory.register_function<FunctionJsonbType>();
factory.register_alias(FunctionJsonbType::name, FunctionJsonbType::alias);
factory.register_function<FunctionJsonbExtractIsnull>();
factory.register_alias(FunctionJsonbExtractIsnull::name, FunctionJsonbExtractIsnull::alias);
factory.register_function<FunctionJsonbExtractBool>();
factory.register_alias(FunctionJsonbExtractBool::name, FunctionJsonbExtractBool::alias);
factory.register_function<FunctionJsonbExtractInt>();
factory.register_alias(FunctionJsonbExtractInt::name, FunctionJsonbExtractInt::alias);
factory.register_function<FunctionJsonbExtractBigInt>();
factory.register_alias(FunctionJsonbExtractBigInt::name, FunctionJsonbExtractBigInt::alias);
factory.register_function<FunctionJsonbExtractDouble>();
factory.register_alias(FunctionJsonbExtractDouble::name, FunctionJsonbExtractDouble::alias);
factory.register_function<FunctionJsonbExtractString>();
factory.register_alias(FunctionJsonbExtractString::name, FunctionJsonbExtractString::alias);
factory.register_function<FunctionJsonbExtractJsonb>();
// factory.register_alias(FunctionJsonbExtractJsonb::name, FunctionJsonbExtractJsonb::alias);
}
} // namespace doris::vectorized