Hello Sergei,

On 05/25/2014 08:10 PM, Sergei Golubchik wrote:
Hi, Alexander!

On May 17, Alexander Barkov wrote:
Hello Monty,

We discussed extracting data in JSON format today,
to make it possible to return data as a single JSON value
(as a result set consisting of a single row and a single column):

SELECT id,name,address FROM users FOR JSON;

This can be built on the existing functionality.

"FOR JSON" is a result filter, something that gets the result of a query
and transforms it into something different, different set of columns
even.

Natirally, in MySQL language this should've been

   SELECT id,name,address FROM users PROCEDURE JSON;


We can make these two as synonyms:


SELECT id,name,address FROM users PROCEDURE JSON;

and

SELECT id,name,address FROM users FOR JSON;


so internally they map into the same thing.


And tada - it took only 15 years for a second useful procedure to appear :)


:)



Although, seriously, I don't expect PROCEDURE JSON to work out of the
box - procedure api is way too old and hardly ever used. I woldn't be
surprised if it's broken in many subtle ways.

At least this does not work:

select * from (select user from mysql.user procedure analyse())\G
ERROR 1221 (HY000): Incorrect usage of PROCEDURE and subquery

So it does need some hacking.
I think having JSON in subselects is important,
to be able to get one JSON value per record when needed
(instead of a single huge JSON value with one row and one column
bundling all records).



Regards,
Sergei


_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to