From be81e06543f7ded5c19c93ca49cb701fbccc027e Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 18 Oct 2026 20:33:37 +0200 Subject: [PATCH] cleanup: connect test --- .../connect/r/json_bson_file_priv.result | 15 ++- .../connect/mysql-test/connect/t/bson_udf.inc | 116 +++++++++--------- .../connect/t/json_bson_file_priv.test | 15 ++- .../connect/mysql-test/connect/t/json_udf.inc | 92 +++++++------- 4 files changed, 118 insertions(+), 120 deletions(-) diff --git a/storage/connect/mysql-test/connect/r/json_bson_file_priv.result b/storage/connect/mysql-test/connect/r/json_bson_file_priv.result index 34cbf8c972b..bcac8a879f4 100644 --- a/storage/connect/mysql-test/connect/r/json_bson_file_priv.result +++ b/storage/connect/mysql-test/connect/r/json_bson_file_priv.result @@ -118,35 +118,34 @@ ok # User without FILE privilege create user unprivileged@localhost; grant select ON *.* TO unprivileged@localhost; -connect unprivileged,localhost,unprivileged,,; -connection unprivileged; +connect unprivileged,localhost,unprivileged; # inside secure_file_priv: denied without FILE privilege -select json_file('MYSQL_TMP_DIR/bib0.json') IS NULL AS denied;; +select json_file('MYSQL_TMP_DIR/bib0.json') IS NULL AS denied; denied 1 Warnings: Warning 1105 Access denied: FILE privilege or secure_file_priv violation -select bson_file('MYSQL_TMP_DIR/biblio.json') IS NULL AS denied;; +select bson_file('MYSQL_TMP_DIR/biblio.json') IS NULL AS denied; denied 1 Warnings: Warning 1105 Access denied: FILE privilege or secure_file_priv violation -select jfile_make('{"test":1}', 'MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied;; +select jfile_make('{"test":1}', 'MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied; denied 1 Warnings: Warning 1105 Access denied: FILE privilege or secure_file_priv violation -select bfile_make('{"test":1}', 'MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied;; +select bfile_make('{"test":1}', 'MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied; denied 1 Warnings: Warning 1105 Access denied: FILE privilege or secure_file_priv violation -select jbin_file('MYSQL_TMP_DIR/bib0.json') IS NULL AS denied;; +select jbin_file('MYSQL_TMP_DIR/bib0.json') IS NULL AS denied; denied 1 Warnings: Warning 1105 Access denied: FILE privilege or secure_file_priv violation -select bbin_file('MYSQL_TMP_DIR/biblio.json') IS NULL AS denied;; +select bbin_file('MYSQL_TMP_DIR/biblio.json') IS NULL AS denied; denied 1 Warnings: diff --git a/storage/connect/mysql-test/connect/t/bson_udf.inc b/storage/connect/mysql-test/connect/t/bson_udf.inc index c4722722ef7..8572ec5cf52 100644 --- a/storage/connect/mysql-test/connect/t/bson_udf.inc +++ b/storage/connect/mysql-test/connect/t/bson_udf.inc @@ -9,64 +9,64 @@ if (!$HA_CONNECT_SO) { --skip Needs a dynamically built ha_connect.so } ---eval CREATE FUNCTION bson_test RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonvalue RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_make_array RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_array_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_make_object RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_key RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_list RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_object_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonset_def_prec RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonget_def_prec RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonset_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonget_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION bson_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION bson_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonlocate RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_contains RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsoncontains_path RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_get_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_delete_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonget_string RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonget_int RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bsonget_real RETURNS REAL SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_set_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_update_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_file RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bson_serialize RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bfile_make RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bfile_convert RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bfile_bjson RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_make_array RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_array_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION bbin_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION bbin_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_make_object RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_key RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_list RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_object_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_get_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_set_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_update_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_delete_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION bbin_file RETURNS STRING SONAME '$HA_CONNECT_SO'; +--eval CREATE FUNCTION bson_test RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonvalue RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_make_array RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_array_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_make_object RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_key RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_list RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_object_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonset_def_prec RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonget_def_prec RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonset_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonget_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION bson_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION bson_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonlocate RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_contains RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsoncontains_path RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_get_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_delete_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonget_string RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonget_int RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bsonget_real RETURNS REAL SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_set_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_update_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_file RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bson_serialize RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bfile_make RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bfile_convert RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bfile_bjson RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_make_array RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_array_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION bbin_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION bbin_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_make_object RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_key RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_list RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_object_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_get_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_set_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_update_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_delete_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION bbin_file RETURNS STRING SONAME '$HA_CONNECT_SO' --enable_query_log diff --git a/storage/connect/mysql-test/connect/t/json_bson_file_priv.test b/storage/connect/mysql-test/connect/t/json_bson_file_priv.test index 04c91184a94..ffb5ea38a68 100644 --- a/storage/connect/mysql-test/connect/t/json_bson_file_priv.test +++ b/storage/connect/mysql-test/connect/t/json_bson_file_priv.test @@ -71,22 +71,21 @@ select bbin_file(@fname) IS NOT NULL AS ok; create user unprivileged@localhost; grant select ON *.* TO unprivileged@localhost; ---connect(unprivileged,localhost,unprivileged,,) ---connection unprivileged +--connect unprivileged,localhost,unprivileged --echo # inside secure_file_priv: denied without FILE privilege --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select json_file('$MYSQL_TMP_DIR/bib0.json') IS NULL AS denied; +--eval select json_file('$MYSQL_TMP_DIR/bib0.json') IS NULL AS denied --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select bson_file('$MYSQL_TMP_DIR/biblio.json') IS NULL AS denied; +--eval select bson_file('$MYSQL_TMP_DIR/biblio.json') IS NULL AS denied --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select jfile_make('{"test":1}', '$MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied; +--eval select jfile_make('{"test":1}', '$MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select bfile_make('{"test":1}', '$MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied; +--eval select bfile_make('{"test":1}', '$MYSQL_TMP_DIR/out.json', 0) IS NULL AS denied --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select jbin_file('$MYSQL_TMP_DIR/bib0.json') IS NULL AS denied; +--eval select jbin_file('$MYSQL_TMP_DIR/bib0.json') IS NULL AS denied --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR ---eval select bbin_file('$MYSQL_TMP_DIR/biblio.json') IS NULL AS denied; +--eval select bbin_file('$MYSQL_TMP_DIR/biblio.json') IS NULL AS denied --disconnect unprivileged --connection default diff --git a/storage/connect/mysql-test/connect/t/json_udf.inc b/storage/connect/mysql-test/connect/t/json_udf.inc index 4f675023c44..b91865f8858 100644 --- a/storage/connect/mysql-test/connect/t/json_udf.inc +++ b/storage/connect/mysql-test/connect/t/json_udf.inc @@ -9,52 +9,52 @@ if (!$HA_CONNECT_SO) { --skip Needs a dynamically built ha_connect.so } ---eval CREATE FUNCTION json_make_array RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_array_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_make_object RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_object_key RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_object_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_object_list RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonvalue RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonset_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonget_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION json_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE AGGREGATE FUNCTION json_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonget_string RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonget_int RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonget_real RETURNS REAL SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsonlocate RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_file RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jfile_make RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsoncontains RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jsoncontains_path RETURNS INTEGER SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_get_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_set_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_update_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION json_serialize RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_array RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_array_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object_key RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object_add RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_object_list RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_get_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_set_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_update_item RETURNS STRING SONAME '$HA_CONNECT_SO'; ---eval CREATE FUNCTION jbin_file RETURNS STRING SONAME '$HA_CONNECT_SO'; +--eval CREATE FUNCTION json_make_array RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_array_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_make_object RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_object_key RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_object_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_object_list RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonvalue RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonset_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonget_grp_size RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION json_array_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE AGGREGATE FUNCTION json_object_grp RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonget_string RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonget_int RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonget_real RETURNS REAL SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsonlocate RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_locate_all RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_file RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jfile_make RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsoncontains RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jsoncontains_path RETURNS INTEGER SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_get_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_set_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_update_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION json_serialize RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_array RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_array_add_values RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_array_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_array_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object_nonull RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object_key RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object_add RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object_delete RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_object_list RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_get_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_item_merge RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_set_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_insert_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_update_item RETURNS STRING SONAME '$HA_CONNECT_SO' +--eval CREATE FUNCTION jbin_file RETURNS STRING SONAME '$HA_CONNECT_SO' --enable_query_log