CUBRID Engine
latest
|
#include <access_json_table.hpp>
Public Member Functions | |
column () | |
void | init () |
int | evaluate (const JSON_DOC &input, size_t ordinality) |
void | clear_xasl (bool is_final_clear=true) |
Public Attributes | |
tp_domain * | m_domain |
char * | m_path |
char * | m_column_name |
json_table_column_behavior | m_on_error |
json_table_column_behavior | m_on_empty |
db_value * | m_output_value_pointer |
json_table_column_function | m_function |
Private Member Functions | |
int | evaluate_extract (const JSON_DOC &input) |
int | evaluate_exists (const JSON_DOC &input) |
int | evaluate_ordinality (size_t ordinality) |
int | trigger_on_error (const JSON_DOC &input, const TP_DOMAIN_STATUS &status_cast, db_value &value_out) |
int | trigger_on_empty (db_value &value_out) |
Definition at line 46 of file access_json_table.hpp.
column::column | ( | void | ) |
Definition at line 107 of file access_json_table.cpp.
References init().
void column::clear_xasl | ( | bool | is_final_clear = true | ) |
Definition at line 233 of file access_json_table.cpp.
References db_make_null(), json_table_column_behavior::m_default_value, m_on_empty, m_on_error, m_output_value_pointer, NULL, and pr_clear_value().
Definition at line 205 of file access_json_table.cpp.
References assert, db_make_null(), ER_FAILED, evaluate_exists(), evaluate_extract(), evaluate_ordinality(), JSON_TABLE_EXISTS, JSON_TABLE_EXTRACT, JSON_TABLE_ORDINALITY, m_function, m_output_value_pointer, NO_ERROR, NULL, and pr_clear_value().
Referenced by cubscan::json_table::scanner::cursor::fetch_row().
Definition at line 169 of file access_json_table.cpp.
References assert, ASSERT_ERROR, db_json_contains_path(), db_make_short(), db_value_is_null(), DOMAIN_COMPATIBLE, ER_FAILED, m_domain, m_output_value_pointer, m_path, NO_ERROR, and tp_value_cast().
Referenced by evaluate().
Definition at line 127 of file access_json_table.cpp.
References assert, ASSERT_ERROR, db_json_extract_document_from_path(), db_make_json_from_doc_store_and_release(), db_value_is_null(), DOMAIN_COMPATIBLE, ER_FAILED, m_domain, m_output_value_pointer, m_path, NO_ERROR, pr_clear_value(), tp_value_cast(), trigger_on_empty(), and trigger_on_error().
Referenced by evaluate().
|
private |
Definition at line 195 of file access_json_table.cpp.
References assert, db_make_int(), DB_TYPE_INTEGER, pr_type::id, m_domain, m_output_value_pointer, NO_ERROR, and tp_domain::type.
Referenced by evaluate().
void column::init | ( | ) |
Definition at line 113 of file access_json_table.cpp.
References JSON_TABLE_EXTRACT, JSON_TABLE_RETURN_NULL, json_table_column_behavior::m_behavior, m_column_name, json_table_column_behavior::m_default_value, m_domain, m_function, m_on_empty, m_on_error, m_output_value_pointer, m_path, and NULL.
Referenced by column(), cubxasl::json_table::node::node(), cubxasl::json_table::spec_node::spec_node(), and stx_build().
|
private |
Definition at line 79 of file access_json_table.cpp.
References ARG_FILE_LINE, assert, db_make_null(), ER_ERROR_SEVERITY, ER_FAILED, ER_JSON_TABLE_ON_EMPTY_ERROR, er_set(), JSON_TABLE_DEFAULT_VALUE, JSON_TABLE_RETURN_NULL, JSON_TABLE_THROW_ERROR, json_table_column_behavior::m_behavior, m_column_name, json_table_column_behavior::m_default_value, m_on_empty, NO_ERROR, NULL, pr_clear_value(), and pr_clone_value().
Referenced by evaluate_extract().
|
private |
Definition at line 41 of file access_json_table.cpp.
References ARG_FILE_LINE, assert, db_json_get_raw_json_body_from_document(), db_make_null(), er_clear(), ER_ERROR_SEVERITY, ER_FAILED, ER_JSON_TABLE_ON_ERROR_INCOMP_DOMAIN, er_set(), cubmem::private_unique_ptr< T >::get(), JSON_TABLE_DEFAULT_VALUE, JSON_TABLE_RETURN_NULL, JSON_TABLE_THROW_ERROR, json_table_column_behavior::m_behavior, m_column_name, json_table_column_behavior::m_default_value, m_domain, m_on_error, m_path, NO_ERROR, NULL, pr_clear_value(), pr_clone_value(), pr_type_name(), and TP_DOMAIN_TYPE.
Referenced by evaluate_extract().
char* cubxasl::json_table::column::m_column_name |
Definition at line 50 of file access_json_table.hpp.
Referenced by init(), pt_create_json_table_column(), stx_build(), trigger_on_empty(), trigger_on_error(), and xts_process().
tp_domain* cubxasl::json_table::column::m_domain |
Definition at line 48 of file access_json_table.hpp.
Referenced by evaluate_exists(), evaluate_extract(), evaluate_ordinality(), init(), pt_create_json_table_column(), stx_build(), trigger_on_error(), xts_process(), and xts_sizeof().
json_table_column_function cubxasl::json_table::column::m_function |
Definition at line 57 of file access_json_table.hpp.
Referenced by evaluate(), init(), pt_create_json_table_column(), stx_build(), xasl_stream_compare(), xts_process(), and xts_sizeof().
json_table_column_behavior cubxasl::json_table::column::m_on_empty |
Definition at line 52 of file access_json_table.hpp.
Referenced by clear_xasl(), init(), pt_create_json_table_column(), stx_build(), trigger_on_empty(), xts_process(), and xts_sizeof().
json_table_column_behavior cubxasl::json_table::column::m_on_error |
Definition at line 51 of file access_json_table.hpp.
Referenced by clear_xasl(), init(), pt_create_json_table_column(), stx_build(), trigger_on_error(), xts_process(), and xts_sizeof().
db_value* cubxasl::json_table::column::m_output_value_pointer |
Definition at line 53 of file access_json_table.hpp.
Referenced by cubscan::json_table::scanner::clear_node_columns(), clear_xasl(), evaluate(), evaluate_exists(), evaluate_extract(), evaluate_ordinality(), init(), pt_create_json_table_column(), stx_build(), and xts_process().
char* cubxasl::json_table::column::m_path |
Definition at line 49 of file access_json_table.hpp.
Referenced by evaluate_exists(), evaluate_extract(), init(), cubxasl::json_table::node::init(), pt_create_json_table_column(), stx_build(), trigger_on_error(), and xts_process().