stoneatom / stonedb

StoneDB is an Open-Source MySQL HTAP and MySQL-Native DataBase for OLTP, Real-Time Analytics, a counterpart of MySQLHeatWave. (https://stonedb.io)
https://stonedb.io/
GNU General Public License v2.0
862 stars 139 forks source link

bug: the function JSON_ARRAY() returns wrong result #886

Open davidshiz opened 1 year ago

davidshiz commented 1 year ago

Have you read the Contributing Guidelines on issues?

Please confirm if bug report does NOT exists already ?

Describe the problem

The result returned by the function JSON_ARRAY() is incorrect The wrong result is as follows:

mysql> select * from t1;
+------+
| a    |
+------+
| 1    |
+------+
1 row in set (0.00 sec)
mysql> SELECT JSON_ARRAY(a) FROM t1;
+---------------+
| JSON_ARRAY(a) |
+---------------+
|               |
+---------------+
1 row in set (0.01 sec)

Expected behavior

mysql> SELECT JSON_ARRAY(a) FROM t1;
+---------------+
| JSON_ARRAY(a) |
+---------------+
| ["1"]         |
+---------------+
1 row in set (0.01 sec)

How To Reproduce

CREATE TABLE t1(a text);
INSERT INTO t1 VALUES('1');
SELECT JSON_ARRAY(a) FROM t1;

Environment

root@localhost:/# /stonedb57/install/bin/mysqld --version
/stonedb57/install/bin/mysqld  Ver 5.7.36-StoneDB for Linux on x86_64 (build-)
build information as follow:
        Repository address: https://github.com/stoneatom/stonedb.git:stonedb-5.7-dev
        Branch name: stonedb-5.7-dev
        Last commit ID: d0c2e01b6
        Last commit time: Date:   Wed Nov 2 19:58:00 2022 +0800
        Build time: Date: Sun 06 Nov 2022 08:50:06 AM UTC
root@ub01:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"

Are you interested in submitting a PR to solve the problem?

wisehead commented 1 year ago

the current version doesn't support json type, change it to a feature.